いまさらですが、lsコマンドについてまとめます。
lsコマンド
list segmentsの略。 ファイルやディレクトリの情報を表示する。
$ ls a.txt b.txt c.txt test test2
上記コマンドでカレントディレクトリ内のファイルの一覧を表示する。
ls -a : すべてのファイルやディレクトリを表示する
$ ls -a . .. a.txt b.txt c.txt test test2
-a
オプションをつけることで、ピリオド始まりのファイルやフォルダも表示される。
-A
オプションを付けると、カレントディレクトリ(.)と親ディレクトリ(..)以外のピリオド始まりのファイルやフォルダも表示される。
ls -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
項目 | 説明 |
---|---|
-rw-r--r-- | ファイルの種類(一番左の一文字) + パーミッション |
1 | ハードリンクの数 |
root root | 所有者(左)と所有グループ(右) |
12030 | ファイルサイズ |
Oct 6 19:15 | タイムスタンプ |
test.txt | ファイル名 |
ファイルの種類として通常使われるのは以下の3つです。 - : ファイル d : ディレクトリ l : シンボリックリンク
ls -F:名前の後ろにファイル識別子を付ける
$ ls -F a.txt b.txt c.txt test/ test2/
ファイル識別子は以下のようになる。 / : ディレクトリ @ : シンボリックリンク * : 実行可能形式ファイル(実行可能パーミッションがついているもの)
ls -d:ディレクトリに含まれているものの情報ではなく、ディレクトリ自体の情報を表示する
$ ls -ld drwxr-xr-x 4 root root 4096 Dec 23 13:15 .
ls -i:iノード番号も含んだ情報を表示する
$ 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
ls -1:情報を1行に1件表示する
$ ls -1 a.txt b.txt c.txt test test2
通常は横1列に表示されますが、縦に1つずつ表示されます。
ls -r:逆順に表示する
$ ls a.txt b.txt c.txt test test2 $ ls -r test2 test c.txt b.txt a.txt
ls -R:再帰的にディレクトリの中身も表示する
$ ls -R .: a.txt b.txt c.txt test test2 ./test: test.txt test1.txt ./test2:
ls -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
ls -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
ls -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
ls -x:縦方向ではなく横方向に情報を並べる
$ ls a.txt test b.txt test2 c.txt $ ls -x a.txt b.txt c.txt test test2
ls -m:情報をカンマ区切りで表示する
$ ls -m a.txt, b.txt, c.txt, test, test2
ls -Q:情報をダブルクォートで囲んで表示する
$ ls -Q "a.txt" "b.txt" "c.txt" "test" "test2"
ls -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
ls --ignore=PATTERN:PATTERNに一致する情報以外の情報を表示する
$ ls a.txt b.txt c.txt test test2 $ ls --ignore=*.txt test test2