Linuxのlsコマンドとオプションの使い方!ファイルの一覧表示方法を解説!
Linuxにはlsという、ファイル情報やディレクトリ情報、ファイルのサイズを一覧表示できる、コマンドが用意されています。Linux lsはさらに豊富なオプションがあり、オプションを追加して検索することで、有効にLinuxを活用できます。
目次
- 1Linux lsコマンドで何ができる?
- ・lsコマンドとは?
- ・lsコマンドを使うケース
- 2Linux lsコマンドでのオプション無しの使用例
- ・ディレクトリを指定
- ・ファイルの指定
- 3Linux lsコマンドで使えるオプションの種類
- 4Linux lsコマンドで使えるオプションの使用例
- ・【-a】オプション:すべてを表示する
- ・【-l】オプション:ファイルを詳細表示する
- ・【-1】オプション:縦にリストを並べる
- ・【-r】オプション:反対順に表示する
- ・【-t】オプション:並べ方を更新時間の順にする
- ・【-S】オプション:ファイルサイズの大きい順でソートする
- ・【-X】オプション:拡張子ごとにファイルを表示する
- ・【-R】オプション:ディレクトリを再帰的内容に表示する
- ・【--full-time】オプション:詳細なタイムスタンプの表示する
- ・【-m】オプション:カンマで区切ってファイル名を表示する
- ・【-h】オプション:読みやすい単位で表示する
- ・【-k】オプション:単位をキロバイト表示する
- ・【-i】オプション:i-node番号をファイル名の左に表示する
- ・【-F】オプション:結果に情報を追加する
- ・【--help】オプション:参考ヘルプを表示する
- ・Linux lsやオプションに関係するコマンド
- ・file
- ・strings
- ・sum
- ・wc
- 5Linux lsコマンドのオプションを上手に使おう
Linux lsコマンドで何ができる?
Linux lsコマンドはファイル一覧を表示するコマンドです。ls単体ではカレントディレクトリのファイルを表示するだけですが、引数(追加条件)やオプションを追加すると、サイズやサイズ順、拡張子順や、更新順など多彩にファイル表示ができます。
lsコマンドとは?
Linux lsコマンドとは、ディレクトリとファイルの情報を入手して、Linuxコンソール画面に表示する為のコマンドです。オプションもLinux lsコマンドには豊富に用意されています。
オプションで、「lsコマンド」に検索条件を追加すると、多彩な情報を閲覧できます。Linux コマンドの中では、もっとも多用される基本的なコマンドのひとつです。
lsコマンドを使うケース
Linux lsコマンドを使用するのは、ディレクトリのファイルを検索するケースや、サイズや読み書き情報、更新情報、アクセス権限などオプションによって多彩な利用法があります。
Linux lsコマンドでのオプション無しの使用例
この章では、Linux lsコマンドでオプション無しの、使用例をあげます。lsコマンド単独でもターゲット(目的の)ディレクトリに移動したり、「/」でパス(道順)を指定したりして、ディレクトリの内容の確認には十分です。
ディレクトリを指定
あるディレクトリの中に、どんなファイルがあるのか、一覧情報を知りたいときは、目的のディレクトリに移動して、「ls」コマンドで表示させる使い方が、一番基本的な使い方です。
[abcd@localhost~]$ cd /temp/qwer
[abcd@localhost~] /temp/qwer$ ls
「$」につづいて半角スペースをあけて「cd」半角あけて/temp/qwerと入力して「Enter」を押すと「qwer」ディレクトリに移動できます、そこで「ls」と入力してEnterキーを押します。
[abcd@localhost~]$ cd /temp/qwer
[abcd@localhost~] /temp/qwer$ ls
sample_01.txt sample_03.txt sample_05.txt
sample_02.txt sample_04.txt
[abcd@localhost~] /temp/qwer$
すると上図のように、ファイルの一覧と、このディレクトリにはありませんが、子ディレクトリの一覧が表示されます。「qwer」ディレクトリの中には、sample_01~05の5つの、テキストファイルがあるのが判りました。
次に、移動しないで引数に目的のディレクトリを指定(道順を入力)して、「ls」コマンドでファイルを一覧表示させる使い方をします。※「引数」とは追加条件のことです。
[abcd@localhost~]$ ls /temp/qwer
上のようにコマンドプロンプト「$」に続いて半角あけて直接「ls」を入力して、$␣ls␣/temp/qwerと「パス」でディレクトリを指定します。
[abcd@localhost~]$ ls /temp/qwer
sample_01.txt sample_03.txt sample_05.txt
sample_02.txt sample_04.txt
[abcd@localhost~] $
結果は、目的のディレクトリに移動して、「ls」コマンドを実行したのと変わりありません。どちらか好きな手順を選択するとよいでしょう。
ファイルの指定
この章の最後に、カレントディレクトリでファイル名を指定して、lsコマンドで指定したファイルが、存在するのか検索してみます。
[abcd@localhost~]$ cd /temp/qwer
[abcd@localhost~] /temp/qwer$ ls sample_01.txt
sample_01.txt
[abcd@localhost~] /temp/qwer$
まずcdコマンドで目的のディレクトリ「qwer」に移動します。そしてカレントディレクトリになった、「qwer」から$␣ls␣sample_01.txtと入力します。すると上の赤字で示されたように、「sample_01.txt」が確かに確認できました。
ファイル指定のワイルドカードの使い方
lsコマンドに限りませんが、ターミナルではファイル指定に「*」ワイルドカードが使えます。使い方は以下の通りです。
- $ ls sam*.txt ~samから始まるテキストファイルを表示
- $ ls *.txt ~テキストファイルのみ表示
- $ ls *.* ~全ファイルを表示
※このほかワイルドカードには「?」の”1字対応のみ”があり、「$␣ls␣???.txt」と入力しますと、ファイル名が3文字のファイルを指定できます。
Linux lsコマンドで使えるオプションの種類
-a | -aオプションは全ファイル、全ディレクトリを表示します |
-i | -lオプションはディレクトリとファイルを詳細表示できます |
-1 | -1オプションは縦1列にファイルを表示します |
-r | -rオプションは順序を逆に表示します |
-t | -tオプションは更新された順に表示します |
-S | -Sオプションはサイズ順に表示します |
-X | -Xオプションはファイルを拡張子順に表示します |
-R | -Rオプションは再帰的にディレクトリを表示します |
--full-time | --full-timeオプションは詳細なタイムスタンプを表示できます |
-m | -mオプションはファイルをカンマとスペースで区切り表示します |
-h | -hオプションは見やすい単位で表示します |
-k | -kオプションはキロバイト単位で表示さえます |
-i | -kオプションはinode番号を表示します |
-F | -Fオプションは情報を付加して表示します |
-help | -helpオプションはヘルプを表示します |
Linux lsコマンドで使えるオプションの使用例
この章では具体的な使用例を解説します。
【-a】オプション:すべてを表示する
$ ls -a
. .. a.txt b.txt c.txt test test2
lsコマンドに「-a」オプションを追加すると、普段見れないピリオド始まりの、隠しファイルも表示することができます。
【-l】オプション:ファイルを詳細表示する
$ ls -l
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
drwxr-xr-x 2 root root 4096 Dec 23 13:14 test
drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
lsコマンドに「-l」オプションを追加すると、上のように詳細表示されます。
-rw-r--r-- 1 ABC users 0 12月 22 10:22 qwer.txt
ここで、表示画面の説明を簡単にしてみます。LInux lsコマンドに「l」オプションで上のように表示されたとします。雑然とした表示ですが、下の様に分けられます。
- A図
- はパーミッションでアクセス権と種類です
- はリンク数と内部ディレクトリの数です
- は所有者名です
- グループめいです
- はファイルサイズです
- タイムスタンプです
- ファイル名です
- B図
- は「ー」普通のファイル、「d」ディレクトリ、「l」リンクファイル
- はA図の「3」(所有者)と対応して「r、読める」「w、書ける」という意味です
- はA図の「4」(グループメンバー)と対応して「r、読める」です
- はその他のユーザー(誰でも)に対応で「r」でリードオンリーです。
【-1】オプション:縦にリストを並べる
$ ls -1
a.txt
b.txt
c.txt
test
test2
Linux lsコマンドに「-1」オプションを追加することで、見やすく縦1列に表示できます。
【-r】オプション:反対順に表示する
$ ls
a.txt b.txt c.txt test test2
$ ls -r
test2 test c.txt b.txt a.txt
Linux lsコマンドに「-r」オプションを追加すると表示を逆の順に並べ返すことができます。
【-t】オプション:並べ方を更新時間の順にする
$ ls -lt
drwxr-xr-x 2 root root 4096 Dec 23 13:24 test
drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
この「-t」オプションの使い方は「-l」オプションと組み合わせて使います。「-l」オプションで詳細表示された一覧を、「-t」オプションでっ更新時間順にします。
【-S】オプション:ファイルサイズの大きい順でソートする
次に「-S」オプションの使い方を解説します。「-S」はサイズ順にソートして、一覧表示するオプションです。
$ ls -lS
drwxr-xr-x 2 root root 4096 Dec 23 13:24 test
drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
「-S」オプションも、「-l」オプションに組み合わせた使い方で、効果が出ます。Linux lsに「-l」オプションと「-S」オプションを追加してサイズ順に表示します。
【-X】オプション:拡張子ごとにファイルを表示する
$ ls -l
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
drwxr-xr-x 2 root root 4096 Dec 23 13:24 test
drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
$ ls -lX
drwxr-xr-x 2 root root 4096 Dec 23 13:24 test
drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
「-X」オプションはLinuxのファイルを拡張子ごとに表示しますが、Linux lsコマンドのあとに、「-l」オプションと組み合わせて$␣ls␣lXと入力して表示させますと、上の様に拡張子ごとに表示できます。
【-R】オプション:ディレクトリを再帰的内容に表示する
$ ls -R
.:
a.txt b.txt c.txt test test2
./test:
test.txt test1.txt
./test2:
Linux lsコマンドに「-R」オプションを追加すると、上のようにディレクトリ中の子ディレクトリのファイルまで一覧表示できます。
【--full-time】オプション:詳細なタイムスタンプの表示する
$ ls --full-time
total 12
lrwxrwxrwx 1 vagrant vagrant 14 2016-08-05 07:41:00.958366924 +0000 bin -> /usr/local/bin
drwxrwxr-x 2 vagrant vagrant 6 2016-08-03 09:20:43.137382266 +0000 /escapedir
-rw-rw-r-- 1 vagrant vagrant 0 2016-08-03 09:19:58.913378304 +0000 /escapefile
Linux lsコマンドに、「--full-time」オプションを追加したら、詳細なタイムスタンプの表示をすることができます。
【-m】オプション:カンマで区切ってファイル名を表示する
$ ls -m
a.txt, b.txt, c.txt, test, test2
Linux lsに「-m」オプションを追加すると、Linuxコンソールにファイル名をカンマで区切って見やすく表示することが可能です。
【-h】オプション:読みやすい単位で表示する
$ ls -l
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
drwxr-xr-x 2 root root 4096 Dec 23 13:24 test
drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
$ ls -lh
-rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
-rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
-rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
drwxr-xr-x 2 root root 4.0K Dec 23 13:24 test
drwxr-xr-x 2 root root 4.0K Dec 23 13:15 test2
【-k】オプション:単位をキロバイト表示する
$ ls -lk
drwxr-xr-x 2 root root 4.0K Dec 23 13:24 test
drwxr-xr-x 2 root root 4.0K Dec 23 13:15 test2
【-i】オプション:i-node番号をファイル名の左に表示する
$ ls -li
14724 -rw-r--r-- 1 root root 11 Dec 23 13:11 a.txt
14720 -rw-r--r-- 1 root root 36 Dec 23 13:12 b.txt
14722 -rw-r--r-- 1 root root 0 Dec 23 13:07 c.txt
6103 drwxr-xr-x 2 root root 4096 Dec 23 13:14 test
14721 drwxr-xr-x 2 root root 4096 Dec 23 13:15 test2
Linux lsコマンドに「-l」オプションと、「i」オプションを組み合わせる使い方は上記の「-h」「-k」などと同じつかいかたです。結果は詳細表示の左側に「i-node番号」を表示します。
【-F】オプション:結果に情報を追加する
$ ls -F
bin@ \escapedir/ \escapefile testdir/ testfile testfile
「-F」オプションはLinux lsの一覧に情報を付加します。
【--help】オプション:参考ヘルプを表示する
$ ls --help
このオプションの使い方は、コマンド入力に迷ったときなど、オプションの使い方情報の、案内にも便利です。
Linux lsやオプションに関係するコマンド
この章は「ls」コマンドに関連する、他のコマンドをいくつか紹介しましょう。
file
$ file img.png
img.png: PNG image data, 300 x 250, 8-bit/color RGB, non-interlaced
「file」コマンドは、ファイルのサイズや種類などを、画面に表示するコマンドです。オプションの追加で圧縮されたファイルの情報も表示できます。
$ file -z
test.txt.gz test.txt.gz: UTF-8 Unicode text (gzip compressed data, was "test.txt", from Unix, last modified: Fri Oct 4 08:41:11 2013)
オプション「-z」を追加して実行してみました。「UTF-8 Unicode text」と更新日の情報も表示されました。
strings
$ less /sbin/mkfs
"/sbin/mkfs" may be a binary file. See it anyway?
バイナリファイルを、「less」コマンドで開こうとすると、下図のように文字化けしたファイルが表示されます。
通常「bin」という、バイナリファイルは文字化けして、テキストエディターなどでは、閲覧できませんが、「string」というコマンドは、上図のようにかなりの部分を、読めるように表示してくれます。ファイルの用途を知る、重要な手がかりになります。
sum
$ sum tmp.txt
32909 13
「sum」というコマンドは引数で指定した、チェックサム(16bit)を集計し、ブロック数と一緒に表示します。オプションには「-r」オプションと、「-s」オプションがあり、それぞれチェックサムの、計算方法がちがいます。
※チェックサムとは、データを数値化した値をファイルに添付して、計算でデータが正しいか検証することです。
wc
$ wc [オプション] [ファイル]
「wc」コマンドは、ファイルの詳しい単語数や行の総数、サイズ等を表示させます。複数指定した場合は、合計を表示します。
Linux lsコマンドのオプションを上手に使おう
上記の解説のように、Linux lsコマンドのオプションを使うと、数々のファイルの情報やサイズ、ディレクトリの情報や、そのサイズを一覧表示できます。皆さんもLinux lsコマンドのオプションを、有効に使って「Linuxライフ」を有意義なものにしてください。