[unix] ls 명령 : 첫 번째 줄은 무엇을 의미합니까?

내가 할 때 나는 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 개뿐이므로 파일이나 디렉토리의 수가 아니며 크기도 같지 않습니다. 그래서 무엇입니까?



답변

디렉토리의 파일에서 비재 귀적으로 사용 되는 1kB 블록 수입니다 .

ls -lh좀 더 의미있는 결과를 얻기 위해 사용하십시오 .


답변

ls -al에서 “total”은 무슨 뜻입니까

좋은 질문은 세부 사항에주의를 기울이고 싶다는 것을 의미합니다. 예를 들어 설명하겠습니다. 내 홈 디렉토리 /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 공간을 차지 하지만 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 ~ $


답변

아무도 -s옵션 (?) 에 대해 언급하지 않았습니다 . 보낸 사람 man ls:

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

.. 목록에 있으면 ls -s현재 디렉토리의 각 디렉토리 및 파일에 대한 블록 수를 얻게됩니다. 요약하면 total:위에 표시된 것과 정확히 같은 숫자가 표시됩니다 ls -l.

추가 : 블록 크기를 얻으려면 이것을 확인 하십시오 .


답변