2016-11-02 8 views
0

Не могу понять, почему у меня разный общий размер в папке по сравнению с родительским.Почему команда du показывает разное общее количество в папке по сравнению с родительским

Это моя папка дерево

bkp 
|-- raid10 
| |-- folder_a 
| |-- folder_b 
| |-- folder_c 
| |-- folder_d 
| |-- folder_e 
| |-- folder_f 
| |-- folder_g 
| |-- folder_h 
| |-- folder_i 
| |-- folder_j 
| |-- folder_k 
| |-- folder_l 
| |-- script.sh 
|-- vm 

Я ранее удалить большое количество файлов в этой папке, и я хочу, чтобы мое новое использование дискового пространства.

sudo du -shc /bkp/* 
756G raid10 
4.0K vm 
756G total 

Теперь я выполнить эту команду, чтобы получить более подробную информацию о RAID10 папке:

sudo du -shc /bkp/raid10/* 
13G  folder_a 
178M folder_b 
15G  folder_c 
2.3G folder_d 
32M  folder_e 
31G  folder_f 
31G  folder_g 
49G  folder_h 
131M folder_i 
4.7G folder_j 
392M folder_k 
4.0K folder_l 
4.0K lost+found 
4.0K script.sh~ 
144G total 

Почему общая настолько разные?

Я проверил man du и попробовал какую-то команду, например --apparent-size, но такой же результат. Также попробуйте без -s sudo du -hc /bkp/raid10/*, у меня такая же общая, но я вижу все директории ...

У меня есть некоторые предположения:

  • Существует некоторый кэш du команды?
  • Есть мусор или скрытый файл, который du не может прочитать?

Некоторая информация о моих файлах:

  • Диск файловой системы ext4
  • файла загружаются с Rsync
  • диск не является в налете
+1

Файлы с "." (символ точки) внутри каталога raid10? Можете ли вы сделать 'ls -al' в каталоге raid10 и посмотреть. Или вы можете запустить 'find. -name ". *" -ls', чтобы найти такие файлы/файлы рекурсивно. – blackpen

+1

@blackpen Спасибо, я нашел свою проблему, у меня есть папка .trash-1000 в моем raid10 –

ответ

1

Чтобы du поиск невидимое просто сделайте:

#First part will get all invisible and second will get all non-invisible 
du -shc /bkp/raid10/.[!.]* /bkp/raid10/* 

Или уборщик команда:

cd /bkp/raid10 
du -sch .[!.]* * 

Или включить параметр оболочки, соответствующий скрытый файл с глобирование

shopt -s dotglob 
du -sch * 
+1

Хорошая. Вы пытались найти использование диска для скрытых dirs/файлов только в каталоге/bkp/raid10 (OR также в текущем каталоге)? Может быть, вы хотите его как '/ bkp/raid10 /.[!.]*'? – blackpen

+0

Да, вы правы, моя команда не хороша, я отредактирую для более чистого ответа. Это работа, потому что я в/bkp/raid10. –

+2

Или просто включите опцию оболочки, которая соответствует скрытым файлам с помощью globbing (например, 'dotglob' на bash). –

0

Для поиска скрытых (имена, начинающиеся с точки), файлы/каталоги рекурсивно:

find . -name ".*" -ls 

 Смежные вопросы

  • Нет связанных вопросов^_^