こんにちは、かつコーチです。
前回は、/etcや/varといったLinuxのディレクトリ構成を解説しました。
今回はいよいよ、ディレクトリを実際に操作する基本コマンドを紹介します。
ls・cd・pwd・mkdirの4つは、Linux操作の中で最も使う頻度が高いコマンドです。
この記事を読めば、ターミナル上でファイルやディレクトリを自在に行き来できるようになります。
ディレクトリ操作コマンドを覚える前に
コマンドの基本構文
Linuxのコマンドは、基本的に次のような構文で成り立っています。
コマンド名 [オプション] [対象]
例えばls -la /etcであれば、「lsという命令に、-laというオプションを付けて、/etcを対象に実行する」という意味になります。
オプションとは、コマンドの動作を細かく調整するための追加指定のことで、-(ハイフン)から始まるのが一般的です。
この構文パターンさえ理解しておけば、他のコマンドを覚えるときも迷いにくくなります。
まずは4つのコマンドの役割を一言で
| コマンド | 役割 |
|---|---|
pwd | 現在いるディレクトリを表示する |
ls | ディレクトリの中身を一覧表示する |
cd | ディレクトリを移動する |
mkdir | 新しいディレクトリを作成する |
この4つを使いこなせるようになると、ターミナル上での「今どこにいて」「何があって」「どこに行き」「何を作るか」が一通りできるようになります。
現在地とファイル一覧を確認する
pwd:現在のディレクトリを確認する
pwd(Print Working Directory)は、今自分がどのディレクトリにいるかを表示するコマンドです。
pwd
/home/katsu
前回の記事でも触れた通り、相対パスでの操作ミスを防ぐには、迷ったらまずpwdを打つ習慣が重要です。
ls:ディレクトリの中身を一覧表示する
ls(List)は、指定したディレクトリの中身を一覧表示するコマンドです。
# カレントディレクトリの中身を表示する
ls
# 特定のディレクトリを指定して表示する
ls /etc
よく使うオプションを組み合わせることで、表示内容を細かく調整できます。
# 隠しファイルも含めて、詳細情報付きで一覧表示する
ls -la
drwxr-xr-x 5 katsu katsu 4096 Sep 2 10:00 .
drwxr-xr-x 3 root root 4096 Sep 1 09:00 ..
-rw-r--r-- 1 katsu katsu 220 Sep 1 09:00 .bashrc
drwxr-xr-x 2 katsu katsu 4096 Sep 2 10:00 projects
-lは詳細情報(パーミッション・所有者・サイズ・更新日時)を表示するオプション、-aはドットで始まる隠しファイルも表示するオプションです。
.は現在のディレクトリ、..は1つ上の親ディレクトリを表しており、この2つはls -laをすると必ず表示されます。
ディレクトリを移動・作成する
cd:ディレクトリを移動する
cd(Change Directory)は、指定したディレクトリに移動するコマンドです。
# /var/logに移動する
cd /var/log
# 1つ上の階層に戻る
cd ..
# ホームディレクトリに戻る
cd
# 直前にいたディレクトリに戻る
cd -
cdは引数なしで実行すると自分のホームディレクトリに戻る、という挙動も覚えておくと便利です。
作業中に迷子になったときは、まずcdだけ打って一度ホームに戻る、というのも実践的な対処法です。
mkdir:新しいディレクトリを作成する
mkdir(Make Directory)は、新しいディレクトリを作成するコマンドです。
# projectsという名前のディレクトリを作成する
mkdir projects
深い階層のディレクトリを一気に作りたい場合は、-pオプションを使います。
# 途中の階層が存在しなくても、まとめて作成する
mkdir -p projects/app/src
-pを付けずにprojectsディレクトリが存在しない状態でmkdir projects/appを実行すると、「そのようなファイルやディレクトリはありません」というエラーになるため、多階層を一度に作るときは-pを付ける癖をつけておくと安心です。
つまずきやすいポイント:ディレクトリ名のスペースでコマンドが分割された話
私が初めてWindowsからLinuxに移行した際、フォルダ名に日本語やスペースを含めて作成し、思わぬエラーに悩んだ経験があります。
❌ Before:スペースを含むディレクトリ名をそのまま指定する
mkdir my project
このコマンドを実行すると、myとprojectという2つの別々のディレクトリが作成されてしまいます。
Linuxのシェルはスペースを「引数の区切り」として解釈するため、意図せず複数の引数として扱われてしまうのです。
Windowsのエクスプローラーでは「my project」という1つのフォルダ名として自然に扱えていたため、この挙動には最初戸惑いました。
✅ After:スペースをアンダースコアにするか、クォートで囲む
# アンダースコアで区切る(推奨)
mkdir my_project
# どうしてもスペースを使いたい場合はクォートで囲む
mkdir "my project"
サーバー運用の現場では、スペースを含まないファイル名・ディレクトリ名にするのが基本ルールになっているため、最初から_(アンダースコア)や-(ハイフン)で区切る習慣をつけておくのがおすすめです。
応用・一歩先の使い方
ls・cd・mkdirを組み合わせた実践例
実際の開発では、これらのコマンドを組み合わせて使う場面が多くあります。
# projectsディレクトリを作成して、そのまま移動する
mkdir my_app && cd my_app
# 中身が空であることを確認する
ls -la
# さらにサブディレクトリを作成する
mkdir -p src/components
&&を使って「作成に成功したら移動する」という流れを1行にまとめると、コマンド入力の手間を減らせます。
lsの出力を色分けで見やすくする
# ディレクトリとファイルを色分けして表示する
ls --color=auto
多くのディストリビューションでは初期状態から色分け表示が有効になっていますが、環境によって設定が異なる場合は、このオプションを覚えておくと便利です。
まとめ
この記事のポイント
pwdは現在地の確認、lsは中身の一覧表示、cdは移動、mkdirは作成というのが基本の役割分担ls -laで隠しファイルや詳細情報まで確認できるmkdir -pを使うと、存在しない階層もまとめて作成できる- ディレクトリ名にスペースを含めると意図しない挙動になるため、
_や-で区切るのが安全
次に読むべき記事
基本のディレクトリ操作を覚えたら、次はファイルのコピー・移動・削除など、より実践的なファイル操作コマンドに進みましょう。
→ 次の記事:ファイル操作コマンド(cp・mv・rm)で気をつけること
タグ: Linux, 初心者向け, 基本操作