Содержимое страницы «Users/mininajulia/pr3».
Команда du
Команда du позволяет задействовать одноименную утилиту, предназначенную для вывода информации об объеме дискового пространства, занятого файлами и директориями. Она принимает путь к элементу файловой системы и выводит информацию о количестве байт дискового пространства или блоков диска, задействованных для его хранения.
Базовый синтаксис команды выглядит следующим образом:
$ du [параметр] [путь-к-элементу-файловой-системы-1] [...] |
Утилита поддерживает ряд параметров, хотя и может выводить информацию о размере текущей директории в случае вызова без параметров и пути к элементу файловой системы, то есть, файлу или директории.
- Параметр -h позволяет выводить числовые значения занятого дискового пространства в килобайтах (K), мегабайтах (M) и гигабайтах (G), а не в количестве блоков диска, как это происходит по умолчанию. Параметр -a позволяет выводить информацию не только о размерах директорий, но и о размерах хранящихся в них файлов.
- Параметр -s напротив позволяет выводить лишь информацию об общем объеме директории без вывода информации об объемах ее элементов.
- Параметр -с позволяет выводить информацию об общем объеме всех отображенных элементов файловой системы.
- Кроме того, существуют такие параметры, как параметр --time, позволяющий выводить метки времени модификации файлов или директорий и параметр --exclude=<шаблон>, позволяющий исключать файлы с соответствующими шаблону именами.
Примеры использования
Получение информации об объеме директории
1. Для получения информации об объеме директории, а также всех ее поддиректорий может использоваться команда du без каких-либо параметров — главное передать путь к интересующей директории:
$ du /home/alexfc/bakfile/ |
В результате будет получен аналогичный вывод:
8348 /home/alexfc/nolf228/other |
9184 /home/alexfc/nolf228/ |
2. Очевидно, что объемы поддиректорий даны в количестве блоков диска. Для того, чтобы получить объемы директорий в килобайтах и мегабайтах следует использовать параметр -h:
$ du -h /home/alexfc/bakfile/ |
Теперь будет получен более читаемый вывод:
8,2M /home/alexfc/nolf228/other |
9,0M /home/alexfc/nolf228/ |
3. Для получения лишь общего объема директории следует добавить параметр -s:
$ du -hs /home/alexfc/bakfile/ |
Вывод будет содержать единственную строку:
9,0M /home/alexfc/nolf228/ |
4. Если же требуется получить информацию обо всех хранящихся в директориях файлах, нужно использовать параметр -a:
$ du -ha /home/alexfc/bakfile/ |
Вывод будет выглядеть аналогичным образом:
380K /home/alexfc/nolf228/splash1280.jpg |
188K /home/alexfc/nolf228/nolf228.jpg |
264K /home/alexfc/nolf228/splash1024.jpg |
8,2M /home/alexfc/nolf228/other/Better_Red_Than_Dead.rar |
8,2M /home/alexfc/nolf228/other |
9,0M /home/alexfc/nolf228/ |
5. Для вывода общего объема следует использовать параметр -c:
$ du -hс /home/alexfc/bakfile/ |
Теперь в выводе появится дополнительная строка «итого»:
8,2M /home/alexfc/nolf228/other |
9,0M /home/alexfc/nolf228/ |
9,0M итого |
6. В том случае, если нужно скрыть информацию о файлах с определенными именами, может использоваться параметр --exclude=<шаблон>. Например, данная команда позволяет скрыть информацию обо всех графических файлах с расширением .jpg:
$ du -ha --exclude="*.jpg" /home/alexfc/nolf228/ |
Вывод не будет содержать информации о файлах с упомянутым расширением, но будет содержать информацию о файлах со всеми другими расширениями, а также обо всех директориях. При этом объем директорий будет приведен в соответствие со списком отображаемых файлов :
8,2M /home/alexfc/nolf228/other/Better_Red_Than_Dead.rar |
8,2M /home/alexfc/nolf228/other |
8,2M /home/alexfc/nolf228/ |