Мне нужно искать всю файловую систему в Linux.Мне нужно найти использование дискового пространства всей файловой системы на основе результатов поиска?
8 ответов
df .
это все, что вам нужно, в любом каталоге вы хотите быть. Или с пути
df /path/of/the/interesting/directory
Другими новостями, команда apropos
перестала работать?
$ apropos "file system"
[...]
df (1) - report file system disk space usage
df # file system usage info
df -h # same, but in human readable format
df -a # all system and dummy file system usage info
Посмотрите на man df
для более полезной информации.
Команда "df -hl" может помочь вам в этом.
Портативный способ это:
df -k /ask
и большинство систем поддерживают более читаемый
df -h /ask
find any-path | xargs du -sh
например
find /home/user/movies | xargs du -sh
Я думаю, что ваш лучший способ - использовать df и unix pipe для извлечения нужных вам данных. Вы могли бы использовать awk или grep для этого.
Есть много вещей, которые вы можете сделать, но мне нравится следующее:
Найти растущие файлы
cd / ; touch now ; find . -newer /now -type f -print0 | du --files0-from=- | sort -n | perl -ne 'if ( /^(\d+)\s+(.*$)/){$l=log($1+.1);$m=int($l/log(1024)); printf ("%6.1f\t%s\t%25s %s\n",($1/(2**(10*$m))),(("K","M","G","T","P")[$m]),$2);}' | tail -n10
Найти самые большие файлы
cd / ; find . -type f -print0 | du --files0-from=- | sort -n | perl -ne 'if ( /^(\d+)\s+(.*$)/){$l=log($1+.1);$m=int($l/log(1024)); printf ("%6.1f\t%s\t%25s %s\n",($1/(2**(10*$m))),(("K","M","G","T","P")[$m]),$2);}' | tail -n10
наслаждаться
free
Команда будет очень удобной. Потому что, поскольку вы хотите знать, что диск свободен, вы можете помнить его очень хорошо.
У вас есть дополнительные опции, чтобы просмотреть вывод, как вы хотите.
free -b -> display usage in bytes.
free -k -> display usage in KB.
free -m -> display usage in MB.
free -g -> display usage in GB.
Кроме того, общая оперативная память + память подкачки и т.д. Можно посмотреть free --help
и играть с ней