Does `du /` list every single file on a system?

Есть ли du / list every single file?
||
Есть ли способ лучше?

1 ответ

Решение

Есть ли du / перечислить каждый файл?

От man du :

Суммируйте использование диска каждого FILE , рекурсивно для каталогов.

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

Это будет список файлов, если они приведены в качестве аргументов. Так как / это каталог, du / списки каталогов; файлы учитываются при расчете размеров их соответствующих каталогов; в этом случае они не перечислены.


find это стандартный инструмент для вывода списка файлов. Чтобы вывести список всех файлов, выполните:

sudo find / -type f

где -type f говорит инструменту перечислять только обычные файлы. Таким образом, вы получите свой результат без размеров (по сравнению с du выход); это хорошо, если вы хотите только перечислить файлы.


В общем случае find полезно, потому что вы можете указать несколько критериев для него (следующий список не является исчерпывающим):

  • если результаты включают обычные файлы, каталоги, именованные каналы,… ( -type опция);
  • ctime , atime , mtime ;
  • владельцем;
  • по разрешениям;
  • по размеру.

Я думаю, вам нужно иметь список файлов, чтобы что-то с ним сделать. Вы можете использовать пути, предоставленные find в трубе укажите его вывод ( -fprint опция) или выполнить команду для каждого найденного файла ( -exec ). Есть также варианты (как -print0 ) разработан, чтобы избежать проблем с некоторыми проблемными символами в именах файлов.

Ссылаться на man find для дополнительной информации.

Другие вопросы по тегам