【Linux】ディレクトリ操作の基本 (ls, cd, pwd, mkdir) の使い方まとめ

【Linux】ディレクトリ操作の基本 (ls, cd, pwd, mkdir) の使い方まとめ Linux

「あれ…?Linuxサーバーにログインしたけど、今どこにいるの!?」
「どうやってフォルダ(ディレクトリ)を移動するの…?」
「フォルダの中身を見るコマンドって何!?」
linux フォルダ作成 したいんだけど!」

Linuxサーバーを初めて操作する時、多くの人が最初に戸惑っちゃうのが、WindowsやmacOSみたいなグラフィカルな「フォルダ」や「アイコン」が存在しない、黒い画面(CUI: コマンドライン・インターフェース)での操作ですよね。

 

もしかして、Windowsならマウスでダブルクリックしたり、右クリックで「新規作成」を選んだりするカンタンな操作が、どうやったらいいのか分からなくて、もう途方に暮れていたり…?

わかります、わかります!私も全く同じ経験があります。
黒い画面に文字が並んでるだけで、「もしかして、変なコマンド打ったら壊れる…?」「どうやって操作するの…?」って、もうパニックになっちゃいますよね😥

 

でも、大丈夫です!

その焦る気持ち、よーくわかります。でも、怖がる必要はまったくありません!

これらの操作は、Linuxを扱う上で「呼吸」をするのと同じくらい、基本的で簡単なコマンドなんです。

Windowsでやっていることとまったく同じことを、Linuxではキーボードから「コマンド」っていう命令を打ち込むことで実行するだけなんですよ😲

 

この記事は、そんな「黒い画面こわい!」地獄に陥ってしまったあなたを救うための、Linuxの広大なファイルシステムを自由に探索し、操作するために絶対に欠かせない、以下の4つの「必須コマンド」について、その意味と使い方を徹底的に解説する「完全ガイド」です🕵️‍♀️✨

 

  • pwd (Print Working Directory)
    linux 現在のディレクトリ」はどこか、自分の現在地を確認するコマンド。
  • cd (Change Directory)
    linux cd」を使い、ディレクトリ(フォルダ)間を移動するコマンド。
  • mkdir (Make Directory)
    linux フォルダ作成」を行う、新しいディレクトリを作成するコマンド。
  • ls (List)
    linux ls オプション」を駆使し、ディレクトリの中身(ファイルやサブディレクトリ)を一覧表示するコマンド。

 

この記事は、Linuxコマンドの「一覧」ページから辿り着いた初心者のあなたが、ファイルシステム操作の全体像を掴むための「主要な受け皿」となることを目指しています。

私と一緒に、一つずつ冷静に確認していきましょうね🥰

 

スポンサーリンク
スポンサーリンク

Linuxディレクトリ操作の「地図」:階層構造の基本

 

ls や cd などのコマンドを学ぶ前に、まずLinuxのファイルシステムがどんな「地図」になってるのか、その全体像を理解する必要があります。

Windowsが C:\ ドライブや D:\ ドライブみたいに、物理ディスクごとに「起点」が分かれているのに対して、Linuxのファイルシステムは、たった一つの絶対的な頂点である「/(ルートディレクトリ)」から始まる、単一の巨大なツリー構造(階層構造)になってるんです。

すべてのファイルとディレクトリは、この /(ルート)ディレクトリの「枝」として存在しています。

まずは ls / コマンドを実行して、この大本のディレクトリに何があるかを見てみましょう。

 

[user@server ~]$ ls / bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr

 

たくさんのディレクトリが見えますが、これらはすべてLinuxシステムが動作するために重要な役割を持っています。

(ここではぜんぶを覚える必要はぜんぜんありませんよ!)

このツリー構造を理解する上で、特に重要な2つの「場所」の概念があります。

 

1. カレントディレクトリ(現在地)
あなたが今、コマンドを入力している「現在の場所」のことです。
ターミナルのプロンプト([user@server ~]$ の ~ の部分とか)に表示されることが多いですね。
これは pwd コマンドでいつでも正確に確認できます。

2. ホームディレクトリ(自分の家)
Linuxにログインしたときに、最初にいるディレクトリです。
一般ユーザーのホームディレクトリは、通常 /home/[ユーザー名](例: /home/user)になります。
root ユーザー(管理者)のホームディレクトリは /root です。
この場所は、あなたが自由にファイルを作成したり、設定を保存したりできる「自分の部屋」みたいなものです🏠
チルダ(~)っていう記号は、このホームディレクトリを示す特別なショートカットなんですよ。

 

