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 が強制されます。

関連情報