Disk-Usage

du 為 * 和文件夾名稱顯示完全不同的文件夾大小

  • April 3, 2017

我正在嘗試移動一些數據並開始我想確保大小是好的。但是,如果我使用以下命令檢查文件夾,我會遇到問題

du -sh  myfolder/
780M    myfolder/

du -sh *
..
71M     myfolder
..

我認為這可能與隱藏文件有關,但這個特定的文件夾裡面沒有任何內容。

我錯過了什麼嗎?

有可能myfolder包含價值 709 MB 的文件,這些文件在之前按字典順序排序的子目錄中有另一個硬連結myfolder。該du命令僅在第一次看到它時報告每個不同的文件,因此如果一個文件在執行的樹中具有多個連結du,則僅報告一次,在首先遍歷的目錄下。

您可以通過以下幾種方式查找硬連結:

  • find myfolder -links +1 -type f``myfolder列出在(+1表示“多個”)下至少有第二個硬連結的所有文件,無論該連結在哪裡。
  • find . -samefile myfolder/foo``myfolder/foo(使用 GNU 查找)列出目前目錄下的所有硬連結。由於myfolder在目前目錄下,這包括myfolder/foo它自己。
  • find -type f -links +1 -printf '%i %p\n' | sort -k1n(使用 GNU 查找)生成目前目錄下的硬連結文件列表,按 inode 編號分組。如果兩個文件位於同一文件系統上並且具有相同的 inode 編號,則它們是相同的。

引用自:https://unix.stackexchange.com/questions/354508