В основном я задаюсь вопросом, где все мое дисковое пространство съедается на моем диске, и я хотел бы смочь проанализировать типом файла
Например, я хотел бы использовать Терминал для наблюдения, сколько пространства используется .psd
файлы на моем диске.
Существует ли способ сделать такую вещь?
Попробуйте это:
find . -iname '*.psd' -print0 | du -ch --files0-from=-
find . -iname '*.psd'
находит все файлы, которые заканчиваются расширением psd
-print0
печать, имена файлов, сопровождаемые нулевым символом вместо новой строки | du -ch --files0-from=-
, берут имена файлов от find
и вычисляют использование диска. Опции говорят du
: --files0-from=-
), -h
), и -c
). Изменение .psd
к любому типу файла Вы хотите найти использование диска для.
Да, вы можете. Синтаксис для поиска файлов в терминале:
Syntax : find foldername -iname '.filetype' -size size
Example : find $HOME -iname '*.mp3' -size +1M
Для вашего сценария он должен быть подобен
find $HOME -iname '*.psd' -size +0M
Для получения дополнительной информации см. Официальный документ здесь . [ 115]
В более общем плане вы можете использовать комбинацию find
и awk
для группировки использования диска по любому выбранному вами правилу. Вот команда, которая группирует файлы по расширениям (независимо от того, что появляется после последней точки):
# output pairs in the format: `filename size`.
# I used `nawk` because it's faster.
find -type f -printf '%f %s\n' | nawk '
{
split($1, a, "."); # first token is filename
ext = a[length(a)]; # only take the extension part of the filename
size = $2; # second token is file size
total_size[ext] += size; # sum file sizes by extension
}
END {
# print sums
for (ext in total_size) {
print ext, total_size[ext];
}
}'
Выдаст что-то вроде
wav 78167606
psd 285955905
txt 13160