du -hs *의 파일 및 디렉토리 크기가 du -hs와 일치하지 않습니다.

du -hs *의 파일 및 디렉토리 크기가 du -hs와 일치하지 않습니다.

bash 명령을 실행하면 du -hs .출력은 다음과 같습니다.

1.2G .

bash 명령을 실행하면 du -hs *출력은 다음과 같습니다.

108K    action
4.0K    activate.php
8.0K    browse.php
584K    captcha
164K    class
4.0K    clearcache
388K    cms
4.0K    comment.complete.php
4.0K    contact.php
530M    docs
116K    documentation
24K     DONE.txt
21M     em
4.0K    footer.php
4.0K    forgot.php
4.0K    header.php
196K    images
264K    includes
8.0K    index.php
168K    js
4.0K    login.php
4.0K    logout.php
4.0K    mail.confirmation.php
4.0K    mail.php
4.0K    news.item.php
4.0K    news.php
4.0K    profile.edit.php
4.0K    profile.php
4.0K    reset.confirmation.php
4.0K    robots.txt
4.0K    signup.confirmation.php
4.0K    signup.php
4.0K    svnstatus
4.0K    svnunknown
4.0K    TODO.txt
16M     tpl

출력 의 모든 파일과 디렉토리 크기를 합산하면 명령 du -hs *보다 약 600MB가 부족합니다 du -hs .. 600MB가 발생하는 원인을 어떻게 알 수 있나요? 그리고 두 명령 사이에 왜 그렇게 큰 차이가 있습니까?

답변1

du -hs *명령은 해당 와일드카드와 일치하는 파일만 보고합니다. 해당 와일드카드에는 마침표로 시작하는 파일이나 디렉터리가 포함되지 않습니다.

dh -sh명령은 (현재 디렉터리)를 확인하므로 .마침표로 시작하는 모든 파일을 포함하여 해당 디렉터리 아래의 모든 항목을 확인합니다.

예를 들어:

$ du -shc *
2.0M    file.1
4.0M    file.2
5.9M    file.3
 12M    total

$ du -shc
 24M    .
 24M    total

$ ls -la 
total 48576
drwxr-xr-x    8 John  Bovi      272 Aug 20 14:26 .
drwxr-xr-x  243 John  Bovi     8262 Aug 20 14:25 ..
-rw-r--r--    1 John  Bovi  2097152 Aug 20 14:26 .file.1
-rw-r--r--    1 John  Bovi  4145152 Aug 20 14:26 .file.2
-rw-r--r--    1 John  Bovi  6193152 Aug 20 14:26 .file.3
-rw-r--r--    1 John  Bovi  2097152 Aug 20 14:26 file.1
-rw-r--r--    1 John  Bovi  4145152 Aug 20 14:26 file.2
-rw-r--r--    1 John  Bovi  6193152 Aug 20 14:26 file.3

여담:

du -hs *일을 더 쉽게 하려면 du -hsc *. 총계가 제공되므로 수동으로 추가할 필요가 없습니다.

관련 정보