Linuxコマンド虎の巻

ls

lsは、ファイル、ディレクトリの情報を表示するコマンドです。

構文

(構文)
ls [オプション] [<パス>]
【オプション】
オプション説明
-a隠しファイルも含め、全てのファイルを表示する
-A隠しファイルも含め、全てのファイルを表示するが
「.」「..」は表示しない
-Fファイル名/ディレクトリ名に種類を表す記号を付加して表示する
(/:ディレクトリ、*:実行可能)
-iiノード番号を表示する
-lファイル名だけでなく、ファイルの詳細も表示する
-mファイル名/ディレクトリ名をカンマ区切りで表示する
-r並びを逆に表示する
-R再帰的にファイル名/ディレクトリ名を表示する
-Sサイズの大きい順に表示する
-t更新時間が新しい順に表示する
-1ファイル名のみ縦に表示する
--helpコマンドのヘルプを表示する
--full詳細な更新日時を表示する

サンプル

カレントにあるファイル名とディレクトリ名を一覧表示する

$ ls

パス「/home/hoge」にあるファイル名とディレクトリ名を一覧表示する

$ ls /home/hoge

パス「/home/hoge」配下の全ディレクトリを再帰的に詳細一覧表示する

$ ls -lR /home/hoge

カレントにあるファイル名とディレクトリ名を詳細に一覧表示する

[taro@svr ~]$ ls -l total 4 drwxr-xr-x 2 taro taro 4096 Jan 1 08:30 tmp01 drwxr-xr-x 2 taro taro 512 Feb 12 09:45 tmp02 -rw-r--r-- 1 taro taro 1397 Mar 3 18:17 aaa.txt lrwxrwxrwx 1 root root 8 Jan 25 23:28 lnk01 -> /usr/etc

各列に表示されている項目は以下の通りです。

1列目1桁目種類 d:ディレクトリ -:ファイル l:リンク
1列目2~10桁目パーミション
2列目ハードリンクの数
3列目所有者名
4列目グループ名
5列目サイズ
6列目更新日時(月)
7列目更新日時(日)
8列目更新日時(時:分)
9列目ファイル名/ディレクトリ名/リンク名

パーミッションの各列の意味は以下の通りです。

表示対象意味
r所有者読込み権限あり
w書き込み権限あり
x実行権限あり
rグループ読込み権限あり
w書き込み権限あり
x実行権限あり
rその他読込み権限あり
w書き込み権限あり
x実行権限あり

権限が無い項目は、「-」が表示されます。

カレントにあるファイル名とディレクトリ名を更新時間順に詳細一覧表示する

$ ls -lt

最後の10件のみ表示する

$ ls -l | tail

tailのデフォルト値が10件のため、件数の指定を省略しています。

更新日付が最新のものから5件表示する

$ ls -lt | head -5

ファイル名のみを縦に並べて表示する

$ ls -1

ファイル・ディレクトリの一覧をhoge.txtファイルに追記出力する

$ ls -l >> hoge.txt

上書き出力したい場合は、「>>」を「>」にすればOKです。

ls-l の結果をlessで表示する

$ ls -l | less

ls -l の結果が大量に存在する場合に便利です。

カレントディレクトリに存在するファイル数を表示する

$ ls -1 | wc -l

備考

  • lsは、listの略です。
  • <パス>を省略した場合は、カレントディレクトリが対象となります。