du /
перечисляет каждый отдельный файл?
||
Есть ли способ лучше?
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
для получения дополнительной информации.