Linuxの操作は、この「/(ルート)」っていう地図全体を意識しつつ、「~(ホーム)」っていう自分の家を拠点に、「カレントディレクトリ(現在地)」を常に把握しながら進めていくイメージなんです。

 

スポンサーリンク

pwd コマンド – 「今、どこにいるか」を確認する (linux 現在のディレクトリ)

 

LinuxのCUI操作で迷子にならないために、最も重要なコマンドが pwd です。

これは「linux 現在のディレクトリ」を知るための、あなたの「GPS」だと思ってください📍

pwd は Print Working Directory(現在の作業ディレクトリを印刷=表示する)の略です。

使い方はすっごくカンタンで、ただ pwd と入力してEnterキーを押すだけです。

 

[user@server ~]$ pwd /home/user

 

この出力は、あなたが今、ルート(/)の中の home ディレクトリの中の user ディレクトリにいる、っていうことを「絶対パス」で示しています。

cd コマンドでいろんな場所に移動した後、「あれ、今どこだっけ?」って不安になったら、まず pwd を実行する癖をつけましょうね!

 

pwd の主なオプション

 

pwd には多くのオプションはありませんが、-P オプションは時々役立ちます。

 

  • -P (--physical)
    もしカレントディレクトリが「シンボリックリンク」(Windowsのショートカットみたいなものです)だった場合、pwd は通常リンクの名前(見かけ上のパス)を表示します。
    -P オプションを付けると、そのリンクが指し示している「本当の物理的なパス」を表示してくれますよ。

 

スポンサーリンク

cd コマンド – ディレクトリを「移動」する (linux cd)

 

現在地が分かったら、次は場所を「移動」してみましょう!

ディレクトリ間を移動するコマンドが cd です。「linux cd」って検索する人も多い、基本中の基本コマンドですね。

cd は Change Directory(ディレクトリを変更する)の略です。

 

cd の基本構文:絶対パスと相対パスでの移動

 

cd の基本は cd [移動したい場所] です。

この「移動したい場所」の指定方法には、大きく分けて2つの方法があります。

 


絶対パス(/ から始まる)での移動

 

「絶対パス」っていうのは、地図の起点である /(ルート)から目的地までのすべての経路を、省略せずにぜんぶ記述する方法です。

例えば、システムのログファイルが保存されている /var/log ディレクトリに移動したい場合は、あなたが今どこにいたとしても、以下のコマンドで一発で移動できます。

 

[user@server ~]$ pwd /home/user

[user@server ~]$ cd /var/log

[user@server log]$ pwd /var/log

 


2. 相対パス(現在地から始まる)での移動

 

「相対パス」っていうのは、/ からじゃなくて、「今いる場所(カレントディレクトリ)」から見た目的地を指定する方法です。

例えば、今 /var ディレクトリにいて、その中にある log ディレクトリに入りたい場合、cd /var/log(絶対パス)って打つ代わりに、cd log(相対パス)って打つことができます。

 

[user@server ~]$ cd /var

[user@server var]$ pwd /var

[user@server var]$ ls adm cache crash db empty games gopher kerberos lib local lock log ...

[user@server var]$ cd log <-- 相対パスで指定

[user@server log]$ pwd /var/log

 

最重要!特殊なディレクトリ「.」「..」とは?

 

相対パスを使いこなす上で、絶対に理解しなきゃいけない2つの特殊な記号があります。

 

  • . (ドット1個)
    カレントディレクトリ(今いる場所)そのものを意味します。
    (例: ./script.sh で「今いる場所の script.sh を実行する」)
  • .. (ドット2個)
    親ディレクトリ(1つ上の階層)を意味します。
    これが cd コマンドで最もよく使われます!

 

この .. を使うことで、ディレクトリの階層を「登る」ことができますよ。

 

[user@server log]$ pwd /var/log

1つ上の /var に戻る
[user@server log]$ cd ..

[user@server var]$ pwd /var

さらに1つ上の /(ルート)に戻る
[user@server var]$ cd ..

[user@server /]$ pwd /

連続して使うことも可能(/var/log から一気に / に戻る)
[user@server log]$ cd ../..

[user@server /]$ pwd /

 

これだけは覚えたい!cd の便利なショートカット

 

