Найдите самые большие и самые маленькие каталоги и файлы в Linux
Если вас беспокоит дисковое пространство, вы должны знать, какие каталоги и файлы занимают больше дискового пространства, а какие — наименьшие. Это даст вам представление о том, как избавиться от ненужных каталогов и файлов, занимающих место на диске. Кроме того, вы можете сделать резервную копию или заархивировать их на внешние диски, чтобы освободить место. В этом кратком руководстве мы обсудим, как находить самые большие и самые маленькие каталоги и файлы в Linux и Unix-подобных операционных системах.
Найдите самые большие и самые маленькие каталоги и файлы в Linux
Сначала давайте посмотрим, как найти самые большие каталоги и файлы в нашей системе Linux.
1. Найдите самые большие каталоги и файлы в Linux и Unix.
Насколько я знаю, единой команды для поиска самых больших каталогов и файлов не существует. Однако для достижения этой задачи мы можем использовать некоторую комбинацию команд.
Чтобы узнать десять самых больших каталогов и файлов в текущем рабочем каталоге, просто запустите:
sudo du -a | sort -n -r | head -n 10
Пример вывода:
324793508 .
175393112 ./Soft_Backup
114384256 ./Soft_Backup/VHD's
76665704 ./Personal
58237276 ./Soft_Backup/OS Images
48053708 ./Soft_Backup/OS Images/Linux
32940784 ./Personal/Tutors
28189472 ./Downloads
26067640 ./Personal/Study
23741692 ./VirtualBox VMs
Где,
- du: команда использования диска, определяющая использование файлового пространства.
- -a: отображает все каталоги и файлы.
- sort: сортировка строк текстовых файлов.
- -n: сравнение по числовому значению строки.
- -r: отменить результат сравнения.
- head: вывести первую часть файлов.
- -n 10: вывести первые 10.
Чтобы просмотреть приведенный выше результат в удобочитаемом формате (в КБ, МБ, ГБ и т. д.), просто добавьте параметр "h", как показано ниже.
sudo du -ah | sort -n -r | head -n 10
Как вы видите из приведенных выше результатов, мы перечислили все файлы и каталоги, а также их подкаталоги в текущем рабочем каталоге.
Чтобы отобразить самые большие каталоги и файлы определенного каталога, например /var, выполните:
sudo du /var -a | sort -n -r | head -n 10
Пример вывода:
9317388 /var
5159660 /var/cache
5129476 /var/cache/pacman
5129472 /var/cache/pacman/pkg
2304368 /var/lib
1979572 /var/lib/docker
1976628 /var/lib/docker/devicemapper
1976532 /var/lib/docker/devicemapper/devicemapper
1974172 /var/lib/docker/devicemapper/devicemapper/data
1853276 /var/log
Чтобы отобразить приведенные выше результаты в удобочитаемом формате, добавьте параметр "-h":
sudo du -ah /var | sort -n -r | head -n 10
Давайте выясним самые большие файлы в текущем рабочем каталоге и его подкаталогах:
sudo find -printf '%s %p\n'| sort -nr | head -10
Пример вывода:
14621343744 ./Soft_Backup/VHD's/openSUSE 42.1 Leap Desktop/openSUSE 42.1 Leap Desktop.vdi
13767896472 ./Downloads/3.0.6/eos-amd64-amd64/en/eos-eos3.0-amd64-amd64.161109-081728.en.img.xz.part
12878610432 ./VirtualBox VMs/Ubuntu 16.04 LTS Desktop/Ubuntu 16.04 LTS Desktop.vdi
12834570240 ./Soft_Backup/VHD's/Ubuntu 16.04 LTS Desktop/Ubuntu 16.04 LTS Desktop.vdi
9360637952 ./VirtualBox VMs/Fedora 24 Desktop/Fedora 24 Desktop.vdi
7785676800 ./Soft_Backup/VHD's/Ubuntu 14.04 LTS desktop/Ubuntu 14.04 LTS desktop.vdi
7523532800 ./Soft_Backup/VHD's/Fedora 23 desktop/Fedora 23 desktop.vdi
7223640064 ./Soft_Backup/VHD's/FreeBSD 10.3 MATE desktop/FreeBSD 10.3 MATE desktop.vdi
6510608384 ./Soft_Backup/VHD's/Windows 7/Windows 7.vdi
6323896320 ./Soft_Backup/VHD's/Fedora 23 desktop/.goutputstream-UT19IY
Кроме того, вы можете пропустить каталоги и отображать только файлы, добавив флаг "-type f" в приведенную выше команду:
sudo find -type f -printf '%s %p\n'| sort -nr | head -10
Пример вывода:
14621343744 ./Soft_Backup/VHD's/openSUSE 42.1 Leap Desktop/openSUSE 42.1 Leap Desktop.vdi
13767896472 ./Downloads/3.0.6/eos-amd64-amd64/en/eos-eos3.0-amd64-amd64.161109-081728.en.img.xz.part
12878610432 ./VirtualBox VMs/Ubuntu 16.04 LTS Desktop/Ubuntu 16.04 LTS Desktop.vdi
12834570240 ./Soft_Backup/VHD's/Ubuntu 16.04 LTS Desktop/Ubuntu 16.04 LTS Desktop.vdi
9360637952 ./VirtualBox VMs/Fedora 24 Desktop/Fedora 24 Desktop.vdi
7785676800 ./Soft_Backup/VHD's/Ubuntu 14.04 LTS desktop/Ubuntu 14.04 LTS desktop.vdi
7523532800 ./Soft_Backup/VHD's/Fedora 23 desktop/Fedora 23 desktop.vdi
7223640064 ./Soft_Backup/VHD's/FreeBSD 10.3 MATE desktop/FreeBSD 10.3 MATE desktop.vdi
6510608384 ./Soft_Backup/VHD's/Windows 7/Windows 7.vdi
6323896320 ./Soft_Backup/VHD's/Fedora 23 desktop/.goutputstream-UT19IY
Чтобы узнать самые большие файлы в определенном каталоге (например, /var) и его подкаталогах, просто укажите путь к каталогу, как показано ниже:
sudo find /var -printf '%s %p\n'| sort -nr | head -10
Теперь у вас есть базовое представление о том, как найти самые большие файлы и каталоги. Как насчет самых маленьких файлов и каталогов? Это также легко узнать.
2. Найдите самые маленькие каталоги и файлы в Linux и Unix.
Чтобы просмотреть десять самых маленьких каталогов в текущем рабочем каталоге, запустите:
du -S . | sort -n | head -10
Пример вывода:
4 ./.adobe
4 ./.adobe/Flash_Player
4 ./.adobe/Flash_Player/AssetCache
4 ./.alkasir/log
4 ./.alkasir/torpt
4 ./.alkasir/torpt/ptc
4 ./.bundle/cache
4 ./.bundle/cache/compact_index
4 ./.cache/chromium/Default
4 ./.cache/deepin
Чтобы просмотреть самые маленькие каталоги в определенном месте, например /var, выполните:
sudo du -S /var | sort -n | head -10
Чтобы просмотреть десять самых маленьких файлов только в текущем рабочем каталоге, запустите:
ls -lSr | head -10
Пример вывода:
total 116
-rw-r--r-- 1 sk users 62 Nov 5 12:15 Inter.txt
drwxr-xr-x 2 sk users 4096 May 9 2016 Wallpapers
drwxr-xr-x 5 sk users 4096 Nov 25 17:24 VirtualBox VMs
drwxr-xr-x 2 sk users 4096 May 11 2016 Videos
drwxr-xr-x 6 sk users 4096 Oct 24 17:32 usbkill
drwxr-xr-x 2 sk users 4096 May 11 2016 Templates
drwxr-xr-x 5 sk users 4096 May 4 2016 Soft_Backup
drwxr-xr-x 2 sk users 4096 Oct 25 12:32 snap
drwxr-xr-x 2 sk users 4096 May 11 2016 Public
Аналогично, чтобы просмотреть десять самых маленьких файлов только в определенном каталоге, например /var, просто запустите:
sudo ls -lSr /var | head -10
Рекомендуем прочитать:
- Как узнать размер каталога в Linux
Теперь вы знаете, как найти самые большие и самые маленькие каталоги и файлы в ваших операционных системах Linux и Unix.
Ресурсы:
- Ссылка 1
- Ссылка 2