У меня есть каталог с тонны файлов, я хочу найти средний размер файлов этих файлов, так что что-то вроде ls, что-то, что соответствует среднему размеру файла всего этого?
Ответ 5
Они находят размер каталога и находят количество свободного места на диске, которое существует на вашем компьютере. Команда, которую вы использовали бы, чтобы найти размер каталога, - "du" . И чтобы найти свободное место на диске, вы можете использовать "df" .
Вся информация, представленная в этой статье, доступна на страницах man для du и df. Если вам скучно читать страницы руководства и вы хотите быстро выполнить свою работу, то эта статья для вас.
-
'du' - Поиск размера каталога
$ du
Введя приведенное выше в подсказке, вы получите список каталогов, существующих в текущем каталоге, а также их размеры. Последняя строка выводит общий размер текущего каталога, включая его подкаталоги. Указанный размер включает размеры файлов и каталогов, существующих в текущем каталоге, а также всех его подкаталогов. Обратите внимание, что по умолчанию размеры указаны в килобайтах.
**$ du /home/david**
Приведенная выше команда даст вам размер каталога в каталоге /home/david
**$ du -h**
Эта команда дает вам лучший результат, чем стандартный. Параметр "-h" означает читаемый человеком формат. Таким образом, размеры файлов/каталогов на этот раз суффиктируются "k", если его килобайты и "M", если его мегабайты и "G", если его гигабайты.
**$ du -ah**
Эта команда будет отображать на своем выходе не только каталоги, но и все файлы, которые присутствуют в текущем каталоге. Обратите внимание, что "du" всегда учитывает все файлы и каталоги, указывая конечный размер в последней строке. Но '-a' отображает имена файлов вместе с именами каталогов на выходе. '-h' - это еще раз читаемый человеком формат.
**$ du -c**
Это дает вам общую сумму в качестве последней строки вывода. Поэтому, если ваш каталог занимает 30 МБ, последние 2 строки вывода будут
30M.
30M всего
Первая строка будет последней строкой по умолчанию для вывода "du" , указывающей общий размер каталога, а другая строка будет иметь тот же размер, за которым следует строка "total". Это полезно, если вы выполните эту команду вместе с командой grep, чтобы отобразить конечный общий размер каталога, как показано ниже.
**$ du -ch | grep total**
Это приведет к тому, что только одна строка на своем выходе отобразит общий размер текущего каталога, включая все подкаталоги.
Примечание. Если вы не знакомы с трубами (что делает указанную выше команду), обратитесь к статье № 24. Также grep является одной из самых важных команд в Unix. Обратитесь к статье 25, чтобы узнать больше о grep.
**$ du -s**
Отображает сводку размера каталога. Это самый простой способ узнать общий размер текущего каталога.
**$ du -s**
Это будет отображать размер текущего каталога, исключая размер подкаталогов, существующих в этом каталоге. Таким образом, это в основном показывает общий размер всех файлов, существующих в текущем каталоге.
**$ du --exculde=mp3**
В приведенной выше команде будет отображаться размер текущего каталога вместе со всеми его подкаталогами, но он исключает все файлы, имеющие данный шаблон, в именах файлов. Таким образом, в приведенном выше случае, если в текущем каталоге или в любом из его подкаталогов есть какие-либо mp3 файлы, их размер не будет включен при вычислении общего размера каталога.
Введя приведенное выше, выводит таблицу, состоящую из 6 столбцов. Все столбцы очень легко понять. Помните, что столбцы "Размер", "Использовать" и "Использовать" используют килобайты в качестве единицы. Столбец "Использовать%" показывает использование в процентах, что также очень полезно.
**$ df -h**
Отображает тот же результат, что и предыдущая команда, но '-h' указывает на формат для чтения человеком. Следовательно, вместо килобайт в качестве единицы выход будет иметь "M" для мегабайт и "G" для гигабайт.
Большинство пользователей не используют другие параметры, которые могут быть переданы в 'df'. Поэтому я не буду обсуждать их.
В свою очередь, я покажу вам пример, который я использую на своей машине. Я фактически сохранил это как script с именем 'usage', так как часто использую его.
Пример:
У меня установлена моя Linux на /dev/hda 1, и я также смонтировал разделы Windows (по умолчанию каждый раз, когда загружается Linux). Таким образом, по умолчанию "df" показывает мне использование диска как для Linux, так и для Windows. И меня интересует только дисковое использование разделов Linux. Это то, что я использую:
**$ df -h | grep /dev/hda1 | cut -c 41-43**
Эта команда отображает следующее на моей машине
45%
В основном эта команда делает "df" отображением дискового использования всех разделов, а затем извлекает строки с /dev/hda 1, так как меня это интересует. Затем он вырезает символы из 41-го по 43-й столбец, так как они являются столбцами, отображающими использование в%, и это то, что я хочу.
Есть еще несколько опций, которые можно использовать с 'du' и 'df'. Вы можете найти их на страницах руководства.