cd コマンドには、キータイプを劇的に減らしてくれる、すっごく便利なショートカットがいくつか存在します。

 

▼ cd (引数なし)
最も重要で、最もよく使うショートカットです!
cd とだけ入力してEnterキーを押すと、あなたのホームディレクトリ(~)に一瞬で戻ることができます。
システムの奥深くで作業していて迷子になったら、とりあえず cd と打てば「自分の家」に帰れるんです🏠

 

[user@server /var/log/nginx]$ pwd /var/log/nginx

[user@server nginx]$ cd

[user@server ~]$ pwd /home/user

 

▼ cd ~
cd(引数なし)とまったく同じ動作です。~(チルダ)がホームディレクトリを意味するからですね。

▼ cd ~[ユーザー名]
~ に続けて別のユーザー名を指定すると、そのユーザーのホームディレクトリへ移動しようと試みます(もちろん、移動先のパーミッション(権限)が必要ですけどね)。

▼ cd – (ハイフン)
cd(引数なし)と並んで、プロが多用する必須ショートカットです。
-(ハイフン)は、「直前にいたディレクトリ」っていう特別な意味を持っています。

AディレクトリとBディレクトリを頻繁に行ったり来たりして作業する場合に、絶大な威力を発揮しますよ!

 

[user@server ~]$ pwd /home/user

[user@server ~]$ cd /etc/nginx/conf.d <-- 1回目の移動 /etc/nginx/conf.d

[user@server conf.d]$ pwd /etc/nginx/conf.d

[user@server conf.d]$ cd - <-- 直前にいた場所(/home/user)に戻る /home/user

[user@server ~]$ pwd /home/user

[user@server ~]$ cd - <-- さらに直前にいた場所(/etc/nginx/conf.d)に戻る /etc/nginx/conf.d

 

これは cd コマンドの「戻る」ボタンみたいなものですね!

 

スポンサーリンク

mkdir コマンド – 「フォルダ作成」 (linux フォルダ作成)

 

ディレクトリを自由に移動できるようになったら、次は「場所を作る」コマンド、mkdir です。

これが「linux フォルダ作成」を行うためのコマンドです。

mkdir は Make Directory(ディレクトリを作る)の略なんですよ。

基本構文は mkdir [作成したいディレクトリ名] です。

 

[user@server ~]$ ls -F Documents/ Downloads/ Music/

[user@server ~]$ mkdir projectA

[user@server ~]$ ls -F Documents/ Downloads/ Music/ projectA/ <-- 作成された!

 

mkdir の便利な使い方

 


複数のディレクトリを一度に作成する

 

mkdir は、引数に複数の名前をスペースで区切って渡すことで、一度に作成できます。

 

[user@server ~]$ mkdir backup logs temp

[user@server ~]$ ls -F Documents/ Downloads/ Music/ projectA/ backup/ logs/ temp/

 


2. (必須テクニック)-p オプションで深い階層を一度に作成

 

mkdir を使っていて初心者がよく遭遇するエラーが、存在しないディレクトリの中にディレクトリを作ろうとするケースです。

 

# level1 が存在しないため、その中に level2 を作ろうとするとエラーになる [user@server ~]$ mkdir level1/level2 mkdir: cannot create directory ‘level1/level2’: No such file or directory

 

この問題を一発で解決してくれるのが、-p(–parents)オプションです!

-p オプションを付けると、途中の親ディレクトリが存在しない場合、それらもまとめてぜんぶ自動で作成してくれます。すっごく便利!

 

[user@server ~]$ mkdir -p level1/level2/level3

[user@server ~]$ ls -F level1/

[user@server ~]$ ls -F level1/ level2/

[user@server ~]$ ls -F level1/level2/ level3/

 

level1 から level3 まで、必要なディレクトリがすべて自動的に作成されました。

これは、深い階層構造を一気に作りたい場合に必須のテクニックですよ!💪

 

  • -v (--verbose)
    -p と組み合わせて mkdir -pv [パス] みたいに使うと、どのディレクトリが作成されたかを詳細に表示してくれるので、スクリプトなんかで使うと便利です。

 

スポンサーリンク

ls コマンド – 「中身を見る」の最強コマンド (linux ls オプション)

 

4つの基本コマンドの最後は、最も奥が深くて、最もよく使う ls コマンドです。

ls は List(一覧表示する)の略です。

カレントディレクトリ(または指定したディレクトリ)の中身を一覧表示します。

