Linuxのlsコマンドとは?ファイル一覧を表示する基本操作を初心者向けに徹底解説
生徒
「Linuxで今いるフォルダの中に何があるか見たいんですけど、どうすればいいですか?」
先生
「そういうときはlsコマンドを使いますよ。ファイルやフォルダの一覧を表示してくれるLinuxの基本中の基本のコマンドです。」
生徒
「エルエス...ですか?何の略なんでしょう?」
先生
「英語の『list(リスト)』が由来です。ファイルの一覧をリスト表示するからlsなんですね。今日は基本的な使い方から便利なオプションまで、一緒に学んでいきましょう。」
1. lsコマンドとは?
lsコマンドは、Linuxでファイルやディレクトリの一覧を表示するための基本コマンドです。Windowsのエクスプローラーでフォルダを開いたときに中身が見えるのと同じように、ターミナル上で現在の場所にどんなファイルやフォルダがあるのかを確認できます。
Linuxを使う上で最も頻繁に使うコマンドの一つで、ファイル操作の第一歩と言えるでしょう。プログラミング初心者やLinux初心者が最初に覚えるべきコマンドとして、多くの入門書やチュートリアルで紹介されています。
ターミナルとは、文字だけで命令を入力する黒い画面のことです。マウスでクリックする代わりに、キーボードで文字を打ってコンピュータに指示を出します。最初は慣れないかもしれませんが、慣れてくるとマウス操作よりも速く正確に作業できるようになります。
2. lsコマンドの基本的な使い方
lsコマンドの最もシンプルな使い方は、ターミナルでlsと入力してエンターキーを押すだけです。これだけで、今いるディレクトリ(カレントディレクトリ)の中にあるファイルとフォルダの名前が表示されます。
ls
Desktop Documents Downloads Music Pictures Videos
このように、ホームディレクトリ(ユーザーの基本となる場所)にある標準的なフォルダが一覧で表示されます。これらのフォルダ名は、Windowsのマイドキュメントやマイピクチャと似たような役割を持っています。
カレントディレクトリとは、現在作業している場所のことです。Windowsで例えるなら、今開いているフォルダのことです。pwdコマンドを使うと、自分が今どこにいるのかを確認できます。
3. 詳細情報を表示する-lオプション
ファイル名だけでなく、サイズや更新日時、アクセス権限などの詳しい情報を見たいときは、-lオプションを使います。このオプションは「long format(長い形式)」の略で、一行ごとに詳細な情報を表示してくれます。
ls -l
total 24
drwxr-xr-x 2 user user 4096 Jan 5 10:30 Desktop
drwxr-xr-x 3 user user 4096 Jan 8 14:22 Documents
drwxr-xr-x 2 user user 4096 Jan 3 09:15 Downloads
drwxr-xr-x 2 user user 4096 Dec 28 16:45 Music
drwxr-xr-x 2 user user 4096 Jan 2 11:20 Pictures
drwxr-xr-x 2 user user 4096 Dec 30 13:55 Videos
表示される情報は左から順に、アクセス権限、リンク数、所有者名、グループ名、ファイルサイズ、最終更新日時、ファイル名となっています。
最初の文字がdの場合はディレクトリ(フォルダ)、-の場合は通常のファイルを意味します。アクセス権限は誰がそのファイルを読んだり書いたり実行したりできるかを示す重要な情報です。
4. 隠しファイルも表示する-aオプション
Linuxでは、ファイル名の先頭にドット(.)が付いているファイルは隠しファイルとして扱われ、通常のlsコマンドでは表示されません。設定ファイルなど、普段は見えなくても良いファイルが隠しファイルになっています。
これらの隠しファイルを表示したいときは、-aオプション(all の略)を使います。
ls -a
. .. .bashrc .profile Desktop Documents Downloads Music Pictures Videos
.は現在のディレクトリ自身を、..は一つ上の親ディレクトリを表す特別な記号です。.bashrcや.profileなどはシェル(コマンドを処理するプログラム)の設定ファイルで、ユーザーごとの環境設定が書かれています。
5. 人間に読みやすいサイズ表示-hオプション
-lオプションで表示されるファイルサイズは、デフォルトではバイト単位で表示されます。大きなファイルだと数字が長くなって分かりにくいですよね。そこで-hオプション(human-readable の略)を組み合わせると、キロバイト(K)、メガバイト(M)、ギガバイト(G)といった単位で見やすく表示してくれます。
ls -lh
total 1.2G
drwxr-xr-x 2 user user 4.0K Jan 5 10:30 Desktop
-rw-r--r-- 1 user user 256M Jan 8 14:22 video.mp4
-rw-r--r-- 1 user user 1.5M Jan 3 09:15 photo.jpg
-rw-r--r-- 1 user user 45K Dec 28 16:45 document.pdf
このように、256M(256メガバイト)や1.5M(1.5メガバイト)という表示になるので、ファイルの大きさが直感的に分かりやすくなります。ディスク容量を確認したり、大きなファイルを探したりするときに便利です。
6. オプションの組み合わせ方
lsコマンドでは、複数のオプションを組み合わせて使うことができます。例えば、隠しファイルも含めて詳細情報を人間に読みやすい形式で表示したい場合は、-a、-l、-hを組み合わせます。
オプションの指定方法は二通りあります。一つずつスペースで区切って書く方法と、まとめて一つのハイフンの後に続けて書く方法です。どちらも同じ結果になります。
ls -a -l -h
ls -alh
total 1.3G
drwxr-xr-x 15 user user 4.0K Jan 9 08:30 .
drwxr-xr-x 3 root root 4.0K Dec 15 12:00 ..
-rw------- 1 user user 18K Jan 8 23:45 .bash_history
-rw-r--r-- 1 user user 220 Dec 15 12:00 .bash_logout
-rw-r--r-- 1 user user 3.7K Dec 15 12:00 .bashrc
drwxr-xr-x 2 user user 4.0K Jan 5 10:30 Desktop
-rw-r--r-- 1 user user 256M Jan 8 14:22 video.mp4
多くのLinuxユーザーはls -laやls -lahという組み合わせを日常的に使います。この組み合わせを覚えておくと、ファイル管理がとても楽になります。
7. 特定のディレクトリの中身を表示する
lsコマンドの後にディレクトリ名を指定すると、そのディレクトリの中身を表示できます。わざわざcdコマンドで移動しなくても、他の場所のファイル一覧を確認できるので便利です。
ls Documents
report.txt memo.txt project
この例では、現在いる場所からDocumentsフォルダの中にあるファイルとフォルダを表示しています。もちろん、詳細表示のオプションと組み合わせることもできます。
ls -l Documents
total 12
-rw-r--r-- 1 user user 2048 Jan 7 15:30 report.txt
-rw-r--r-- 1 user user 512 Jan 6 11:20 memo.txt
drwxr-xr-x 2 user user 4096 Jan 8 09:45 project
絶対パス(ルートディレクトリからの完全な道筋)を指定することもできます。例えばls /home/user/Documentsのように書けば、どこにいても指定した場所の内容を見ることができます。
8. ファイルを更新日時順に並べ替える-tオプション
ファイルがたくさんある中で、最近更新したファイルを探したいときは-tオプションが役立ちます。これは時間順(time)に並べ替えるオプションで、新しいファイルから順番に表示してくれます。
ls -lt
total 24
-rw-r--r-- 1 user user 1024 Jan 9 08:45 today.txt
-rw-r--r-- 1 user user 2048 Jan 8 16:30 yesterday.txt
-rw-r--r-- 1 user user 512 Jan 5 10:15 lastweek.txt
drwxr-xr-x 2 user user 4096 Dec 28 14:20 oldfiles
さらに-rオプション(reverse の略)を追加すると、逆順つまり古いファイルから順番に表示されます。ls -ltrという組み合わせもよく使われます。
9. ファイルサイズ順に並べ替える-Sオプション
ディスク容量がいっぱいになってきたとき、どのファイルが容量を圧迫しているのか調べたいことがあります。そんなときは-Sオプション(Size の略、大文字のSであることに注意)を使うと、ファイルサイズの大きい順に表示してくれます。
ls -lhS
total 1.2G
-rw-r--r-- 1 user user 800M Jan 8 14:22 movie.mp4
-rw-r--r-- 1 user user 256M Jan 7 11:30 backup.zip
-rw-r--r-- 1 user user 1.5M Jan 3 09:15 photo.jpg
-rw-r--r-- 1 user user 45K Dec 28 16:45 document.pdf
drwxr-xr-x 2 user user 4.0K Jan 5 10:30 Desktop
この例では、動画ファイルが800メガバイトで最も大きく、次にバックアップファイル、写真と続いています。不要な大きなファイルを見つけて削除すれば、ディスク容量を節約できます。
10. 似たコマンドとの違い
Linux初心者の方は、lsコマンドと似た機能を持つ他のコマンドとの違いも知っておくと理解が深まります。
dirコマンドは、実はlsとほぼ同じ機能を持つコマンドです。Windowsのdirコマンドに慣れている人向けに用意されているもので、多くのLinuxシステムではlsの別名(エイリアス)として設定されています。ただし、Linux使いの間ではlsを使うのが一般的です。
treeコマンドは、ディレクトリ構造を木の枝のように視覚的に表示してくれるコマンドです。lsは一階層しか表示しませんが、treeはサブディレクトリの中まで一気に階層的に表示してくれます。プロジェクトのフォルダ構成を把握したいときに便利です。
findコマンドは、ファイルを検索するためのコマンドです。lsは「今ここに何があるか」を見るのに対し、findは「条件に合うファイルをディレクトリツリー全体から探す」という違いがあります。名前や更新日時、サイズなどの条件を指定して、深い階層まで検索できます。