Команда du в Linux с практическими примерами

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как использовать команду du (disk usage, использование диска) в Linux для оценки использования пространства на диске файлами и получения информации о размере дискового пространства, занимаемого файлами и каталогами. Вы научитесь использовать различные параметры команды du, измерять использование дискового пространства каталога и исключать каталоги из измерений с помощью команды du. В рамках практического занятия рассматриваются основные операции с файлами и каталогами в Linux, которые являются важной частью системного администрирования и управления файлами.

Справка по командам Linux


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") subgraph Lab Skills linux/ls -.-> lab-422652{{"Команда du в Linux с практическими примерами"}} linux/cd -.-> lab-422652{{"Команда du в Linux с практическими примерами"}} linux/df -.-> lab-422652{{"Команда du в Linux с практическими примерами"}} linux/du -.-> lab-422652{{"Команда du в Linux с практическими примерами"}} end

Понимание команды du

На этом этапе вы узнаете о команде du (disk usage, использование диска) в Linux. Команда du используется для оценки использования пространства на диске файлами и предоставления информации о размере дискового пространства, занимаемого файлами и каталогами.

Для начала давайте проверим справку по команде du:

man du

Вывод справки предоставит вам подробную информацию о различных параметрах и способах использования команды du.

Некоторые часто используемые параметры команды du включают:

  • -h: Отображать вывод в человекочитаемом формате (например, 1.2M вместо 1234567)
  • -s: Отображать общий размер каталога, а не размер каждого файла/каталога внутри него
  • -c: Отображать общий итог в конце вывода
  • -x: Не переходить за границы файловой системы
  • -d <depth>: Ограничить глубину дерева каталогов, которое будет отображено командой du

Теперь давайте попробуем несколько примеров, чтобы понять, как использовать команду du:

## Отобразить использование дискового пространства текущего каталога
du -h.

## Отобразить использование дискового пространства текущего каталога, включая подкаталоги
du -h -s *

## Отобразить использование дискового пространства текущего каталога, ограничив глубину до 1 уровня
du -h -d 1

Пример вывода:

4.0K   .
4.0K    file1.txt
8.0K    file2.txt
12K    .

Вывод показывает использование дискового пространства текущего каталога (.) и файлов в нем. Параметр -h отображает размеры в человекочитаемом формате.

Измерение использования дискового пространства каталога

На этом этапе вы узнаете, как использовать команду du для измерения использования дискового пространства определенного каталога.

Сначала создадим каталог и несколько файлов для работы:

mkdir ~/project/test_dir
cd ~/project/test_dir
touch file1.txt file2.txt file3.txt

Теперь используем команду du для измерения использования дискового пространства каталога test_dir:

## Отобразить использование дискового пространства каталога test_dir
du -h ~/project/test_dir

## Отобразить общий размер использования дискового пространства каталога test_dir
du -hs ~/project/test_dir

Пример вывода:

12K     /home/labex/project/test_dir
12K     /home/labex/project/test_dir

Первая команда du -h ~/project/test_dir отображает использование дискового пространства каждого файла и подкаталога внутри каталога test_dir. Параметр -h отображает размеры в человекочитаемом формате.

Вторая команда du -hs ~/project/test_dir отображает общий размер использования дискового пространства каталога test_dir. Параметр -s отображает общий размер вместо размеров отдельных файлов/каталогов.

Вы также можете использовать команду du для рекурсивного измерения использования дискового пространства каталога и его подкаталогов:

## Отобразить использование дискового пространства каталога test_dir и его подкаталогов
du -h -d 1 ~/project/test_dir

Пример вывода:

4.0K    /home/labex/project/test_dir/file1.txt
4.0K    /home/labex/project/test_dir/file2.txt
4.0K    /home/labex/project/test_dir/file3.txt
12K     /home/labex/project/test_dir
12K     /home/labex/project/test_dir

Параметр -d 1 ограничивает глубину дерева каталогов до 1 уровня, показывая использование дискового пространства каталога test_dir и его непосредственных файлов/подкаталогов.

Исключение каталогов из измерений с помощью команды du

На этом этапе вы узнаете, как исключить определенные каталоги из измерений использования дискового пространства с помощью команды du.

Создадим новую структуру каталогов для демонстрации этого:

mkdir -p ~/project/main_dir/subdir1 ~/project/main_dir/subdir2
touch ~/project/main_dir/subdir1/file1.txt ~/project/main_dir/subdir2/file2.txt

Теперь используем команду du для измерения использования дискового пространства каталога main_dir, включая его подкаталоги:

du -h -d 1 ~/project/main_dir

Пример вывода:

4.0K    /home/labex/project/main_dir/subdir1
4.0K    /home/labex/project/main_dir/subdir2
8.0K    /home/labex/project/main_dir
8.0K    /home/labex/project/main_dir

Как вы можете видеть, команда du включает в себя использование дискового пространства каталогов subdir1 и subdir2.

Если вы хотите исключить определенные каталоги из измерений с помощью команды du, вы можете использовать параметр --exclude:

du -h -d 1 --exclude=subdir1 ~/project/main_dir

Пример вывода:

4.0K    /home/labex/project/main_dir/subdir2
4.0K    /home/labex/project/main_dir
4.0K    /home/labex/project/main_dir

В этом примере параметр --exclude=subdir1 сообщает команде du исключить каталог subdir1 из измерений использования дискового пространства.

Вы также можете исключить несколько каталогов, используя параметр --exclude несколько раз:

du -h -d 1 --exclude=subdir1 --exclude=subdir2 ~/project/main_dir

Пример вывода:

0   /home/labex/project/main_dir
0   /home/labex/project/main_dir

В этом случае, так как мы исключили как subdir1, так и subdir2, общий размер использования дискового пространства каталога main_dir отображается как 0.

Резюме

В этом практическом занятии (лабораторной работе) вы узнали о команде du (disk usage, использование диска) в Linux, которая используется для оценки использования пространства на диске файлами и предоставления информации о размере дискового пространства, занимаемого файлами и каталогами. Вы изучили часто используемые параметры команды du, такие как -h для вывода в человекочитаемом формате, -s для отображения общего размера каталога и -d для ограничения глубины дерева каталогов. Затем вы практиковались в использовании команды du для измерения использования дискового пространства определенного каталога, как самого каталога, так и отдельных файлов в нем.

Справка по командам Linux