lsコマンド:最初の行はどういう意味ですか?


30

私が行うとls -l、私はこれを取得します:

calico@A000505:~/Documentos$ ls -l
total 2020
-rwxr-xr-x 1 calico calico    8559 2010-11-16 11:12 a.out
-rwxrw-rw- 1 smt    smt    2050138 2010-10-14 10:40 Java2.pdf
-rwxrw-rw- 1 ocv    ocv        234 2010-11-16 11:11 test.c

しかし、「合計2020」とはどういう意味ですか?ファイルが3つしかないので、ファイルやディレクトリの数ではなく、サイズでもありません。それは何ですか?

回答:


25

ディレクトリ内のファイルが非再帰的に使用する1kBブロックの数。

ls -lhより意味のある出力を得るために使用します。


5
より正確には、ほとんどの実装では、これはディレクトリリストに含まれるファイルで使用されるブロックの合計数です(と比較ls -l ~してくださいls -la ~、およびls -lA ~)。ブロックサイズは、GNUツールでは1kBですが、POSIXおよびその他の現在のほとんどの実装では512Bです。
ジル「SO-悪であるのをやめる」

何を-hするの?
ファンドモニカの訴訟

14

ls -alで「合計」とはどういう意味ですか

すばらしい質問です。詳細に注意を払いたいということです。例で説明します。私のホームディレクトリの下/home/elには、tmpdirというディレクトリがあり、その下にファイルがあります。そのディレクトリに移動してls -al

el@angeliqe ~/tmpdir $ ls -al
total 20
drwxrwxr-x 4 el users 4096 Dec 21 11:45 .
drwx--x--x 9 el users 4096 Dec 21 11:45 ..
drwxrwxr-x 2 el users 4096 Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4096 Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

「合計20」と表示されます。これは、「tmpdirはすべてのディレクトリとファイルにディスク上の20Kのスペースを使用します」に変換されます。

-hオプションを使用すると、人間が読める形式で提供するように指定できます。

el@angeliqe ~/tmpdir $ ls -alh
total 20K
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 .
drwx--x--x 9 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4.0K Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

何も入っていないディレクトリも8Kのスペースを占有していることに注意してください。私の場合emptydirは8Kを使用しているように見えます

el@angeliqe ~/tmpdir/emptydir $ ls -al
total 8
drwxrwxr-x 2 el users 4096 Dec 21 11:44 .
drwxrwxr-x 4 el users 4096 Dec 21 11:45 ..

空のディレクトリを追加すると、ディレクトリが4Kを占有することがわかります。

el@angeliqe ~/tmpdir/emptydir $ ls -alh
total 12K
drwxrwxr-x 3 el users 4.0K Dec 21 11:54 .
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:54 blah

調査する別のコマンドはdu次のとおりです。

el@angeliqe ~/tmpdir/emptydir $ du
4       ./blah
8       .

また、特定の深さまでのファイルサイズを確認できます。

el@angeliqe ~ $ du -h --max-depth=1
12K     ./.ssh
4.0K    ./my_recycle_bin
8.0K    ./.vim
13G     ./gnuoctbluehost
24K     ./tmpdir
48K     ./.subversion
152K    ./.cpan
13G     .
el@angeliqe ~ $

5

-soption(?)については誰も言及していません。からman ls

-s, --size print the allocated size of each file, in blocks

..そのため、リストls -sに含めると、現在のディレクトリの各ディレクトリとファイルのブロック数が取得されます。あなたがそれを要約するとき、あなたはあなたがtotal:上で見るのと全く同じ数を得るでしょうls -l

追加:ブロックサイズを取得するには、これをチェックしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.