Как исключить файлы/директории из вывода команды `du` в Linux

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

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

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) 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/wildcard("Wildcard Character") linux/FileandDirectoryManagementGroup -.-> linux/find("File Searching") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") subgraph Lab Skills linux/ls -.-> lab-409842{{"Как исключить файлы/директории из вывода команды `du` в Linux"}} linux/wildcard -.-> lab-409842{{"Как исключить файлы/директории из вывода команды `du` в Linux"}} linux/find -.-> lab-409842{{"Как исключить файлы/директории из вывода команды `du` в Linux"}} linux/grep -.-> lab-409842{{"Как исключить файлы/директории из вывода команды `du` в Linux"}} linux/du -.-> lab-409842{{"Как исключить файлы/директории из вывода команды `du` в Linux"}} end

Введение в команду du

Команда du в Linux - это мощный инструмент для оценки использования места на диске файлами и директориями. Она предоставляет подробную информацию о размере дискового пространства, занимаемом различными файлами и директориями в указанном пути. Эта команда особенно полезна, когда необходимо определить и управлять использованием места на диске в системе.

Что такое команда du?

Команда du расшифровывается как "использование диска" и используется для отображения количества дискового пространства, используемого файлами и директориями. Она рекурсивно обходит указанную директорию или иерархию файлов, отчитываясь о использовании места на диске для каждого элемента.

Сценарии использования

Команда du обычно используется в следующих сценариях:

  • Определение больших файлов или директорий, которые занимают значительное количество места на диске.
  • Анализ паттернов использования диска для оптимизации распределения места на диске и освобождения свободного места.
  • Мониторинг роста определенных директорий или файлов в течение времени.
  • Диагностика проблем, связанных с использованием диска, таких как неожиданное использование места на диске.

Базовый синтаксис команды du

Базовый синтаксис команды du выглядит так:

du [опции] [файл или директория]

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

  • -h: Отображает размеры файлов в человекочитаемом формате (например, КБ, МБ, ГБ).
  • -s: Отображает общий размер директории или файла, а не размеры отдельных файлов.
  • -a: Отображает использование места на диске для всех файлов, а не только директорий.
  • -c: Отображает общий итог использования места на диске для всех элементов.

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

$ du -h.
4.0K   ./file1.txt
8.0K   ./file2.txt
12K    .

Этот вывод показывает, что текущая директория (.) использует 12 КБ места на диске, при этом два файла (file1.txt и file2.txt) вносят вклад в общий объем.

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

В некоторых случаях вы можете захотеть исключить определенные файлы или директории из вывода команды du. Это может быть полезно, когда вы хотите сосредоточиться на конкретных областях вашей файловой системы или избежать включения временных или ненужных данных в отчет о использовании места на диске.

Исключение файлов с использованием опции --exclude

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

$ du --exclude='*.tmp'.
12K    ./file1.txt
8.0K   ./file2.txt
20K    .

В этом примере команда du исключает все файлы с расширением .tmp из отчета о использовании места на диске.

Исключение директорий с использованием опции --exclude-from

Если у вас есть длинный список файлов или директорий, которые вы хотите исключить, вы можете создать файл, содержащий шаблоны исключения, и использовать опцию --exclude-from для указания этого файла. Вот пример:

$ cat exclude_list.txt
*.tmp
backup/
$ du --exclude-from=exclude_list.txt.
12K    ./file1.txt
8.0K   ./file2.txt
20K    .

В этом примере команда du исключает все файлы с расширением .tmp и директорию backup/ из отчета о использовании места на диске.

Исключение конкретных директорий с использованием опции --exclude-directory

Опция --exclude-directory позволяет вам исключить конкретные директории из вывода команды du. Вот пример:

$ du --exclude-directory=backup.
12K    ./file1.txt
8.0K   ./file2.txt
20K    .

В этом примере команда du исключает директорию backup/ из отчета о использовании места на диске.

Используя эти опции исключения, вы можете настроить вывод команды du, чтобы сосредоточиться на конкретных файлах и директориях, которые важны для вашего анализа.

Применение техник исключения

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

Исключение временных файлов и директорий

Временные файлы и директории часто создаются различными приложениями и могут значительно вносить вклад в отчет о использовании места на диске. Чтобы исключить их, вы можете использовать опцию --exclude с общими расширениями временных файлов или именами директорий:

$ du --exclude='*.tmp' --exclude-directory='/tmp'.
12K   ./file1.txt
8.0K  ./file2.txt
20K   .

В этом примере команда du исключает все файлы с расширением .tmp и директорию /tmp из отчета о использовании места на диске.

Исключение директорий системы контроля версий

Если ваше проектирование использует систему контроля версий, такая как Git, связанные директории (например, .git/) можно исключить из вывода команды du:

$ du --exclude-directory='.git'.
12K   ./file1.txt
8.0K  ./file2.txt
20K   .

Это гарантирует, что отчет о использовании места на диске сосредоточен на фактических файлах и директориях проекта, а не на данных, связанных с системой контроля версий.

Исключение конкретных шаблонов файлов

Вы также можете исключить файлы на основе конкретных шаблонов, таких как расширения файлов или части имен файлов. Это может быть полезно, когда вы хотите сосредоточиться на определенном типе файлов или исключить определенные типы резервных копий или журналов. Например:

$ du --exclude='*.log' --exclude='*backup*'.
12K   ./file1.txt
8.0K  ./file2.txt
20K   .

В этом случае команда du исключает все файлы с расширением .log и любые файлы или директории, содержащие слово "backup".

Применяя эти техники исключения, вы можете настроить вывод команды du под свои конкретные нужды и лучше понять использование места на диске в вашей системе Linux.

Резюме

По окончании этого руководства вы научитесь эффективным методам исключения файлов и директорий из вывода команды du в Linux. Эти знания помогут вам упростить анализ использования места на диске, сосредоточившись только на информации, которая важна для ваших нужд. Независимо от того, являетесь вы системным администратором или активным пользователем, овладение этой навыком улучшит ваши способности управления файлами в Linux.