du 및 ls 명령이 잘못된 디렉토리 크기를 보고함

du 및 ls 명령이 잘못된 디렉토리 크기를 보고함

나는 du주문에 익숙하다. -h옵션과 함께 자주 사용합니다. 결과를 텍스트 파일로 보고하고 이를 사용하여 공간 소비자를 추적합니다.

하지만 오늘 디렉토리가 다음을 사용하는 것으로 보고되는 것을 보고 이상했습니다.32PB(페타바이트). 128GB는 디스크의 용량입니다…

du그래서 내 질문은: 이것이 명령의 버그입니까 아니면 플래그의 버그입니까 du -h? 명령이 몇 가지 비정상적인 숫자도 보고한다는 사실을 알고 있으면 lsFS에서 어떤 추가 검사를 수행할 수 있습니까?


Shell = /bin/bash,
Path =  ~/.../data  > ls -la
total 39582418599960
drwxrwxr-x 2 user user  4096 jan  4 09:49 .
drwxrwxr-x 4 user user  4096 jan  4 09:49 ..
-rw-rw-r-- 1 user user 11330 jan  4 09:49 Fortress.dat
-rw-rw-r-- 1 user user    54 jan  4 09:49 villages.dat

명령에 다른 옵션을 사용하면 ls결과가 달라집니다.


Shell = /bin/bash
Path =  ~/.../data  > ls -l
total 16
-rw-rw-r-- 1 user user 11330 jan  4 09:49 Fortress.dat
-rw-rw-r-- 1 user user    54 jan  4 09:49 villages.dat

을 사용하면 du -a현재 디렉토리에 문제가 있음을 알 수 있습니다. 이것이 바로 simple이 ls -l문제를 보고하지 않는 이유입니다(보고서에 현재 디렉터리가 포함되지 않음).


Shell = /bin/bash
Path =  ~/.../data  > du -a
12  ./Fortress.dat
4   ./villages.dat
39582418599956  .

내 디스크의 몇 가지 특징은 다음과 같습니다.


Disque /dev/sda : 128GB
Taille des secteurs (logiques/physiques): 512B/512B
Table de partitions : msdos

Numéro  Début   Fin    Taille  Type      Système de fichiers  Fanions
 1      1049kB  124GB  124GB   primary   ext4                 démarrage
 2      124GB   128GB  4083MB  extended
 5      124GB   128GB  4083MB  logical   linux-swap(v1)

또한 보고된 파일 크기를 변경할 수 있는 "스파스" 파일에 대해 읽었습니다. 여기서 내가 이해하지 못하는 것은 문제가 디렉토리에 있는 것 같다는 것입니다... 희소 디렉토리가 있습니까?

그 외에는 SDD에서 재생하는데 아무런 문제가 없습니다.

어떤 조언이라도 감사드립니다...마크.

답변1

나에게 이것은 파일 시스템 손상처럼 보이며 다음을 수행하십시오.

sudo touch /forcefsck

그런 다음 재부팅하십시오. 그러면 파일 시스템에서 fsck가 강제 실행됩니다.

관련 정보