ls とだけ実行すると、ファイル名やディレクトリ名だけが簡易的に表示されます。

 

[user@server ~]$ ls Documents Downloads Music projectA backup logs temp

 

これだけでも中身はわかりますが、WindowsのエクスプローラーやmacOSのFinderで見るみたいな「詳細情報」(サイズ、更新日時、種類とか)がまったくわかりませんよね。

ls コマンドの真価は、その豊富すぎる「linux ls オプション」を組み合わせて使うことで発揮されるんです!

 

必須の基本オプション ls -l (ロングフォーマット)

 

ls コマンドを使う上で、まず最初に覚えるべき必須のオプションが -l(ロングフォーマット)です。

ls -l を実行すると、ファイルやディレクトリの詳細情報が一覧表示されます。

 

[user@server ~]$ ls -l 合計 24 drwxr-xr-x. 2 user user 4096 11月 10 10:00 Documents drwxr-xr-x. 2 user user 4096 11月 10 10:05 Downloads drwxr-xr-x. 2 user user 4096 11月 10 10:00 Music drwxr-xr-x. 3 user user 4096 11月 13 09:25 level1 -rw-r--r--. 1 user user 123 11月 13 09:00 new.txt drwxr-xr-x. 2 user user 4096 11月 13 09:22 projectA

 

この出力には、Linuxのファイル管理に必要なほぼすべての情報が含まれています。見方を覚えちゃいましょう!

 

  • 1列目 (例: drwxr-xr-x): パーミッション(権限)
    最初の1文字はファイルタイプ(d = ディレクトリ, = 通常ファイル, l = シンボリックリンク)。
    続く9文字は、所有者・グループ・その他の権限(読み取りr, 書き込みw, 実行x)を示します。
  • 2列目 (例: 2): リンクカウント
    (上級者向け)このファイル実体(inode)にいくつの名前が付いているかを示します。
  • 3列目 (例: user): 所有者(オーナー)
  • 4列目 (例: user): 所属グループ
  • 5列目 (例: 4096): ファイルサイズ(バイト単位)
  • 6〜8列目 (例: 11月 13 09:25): 最終更新日時
  • 9列目 (例: level1): ファイル名またはディレクトリ名

 

隠しファイルを表示する ls -a

 

Linuxのホームディレクトリには、ls と打っただけでは表示されない、たくさんの「隠しファイル」が存在します。

これらは、ファイル名の先頭が .(ドット)で始まるファイルやディレクトリで、主にシステムやアプリケーションの設定ファイル(例: ~/.bashrc)なんです。

これらの隠しファイルを一覧表示するのが -a(–all)オプションです。

 

[user@server ~]$ ls -a . .bash_history .bashrc Documents level1 new.txt temp .. .bash_logout .cache Downloads logs projectA .Xauthority .bash_profile .config Music .mozilla .ssh

 

ls -a は、.(カレントディレクトリ)や ..(親ディレクトリ)まで表示しちゃうので、ちょっと見づらい場合がありますよね…。

そんな時は、より実用的なオプションとして -A(–almost-all)があります!
こちらは . と .. を除くすべての隠しファイルを表示してくれますよ。

 

組み合わせて最強!ls -lAh (プロが使う定番オプション)

 

ls コマンドは、オプションを組み合わせて使うのが基本です。
現場のプロフェッショナルが日常的に最もよく使う組み合わせの一つが ls -lAh です!

 

  • -l: ロングフォーマット(詳細表示)
  • -A: . と .. を除く、ほぼすべてのファイル(隠しファイル含む)を表示
  • -h: human-readable(人間が読める)形式でファイルサイズを表示

 

この -h オプションがすっごく便利なんです!
ls -l がファイルサイズを 4096(バイト)みたいに正確に表示するのに対して、ls -lAh は 4.0K2.5M1.2G みたいに、私たち人間が直感的に理解できる単位に換算して表示してくれます。

 

[user@server ~]$ ls -lAh 合計 24K drwxr-xr-x. 2 user user 4.0K 11月 10 10:00 Documents drwxr-xr-x. 2 user user 4.0K 11月 10 10:05 Downloads drwxr-xr-x. 2 user user 4.0K 11月 10 10:00 Music drwxr-xr-x. 3 user user 4.0K 11月 13 09:25 level1 -rw-r--r--. 1 user user 123 11月 13 09:00 new.txt drwxr-xr-x. 2 user user 4.0K 11月 13 09:22 projectA -rw-------. 1 user user 1.2K 11月 13 09:00 .bash_history <-- -A で隠しファイルも表示 drwx------. 2 user user 4.0K 11月 9 18:00 .ssh

 

