【メモ】 ディレクトリ内のファイル数が知りたかったら「ls -al」で良いのかー

ディレクトリ内のファイル一覧を表示するコマンド「ls」にはいくつかオプションがありますが、そのうちの「a」オプション(隠しファイルを含むすべてのファイルを表示する)と「l」オプション(ファイルの詳細を表示する)を使うとそのディレクトリに含まれるディレクトリ、ファイルの情報が一覧で表示できて便利です。

UNIXコマンド [ls]

とあるディレクトリでの実行結果

total 940
drwxrwxrwx   18 nobody apache  4096 Sep 26  2009 .
drwxrwxr-x    5 nobody apache  4096 Jul 27 11:44 ..
drwxrwxrwx    4 nobody apache 57344 Jul 28 05:15 0
drwxrwxrwx    3 nobody apache 57344 Jul 28 05:56 1
drwxrwxrwx  222 nobody apache 57344 Jul 28 06:26 2
drwxrwxrwx  103 nobody apache 53248 Jul 28 06:45 3
drwxrwxrwx  225 nobody apache 61440 Jul 28 06:57 4
drwxrwxrwx    5 nobody apache 53248 Jul 28 07:13 5
drwxrwxrwx 1700 nobody apache 57344 Jun 27 17:20 6


ディレクトリ数も表示されてた

んで、普段はパーミッション、所有者、ディレクトリ名/ファイル名くらいしか使ってなかったんですけど、左から2番目の数字、これ「そのディレクトリに含まれるディレクトリ数」または「そのファイルのハードリンク数」なのですね。知らなかった。

Linuxコマンド道場 – ファイルの詳細閲覧:ITpro


ああ、正確に言うと「ディレクトリ数+2」ですかね。これ使えばディレクトリ数なんかすぐに解る…。上記実行結果でいうと、ディレクトリ「6」に含まれているディレクトリ数は1698ということになります。そうなのかー


ファイルのサイズも表示されてた

ちなみにグループの横の数字は何だろうと思ったらファイルの容量。
「h」オプションを付けることで容量の単位を付記して表示できます。

とあるディレクトリでの実行結果

total 940K
drwxrwxrwx   18 nobody apache 4.0K Sep 26  2009 .
drwxrwxr-x    5 nobody apache 4.0K Jul 27 11:44 ..
drwxrwxrwx    4 nobody apache  56K Jul 28 05:15 0
drwxrwxrwx    3 nobody apache  56K Jul 28 05:56 1
drwxrwxrwx  222 nobody apache  56K Jul 28 06:26 2
drwxrwxrwx  103 nobody apache  52K Jul 28 06:45 3
drwxrwxrwx  225 nobody apache  60K Jul 28 06:57 4
drwxrwxrwx    5 nobody apache  52K Jul 28 07:13 5
drwxrwxrwx 1700 nobody apache  56K Jun 27 17:20 6

おー…おお?ディレクトリではあんまり意味ないのか。
ファイルでを表示した例だとこんな感じ。

別のディレクトリでの実行結果

total 124K
drwxr-xr-x 2 nobody apache 4.0K Aug 17  2010 .
drwxrwxrwx 4 nobody apache  52K Jul 24 06:51 ..
-rw-r--r-- 1 nobody apache  15K Aug 17  2010 sample1.jpg
-rw-r--r-- 1 nobody apache  33K Aug 17  2010 sample2.jpg
-rw-r--r-- 1 nobody apache 8.7K Aug 17  2010 sample3.jpg

「total」とディレクトリは表示が正しくないけど、ファイルはそのままファイルサイズ。
なるほどそうだったのか。



初歩的なことを知らないことが多すぎて、自分でも時々びっくりします。うーむ。

そんなわけで、メモ。