CodeGym /コース /Docker SELF /コマンドラインの基礎(CLI):コマンドの構造とターミナルの使い方

コマンドラインの基礎(CLI):コマンドの構造とターミナルの使い方

Docker SELF
レベル 1, レッスン 4
使用可能

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(ファイル一覧を表示)
  • オプション(フラグとも):コマンドの動作を変える。例:-llsの詳細表示)
  • 引数:コマンドに渡す追加データ。例:ファイルやフォルダのパス

例:

ls -l /home

ここでは:

  • ls — コマンド
  • -l — 詳細表示のオプション
  • /home — 引数(中身を見たいフォルダ)

3. ナビゲーションとCLIの基本コマンド

まずはシステムとやり取りする一番シンプルなコマンドから。

1. 自分は誰?どこにいる?

  • whoami:今のユーザー名を表示。

    $ whoami
    student
    
  • pwd(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で解決してみよう。

課題:

  1. 今のユーザーを調べる
  2. ホームディレクトリに移動する
  3. 中身を見てみる
  4. test_folderというフォルダを作る
  5. フォルダができたか確認する

解答例:


# 今のユーザーを調べる
whoami

# ホームディレクトリに移動
cd ~

# ディレクトリの中身を見る
ls

# フォルダを作成
mkdir test_folder

# できたか確認
ls -l

ステップの説明:

  1. whoamiで、どのユーザーで作業してるか確認した。
  2. cd ~でホームディレクトリに移動。~は今のユーザーのホームフォルダを指すよ。
  3. lsでフォルダ作成前後の中身を確認した。

6. よくあるミスとその回避法

コマンドラインを使うと、特に最初はミスがつきもの。よくあるパターンを紹介するね:

  • ファイル名やフォルダ名にスペースがある場合。スペースがあるときは必ずクォートで囲もう。例:

    mkdir "My Folder"
    
  • パスが間違ってる場合No such file or directoryと出たら、指定したパスが存在しないってこと。

    cd /unknown/path
    
  • コマンドのタイプミス。ターミナルはミスに厳しい:lsslsは全然違う(もしくはそんなコマンドない)。


7. なんでこれが必要なの?

CLIはどんなシステム管理にも使える強力なツール。サーバー設定から自動化スクリプト作成まで、どこでも使われてる。面接でもターミナルでの操作を聞かれることが多いから、今学んでる知識は絶対役立つよ。

さらにCLIを使えば、gitみたいなバージョン管理システムの操作や、サーバーアプリ開発、自動化スクリプト作成もできる。コマンドの構造やフォルダ移動、基本ショートカットの理解から全てが始まるんだ。

ちょっと練習しよう

次の課題にチャレンジしてみて:

  1. 今の日付を調べる
  2. logsというフォルダを作る
  3. その中に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をインストールするのがおすすめ。

  1. IntelliJ IDEAのインストール方法
  2. 最初のプロジェクトの作り方

CodeGymプラグインはJetbrainsのマーケットプレイスから、IDE内で直接インストールできるよ。

  1. 「設定」メニューに入る。Windows/LinuxはFile - Settings、MacOSはIntelliJ IDEA - Preferences。設定が見つからない場合は、何かプロジェクトを開くか新規作成してね。

  2. 出てきたウィンドウのサイドメニューでPluginsを選んで、Marketplaceタブを開く。検索欄にcodegymと入力。

  3. プラグインを選んで、Installボタンを押す。
  4. IntelliJ IDEAを再起動(Restart IDE)して、プラグインを使い始めよう。
  5. ちょっとUIが変わって、上のバーにアカウントにログインボタンが出てくるよ。
  6. クリックするとアカウントログイン用のウィンドウが開くので、シークレットキーを入力しよう。シークレットキーは「設定」→「セキュリティとログイン」で確認できるよ。

  7. 新しい課題を開くには、左の縦パネルでTasksをクリックして、左サイドバーの課題カードをクリック、ポップアップで開くを押す:

  8. 2つのタブがあるウィンドウが開くよ。1つは課題内容、もう1つはコード入力用。shellcheckからのメッセージが出たらOKしよう。
  9. あとは課題の解答を書いて、Validateボタンで提出、またはローカルで実行してみよう。

プラグインのインストール完了!これで課題に取り組めるよ。

課題の同期(サイト⇔プラグイン)

課題リストとそのステータスは自動で更新される。5分ごと、または何か課題を提出した後(CodeGymサーバー)にね。

だからWebで課題を解決したら、プラグイン側でも解決済みになる。今すぐステータスを更新したい場合は、右上のアバターをクリックして、ドロップダウンメニューから課題を同期を選ぼう:

プラグインの初心者モード

これはIntelliJ IDEAや他の開発環境に慣れていない(または経験が少ない)人向けの簡易バージョン。いくつかのIntelliJ IDEA機能が隠されてる。モードをオフにしたい場合は、右上のアバターをクリックして、ドロップダウンメニューから設定を選ぼう:

PROモードでプラグインのナビゲーションパネルを隠す方法

設定(⚙️)を押して、「プラグインのナビゲーションパネルを表示」のチェックを外そう:

1
タスク
Docker SELF, レベル 1, レッスン 4
ロック未解除
現在のユーザーを特定する
現在のユーザーを特定する
1
タスク
Docker SELF, レベル 1, レッスン 4
ロック未解除
現在のディレクトリを特定する
現在のディレクトリを特定する
1
タスク
Docker SELF, レベル 1, レッスン 4
ロック未解除
作成と移動
作成と移動
1
タスク
Docker SELF, レベル 1, レッスン 4
ロック未解除
作成と移動
作成と移動
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION