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 для получения дополнительной информации.
