1. Linuxコマンドラインとの出会い
なぜコマンドラインなの?
深く入る前に、まず一番大事な質問に答えよう:LinuxにはカッコいいGUIもあるのに、なんでわざわざコマンドラインを使うの?コマンドライン(Command Line Interface, CLI)は、プロやシステム管理者、プログラマーのためのツールなんだ。CLIを使えば、作業が速くなるし、面倒な作業も自動化できるし、キーボードから手を離さずに裏技みたいなこともできる。CLIはLinuxの世界でのスーパーパワーみたいなもので、効率よくなれるよ。
ターミナル、シェル、CLIって何?
最初のコマンドを打つ前に、ターミナルの裏側の魔法をちょっと見てみよう。

1. ターミナル
ターミナルは、コマンドラインにアクセスできるプログラムだよ。テキストでOSとやり取りできる。Linuxでよく使われるターミナルはこんな感じ:
- GNOME Terminal(GNOME用)
- Konsole(KDE用)
- xterm(伝説的だけど古い)
- Windows Terminal(WSL用)
2. シェル(Shell)
シェルは、コマンドを解釈してOSに伝えるソフトウェア。Linuxで一番人気なのはBash(Bourne Again Shell)。他にも:
- Zsh:カスタマイズ好きに人気の高機能シェル
- Sh:クラシックなUnixシェル(ミニマル)
最初はBashを使うよ。これが標準だからね。
2. コマンドの構造
CLIのコマンドには決まったフォーマットがある。これを理解するのが成功のカギ!
コマンドの基本フォーマット
コマンドは3つのパートでできてる:
[コマンド] [オプション] [引数]
- コマンド:システムにやってほしいこと。例:
ls(ファイル一覧を表示) - オプション(フラグとも):コマンドの動作を変える。例:
-l(lsの詳細表示) - 引数:コマンドに渡す追加データ。例:ファイルやフォルダのパス
例:
ls -l /home
ここでは:
ls— コマンド-l— 詳細表示のオプション/home— 引数(中身を見たいフォルダ)
3. ナビゲーションとCLIの基本コマンド
まずはシステムとやり取りする一番シンプルなコマンドから。
1. 自分は誰?どこにいる?
whoami:今のユーザー名を表示。$ whoami studentpwd(print working directory):今いるディレクトリを表示。$ pwd /home/student
ほとんどのUnix/Linuxシェルでは、$はターミナルのプロンプト(入力待ち)として使われるよ。これは「コマンド受け付けるよ」って合図。$は、ユーザーが入力するコマンドと、その出力を区別するためにも使われる。
2. 周りを見てみよう
ls(list):今いるディレクトリの中身を表示。$ ls Documents Downloads Music便利なオプション:
-l:ファイルやフォルダの詳細情報-a:隠しファイルも表示
例:
ls -la
3. フォルダを移動する
cd(change directory):ディレクトリを移動できる。$ cd /home $ pwd /home
4. ターミナルのショートカットキー
コマンドラインには便利なキーコンビネーションがあるよ:
Ctrl+C:今実行中のコマンドを中断Ctrl+D:今のセッションを終了Tab:ファイルやフォルダの自動補完。めっちゃ便利だからどんどん使おう!Arrow Up/Down:直近のコマンド履歴を上下で切り替え
豆知識:ハッカー気分を味わいたいなら、Ctrl+Cを押して横目で画面を見てみて。これが理想のスタイル(笑)
5. シンプルなコマンド例:さあやってみよう!
簡単な実践課題を作って、CLIで解決してみよう。
課題:
- 今のユーザーを調べる
- ホームディレクトリに移動する
- 中身を見てみる
test_folderというフォルダを作る- フォルダができたか確認する
解答例:
# 今のユーザーを調べる
whoami
# ホームディレクトリに移動
cd ~
# ディレクトリの中身を見る
ls
# フォルダを作成
mkdir test_folder
# できたか確認
ls -l
ステップの説明:
whoamiで、どのユーザーで作業してるか確認した。cd ~でホームディレクトリに移動。~は今のユーザーのホームフォルダを指すよ。lsでフォルダ作成前後の中身を確認した。
6. よくあるミスとその回避法
コマンドラインを使うと、特に最初はミスがつきもの。よくあるパターンを紹介するね:
ファイル名やフォルダ名にスペースがある場合。スペースがあるときは必ずクォートで囲もう。例:
mkdir "My Folder"パスが間違ってる場合。
No such file or directoryと出たら、指定したパスが存在しないってこと。cd /unknown/pathコマンドのタイプミス。ターミナルはミスに厳しい:
lssとlsは全然違う(もしくはそんなコマンドない)。
7. なんでこれが必要なの?
CLIはどんなシステム管理にも使える強力なツール。サーバー設定から自動化スクリプト作成まで、どこでも使われてる。面接でもターミナルでの操作を聞かれることが多いから、今学んでる知識は絶対役立つよ。
さらにCLIを使えば、gitみたいなバージョン管理システムの操作や、サーバーアプリ開発、自動化スクリプト作成もできる。コマンドの構造やフォルダ移動、基本ショートカットの理解から全てが始まるんだ。
ちょっと練習しよう
次の課題にチャレンジしてみて:
- 今の日付を調べる
logsというフォルダを作る- その中に
log.txtファイルを作って、今の日付を書き込む
解答例
# 今の日付を調べる
date
# logsフォルダを作成
mkdir logs
# log.txtに日付を書き込む
date > logs/log.txt
# ファイルの中身を確認
cat logs/log.txt
これで次のレベル、ファイルシステム操作に進む準備はバッチリ!
8. CodeGymプラグインって何?何のために使うの?
課題はWebサイトでも、JetBrainsのIDEにCodeGymプラグインとShell Script(普通はShell Scriptは最初から入ってる)を入れても解けるよ。
IDEがまだなければ、IntelliJ IDEA Community Editionをインストールするのがおすすめ。
- IntelliJ IDEAのインストール方法。
- 最初のプロジェクトの作り方。
CodeGymプラグインはJetbrainsのマーケットプレイスから、IDE内で直接インストールできるよ。
「設定」メニューに入る。Windows/Linuxは
File - Settings、MacOSはIntelliJ IDEA - Preferences。設定が見つからない場合は、何かプロジェクトを開くか新規作成してね。出てきたウィンドウのサイドメニューでPluginsを選んで、Marketplaceタブを開く。検索欄にcodegymと入力。
- プラグインを選んで、Installボタンを押す。
- IntelliJ IDEAを再起動(Restart IDE)して、プラグインを使い始めよう。
- ちょっとUIが変わって、上のバーにアカウントにログインボタンが出てくるよ。
新しい課題を開くには、左の縦パネルで
Tasksをクリックして、左サイドバーの課題カードをクリック、ポップアップで開くを押す:- 2つのタブがあるウィンドウが開くよ。1つは課題内容、もう1つはコード入力用。shellcheckからのメッセージが出たらOKしよう。
- あとは課題の解答を書いて、
Validateボタンで提出、またはローカルで実行してみよう。
クリックするとアカウントログイン用のウィンドウが開くので、シークレットキーを入力しよう。シークレットキーは「設定」→「セキュリティとログイン」で確認できるよ。
プラグインのインストール完了!これで課題に取り組めるよ。
課題の同期(サイト⇔プラグイン)
課題リストとそのステータスは自動で更新される。5分ごと、または何か課題を提出した後(CodeGymサーバー)にね。
だからWebで課題を解決したら、プラグイン側でも解決済みになる。今すぐステータスを更新したい場合は、右上のアバターをクリックして、ドロップダウンメニューから課題を同期を選ぼう:
プラグインの初心者モード
これはIntelliJ IDEAや他の開発環境に慣れていない(または経験が少ない)人向けの簡易バージョン。いくつかのIntelliJ IDEA機能が隠されてる。モードをオフにしたい場合は、右上のアバターをクリックして、ドロップダウンメニューから設定を選ぼう:
PROモードでプラグインのナビゲーションパネルを隠す方法
設定(⚙️)を押して、「プラグインのナビゲーションパネルを表示」のチェックを外そう:

GO TO FULL VERSION