Disk-Usage

du 錯誤報告空目錄

  • December 17, 2018

我正在使用這些命令:

du -sh --apparent-size ./*
du -sh ./*

兩個報告:

4.0K    ./Lightroom_catalog_from_win_backup
432M    ./Lightroom catalog - wine_backup

而這些目錄包含:

$ll ./"Lightroom catalog - wine_backup"
total 432M
-rwxrwx--- 1 gigi gigi 432M Mar 18  2018 Lightroom 5 Catalog Linux.lrcat
-rwxrwx--- 1 gigi gigi  227 Nov 21  2015 zbackup.bat
$ll ./Lightroom_catalog_from_win_backup
total 396M
-rwxrwx--- 3 gigi gigi 396M Dec 17 09:35 Lightroom 5 Catalog Linux.lrcat
-rwxrwx--- 3 gigi gigi  227 Dec 17 09:35 zbackup.bat

為什麼du要報告4.0K./Lightroom_catalog_from_win_backup 以及如何使其正確報告?

PS:其他系統資訊:

$stat --file-system $HOME
 File: "/home/gigi"
   ID: 5b052c62a5a527bb Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 720651086  Free: 155672577  Available: 119098665
Inodes: Total: 183050240  Free: 178896289

$lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial

如果文件是硬連結,我可以重現:

~ mkdir foo bar
~ dd if=/dev/urandom of=bar/file1 count=1k bs=1k
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00985276 s, 106 MB/s
~ ln bar/file1 foo/file1
~ du -sh --apparent-size foo bar
1.1M    foo
4.0K    bar

這是預期的行為。來自GNUdu文件

如果兩個或多個硬連結指向同一個文件,則只計算其中一個硬連結。文件參數順序會影響計算哪些連結,更改參數順序可能會更改 du 輸出的數字和條目。

如果您確實需要重複大小的硬連結,請嘗試以下-l選項:

-l'

--count-links'

計算所有文件的大小,即使它們已經出現(作為硬連結)。

~ du -sh --apparent-size foo bar -l
1.1M    foo
1.1M    bar

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