この記事ではLinuxの『lsコマンド』について、
- Linuxの
ls
コマンドとは ls
コマンドの使い方ls
コマンドのオプション
などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。
Linuxのlsコマンドとは
Linuxのls
コマンドは、ディレクトリの内容を表示するために使用される基本的なコマンドです。このコマンドを使用すると、ファイルやディレクトリのリストを取得し、さまざまな形式でその情報を表示することができます。
以下にLinuxのls
コマンドの構文を示します。
Linuxのlsコマンドの構文
ls [オプション] [ファイルやディレクトリ]
ls
コマンドは多くのオプションと組み合わせて使用することができます(後ほど、ls
コマンドのオプションとその使い方について詳しく説明します)。
また、特定のファイルやディレクトリも指定できます。例えば、hogehoge
ディレクトリの中身を表示させたい場合には、ls hogehoge
と実行します(ls h
まで入力して、Tab
キーを押すと、ディレクトリ名が補完されます。「h」で始まるディレクトリが複数ある場合には、Tab
キーを何度か押すと、候補のディレクトリが次々と表示されます)。
特定のファイルやディレクトリを指定しない場合、ls
コマンドは現在のディレクトリの内容を表示します。
補足
ls
コマンドの「ls」は「list segments」の略です。
lsコマンドの使い方
ls
コマンドを単体で使用すると、現在のディレクトリのファイルとディレクトリ(隠しファイルや隠しディレクトリは除く)がアルファベット順に表示されます。
ls
実行例
$ ls
A.txt B.txt Folder_A Folder_B
lsコマンドのオプション
以下にls
コマンドの主なオプションを示します。
短いオプション | 長いオプション | 説明 |
---|---|---|
-a | --all | ・隠しファイルやディレクトリも表示。 |
-A | --almost-all | ・隠しファイルやディレクトリも表示。 ・「カレントディレクトリ(.)」と「親ディレクトリ(..)」を除く。 |
-l | ・ファイルの詳細を表示。 | |
-h | --human-readable | ・-l オプションで表示されるファイルサイズを人が読みやすい形式(例: KB、MB)で表示。 |
-d | --directory | ・ディレクトリの内容ではなく、ディレクトリ自体の情報を表示。 |
-1 | なし | ・リストを1件1行で表示。 |
-F | --classify | ・名前の後ろにファイル識別子(*/=>@|のいずれか)を付けて表示。 |
-r | --reverse | ・リストを逆順に表示。 |
-t | なし | ・リストを最終変更時間に表示。 |
-S | なし | ・リストをファイルサイズ順に表示。 |
-X | なし | ・リストを拡張子のアルファベット順に表示。 |
-R | --recursive | ・再帰的にディレクトリの中身も表示。 |
-m | なし | ・リストをカンマ区切りで表示。 |
-Q | --quote-name | ・リストをダブルクォートで囲んで表示。 |
-i | --inode | ・各ファイルの前にファイルのiノード番号(ファイルを管理するのに使われている数値)を表示。 |
なし | --ignore=PATTERN | ・PATTERN に一致する情報以外の情報を表示。 |
ls -a
-a
オプション(または--all
オプション)をつけることで、ls
コマンドだけでは見えなかった隠しファイル(ドット始まりのファイル)や隠しディレクトリ(ドット始まりのディレクトリ)も表示します。実行例を以下に示します。
$ ls -a
. .. .C.txt .D.txt .Folder_C .Folder_D A.txt B.txt Folder_A Folder_B
ls -A
-A
オプション(または--almost-all
オプション)をつけると、隠しファイルや隠しディレクトリも表示しますが、カレントディレクトリを示す.
と親ディレクトリを示す..
は除外します。実行例を以下に示します。
$ ls -A
.C.txt .D.txt .Folder_C .Folder_D A.txt B.txt Folder_A Folder_B
ls -l
-l
オプションをつけることで、ファイルの詳細(ファイルタイプ、パーミッション、所有者、グループ、サイズ、最終更新日時、ファイル名)をリスト表示します。実行例を以下に示します。
$ ls -l
total 312
-rw-r--r-- 1 user01 user01 0 Apr 22 14:57 A.txt
-rw-r--r-- 1 user01 user01 311052 Apr 22 14:57 B.txt
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_A
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_B
項目 | 説明 |
---|---|
-rw-r--r-- | ・ファイルタイプとパーミッションを示す。 ・最初の文字はファイルタイプを示す( - は通常のファイル、d はディレクトリ、l はシンボリックリンクなど)。・次の三文字( rw- )はファイル所有者のパーミッション(読み取り、書き込み、実行)を示す。・次の三文字( r-- ) はグループのパーミッションを示す。・最後の三文字( r-- ) はその他のユーザーのパーミッションを示す。 |
1 | ・ファイルへのハードリンクの数を示す。 ・ディレクトリの場合は、そのディレクトリに含まれるサブディレクトリの数+2になる。 |
user01 | ・ファイルの所有者のユーザー名を示す。 |
user01 | ・ファイルの所有者のグループ名を示す。 |
0 | ・ファイルのサイズ(バイト単位)を示す。 ・ -h オプションを使用すると、ファイルサイズを人が読みやすい形式(例: KB、MB)で表示する。 |
Apr 22 13:28 | ・ファイルが最後に変更された日時を示す。 |
A.txt | ・ファイルまたはディレクトリの名前を示す。 |
-l
オプションに-h
オプションをつけることで、ファイルサイズを人が読みやすい形式(例: KB、MB)で表示します。実行例を以下に示します。
$ ls -lh
total 312K
-rw-r--r-- 1 user01 user01 0 Apr 22 14:57 A.txt
-rw-r--r-- 1 user01 user01 304K Apr 22 14:57 B.txt
drwxr-xr-x 2 user01 user01 4.0K Apr 22 14:28 Folder_A
drwxr-xr-x 2 user01 user01 4.0K Apr 22 14:28 Folder_B
ls -d
-d
オプション(または--directory
オプション)をつけることで、ディレクトリの内容ではなく、ディレクトリ自体の情報を表示します。実行例を以下に示します。以下の実行例ではカレントディレクトリの情報が表示されています。
$ ls -ld
drwxr-xr-x 6 user01 user01 4096 Apr 22 13:33 .
特定のディレクトリの情報を表示したい場合には、以下のように実行します。以下の実行例ではFolder_A
ディレクトリの情報が表示されています。
$ ls -ld Folder_A
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_A
ls -1
-l
オプションをつけることで、ファイルやディレクトリを1行ごとに表示します。実行例を以下に示します。
$ ls -1
A.txt
B.txt
Folder_A
Folder_B
ls -F
-F
オプションをつけることで、名前の後ろにファイル識別子(*/=>@|
のいずれか)を付けて出力します。実行例を以下に示します。
$ ls -1F
A.txt
B.txt
Folder_A/
Folder_B/
ファイル識別子 | 説明 |
---|---|
/ | ディレクトリ |
* | 実行可能ファイル |
@ | シンボリックリンク |
= | ソケットファイル |
| | FIFO |
この実行例では、Folder_A
とFolder_B
がディレクトリであることが分かります。A.txt
のように特定の記号が付けられていないものは、通常のファイルです。
ls -r
-r
オプション(または--reverse
オプション)をつけることで、リストを逆順に表示します。実行例を以下に示します。
$ ls
A.txt B.txt Folder_A Folder_B
$ ls -r
Folder_B Folder_A B.txt A.txt
ls -t
-t
オプションをつけることで、リストを最終変更時間で表示します。実行例を以下に示します。
$ ls -lt
total 312
-rw-r--r-- 1 user01 user01 311052 Apr 22 14:57 B.txt
-rw-r--r-- 1 user01 user01 0 Apr 22 14:57 A.txt
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_B
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_A
ls -S
-S
オプションをつけることで、リストをファイルサイズ順で表示します。実行例を以下に示します。
$ ls -lS
total 312
-rw-r--r-- 1 user01 user01 311052 Apr 22 14:57 B.txt
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_A
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_B
-rw-r--r-- 1 user01 user01 0 Apr 22 14:57 A.txt
ls -X
-X
オプションをつけることで、リストを拡張子のアルファベット順で表示します。実行例を以下に示します。
$ ls -lX
total 312
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_A
drwxr-xr-x 2 user01 user01 4096 Apr 22 14:28 Folder_B
-rw-r--r-- 1 user01 user01 0 Apr 22 14:57 A.txt
-rw-r--r-- 1 user01 user01 311052 Apr 22 14:57 B.txt
ls -R
-R
オプション(または--recursive
オプション)をつけることで、再帰的にディレクトリの中身も表示します。実行例を以下に示します。
$ ls -R
.:
A.txt B.txt Folder_A Folder_B
./Folder_A:
subfile1.txt
./Folder_B:
subfile2.txt
ls -m
-m
オプションをつけることで、リストをカンマ区切りで表示します。実行例を以下に示します。
$ ls -m
A.txt, B.txt, Folder_A, Folder_B
ls -Q
-Q
オプション(または--quote-name
オプション)をつけることで、リストをダブルクォートで囲んで表示します。実行例を以下に示します。
$ ls -Q
"A.txt" "B.txt" "Folder_A" "Folder_B"
ls -i
-i
オプション(または--inode
オプション)をつけることで、各ファイルの前にファイルのiノード番号を表示します。実行例を以下に示します。
$ ls -i
29814 A.txt 29815 B.txt 29797 Folder_A 29817 Folder_B
ls --ignore=PATTERN
--ignore=PATTERN
オプションをつけることで、PATTERN
に一致する情報以外の情報を表示します。実行例を以下に示します。
$ ls
A.txt B.txt Folder_A Folder_B
$ ls --ignore=*.txt
Folder_A Folder_B
上記の実行例では、カレントディレクトリ内のすべての .txt
ファイルを除外して、他のファイルやディレクトリのリストを表示しています。
本記事のまとめ
この記事ではLinuxの『lsコマンド』について、以下の内容を説明しました。
- Linuxの
ls
コマンドとは ls
コマンドの使い方ls
コマンドのオプション
お読み頂きありがとうございました。