Это, наверное, что-то простое, но я'м не в состоянии заставить его работать. Я'м пытаются использовать для получения общего размера файлов, за вычетом определенных каталогах. Мне нужно исключить одну конкретную директорию с именем загружает
но не каждую директорию с именем добавления
. Например, моя структура файла выглядит так:
/store
/uploads
/junk_to_ignore
/more_junk_to_ignore
/user_one
/uploads
/user_two
Я могу запустить следующую команду:
du -ch --exclude=uploads*
и это дает мне размер файла минус всех "загрузки" и каталогах. Однако, в попытке исключить некоторые папки (и всех его подкаталогов) у меня не получится. Я'пробовала вариации:
du -ch --exclude=./uploads*
du -ch --exclude='/full/path/to/uploads/*'
но может'т, кажется, чтобы понять это. Как исключить определенный каталог?
Вы'вэ почти нашел его :)
du -ch --exclude=./relative/path/to/uploads
Примечание не Звездочка в конце. Звездочка означает все подкаталогов на "загрузить и" должны быть опущены, но не файлы непосредственно в этот каталог.
Чтобы исключить нескольких каталогах, просто пропускали ... снова исключить флаг.
du -ch --exclude=relative/path/to/uploads --exclude other/path/to/exclude
удивительный пропустить виртуальной файловой системы, вроде так
du -hsx --exclude=/{proc,sys,dev} /*
Если вы должны быть на macOS, вы установить GNU Coreutils с помощью следующей команды.
brew install coreutils
Большинство команд установлен Coreutils имеют префикс г
, так как они имеют БСД тезка предустановленной на macOS. Тогда вы можете сделать следующее.
gdu --exclude=Microsoft /Library/Fonts/