(ls -al や ls -alF もよく使われますけど、最近のLinux環境では -h を付けた ls -lAh が主流ですよ!)

 

(表1)厳選!覚えておくべき linux ls オプション

 

ls のオプションは膨大にありますけど、以下の主要なものを覚えておけば、日常業務の99%はカバーできちゃいます!

オプションロングオプション説明
-lロングフォーマット(詳細表示)。パーミッション、所有者、サイズ、日時など。
-a--all... を含むすべてのファイル(隠しファイル)を表示します。
-A--almost-all...除くすべてのファイル(隠しファイル)を表示します。(ls -a より実用的)
-h--human-readableファイルサイズを読みやすい単位(K, M, G)で表示します。必ず -l と一緒に使います (ls -lh)。
-F--classifyファイルの種類を示す記号を末尾に付与します。(/:ディレクトリ, *:実行ファイル, @:リンク)
-t更新日時順(新しいものが上)にソートして表示します。
-r--reverseソート順を逆にします。ls -ltr で「古いものが上」となり、時系列でログを追うのに便利です。
-Sファイルサイズ順(大きいものが上)にソートして表示します。 (ls -lSh が便利)
-R--recursiveサブディレクトリの中身も再帰的にすべて表示します。ファイルが多いと大変なことになるので注意!
-d--directoryディレクトリ自体を一覧表示します。ls -ld */ で「カレントディレクトリ配下のディレクトリのみ」を一覧するのに使います。

 

ls の実践的な実行例とテクニック

 

オプションを組み合わせることで、ls は強力な調査ツールになりますよ!

 

▼ ls -ltr
-l (詳細) + -t (更新日時順) + -r (逆順) = 最終更新が古い順(時系列順)に詳細表示します。
ログファイルや設定ファイルの変更履歴を追う際の必須コマンドです!一番下に来たものが最新のファイルになります。

▼ ls -lSh
-l (詳細) + -S (サイズ順) + -h (読みやすく) = ファイルサイズが大きい順に詳細表示します。
ディスクの空き容量が少なくなった時、「どのファイルが容量を圧迫してるの?」って探すのにすっごく便利です!

▼ ls -d */
-d (ディレクトリ自体) + */ (末尾が / のもの=ディレクトリのみ) = カレントディレクトリにあるディレクトリだけを一覧表示します。

▼ ls -l | grep “Nov 13”
ls -l の出力結果を「パイプ(|)」で grep コマンドに渡して、「Nov 13」っていう文字列を含む行だけを絞り込みます。
(ただし、find コマンドを使う方がより正確な場合も多いですよ)

▼ ls /etc/
引数にパスを指定すれば、カレントディレクトリを移動しなくても、その場所の中身だけを見ることができます。

 

スポンサーリンク

まとめ

 

Linux の最も基本的なディレクトリ操作コマンド、pwd, cd, mkdir, ls について、その本質的な意味から実践的なオプションまでを網羅的に解説しました!

Linuxの操作は、結局のところ、これら4つのコマンドの繰り返しなんです。

 

✅ 「今どこにいるんだっけ?」と不安になったら、まず pwd現在地(linux 現在のディレクトリ)を確認します。

✅ 目的の場所に移動するために cd (linux cd) を使います。
cd –」で直前にいた場所に戻ったり、「cd」だけで自分の家に帰ることを忘れないでくださいね!

✅ 作業用の場所が必要になったら mkdir (linux フォルダ作成) でディレクトリを作ります。
深い階層を一度に作る「mkdir -p」は必須テクニックですよ!

✅ そして、最も重要な ls (linux ls オプション) で、周りにあるファイルやディレクトリを確認します。
まずは「ls -lAh」を実行して、詳細な情報を人間が読みやすい形式で見る癖をつけましょう!

 

これら4つのコマンドは、あなたがLinuxっていう広大な世界を冒険するための「コンパス(pwd)」「魔法の靴(cd)」「テント(mkdir)」「地図(ls)」みたいな、最も基本的な装備です。

これらの使い方をマスターすれば、もう黒い画面は怖くありません。

自信を持って、Linuxの奥深い世界へコマンドを打ち込んでいきましょう!💪✨

コメント