Niedawno przeszedłem z serwera Windows na serwerowy system operacyjny Linux i potrzebuję Linux sprawdzić przestrzeń dyskową polecenie. Używam Ubuntu 16.04/18.04/20.04 i CentOS 7.x/8.x serwer. Jak mogę znaleźć informacje na temat wykorzystania przestrzeni dyskowej przy użyciu opcji wiersza poleceń Linux?
Linux oferuje następujące polecenia, aby sprawdzić wykorzystanie przestrzeni dyskowej:
Linux polecenia do sprawdzenia wykorzystania przestrzeni dyskowej:
- polecenie df – Pokazuje ilość miejsca na dysku używanego i dostępnego w systemach plików Linux.
- polecenie du – Wyświetla ilość miejsca na dysku używanego przez określone pliki i dla każdego podkatalogu.
- btrfs fi df /device/ – Pokazuje informacje o wykorzystaniu przestrzeni dyskowej dla punktu montowania/systemu plików opartego na btrfs.
Linux sprawdzanie przestrzeni dyskowej poleceniem df
- Otwórz terminal i wpisz następujące polecenie, aby sprawdzić przestrzeń dyskową.
- Podstawowa składnia polecenia df to:
df
Typ: - df
- df -H
Przykładowe dane wyjściowe:
Fig.01: polecenie df w akcji
Elementy w nawiasach kwadratowych są opcjonalne. Możesz po prostu wpisać polecenie df (tj. bez argumentów), aby zobaczyć tabelę, która zawiera listę nazw każdego urządzenia w systemie.
Poznaj informacje o konkretnym systemie plików
Możesz podać urządzenie lub punkt montowania jako argument, a df zgłosi dane tylko dla systemu plików fizycznie rezydującego na tym urządzeniu. Na przykład, poniższe polecenie dostarcza informacji tylko dla partycji /dev/sda:$ df /dev/sda
$ df -h /dev/sdc1
$ df /data/
Przykładowe dane wyjściowe:
Filesystem 1K-blocks Used Available Use% Mounted on/dev/sda 2930266584 69405248 2859579472 3% /data
Zrozumienie danych wyjściowych polecenia df
Ważne pola są następujące:
Nazwa wyświetlana | Nazwa pola poprawnego (dla opcji –output) | Opis |
---|---|---|
Filesystem | source | Źródło punktu montowania, zwykle urządzenie. |
1K-blocks | size | Całkowita liczba bloków. |
Used | used | Liczba używanych bloków. |
Available | avail | Liczba dostępnych bloków. |
Use% | pcent | Procent USED podzielony przez SIZE. |
Mounted on | target | Punkt montowania. |
Możesz przekazać format wyjściowy określony przez 'valid field name' w następujący sposób:$ df --output=field1,field2,...
$ df --output=source,used,avail /data/
Przykładowe dane wyjściowe:
Filesystem Used Avail/dev/md0 5.4G 115Gudev 0 11Mtmpfs 6.2M 414Mtmpfs 4.1k 1.1Gtmpfs 4.1k 5.3Mtmpfs 0 1.1G/dev/md2 818G 688Gtmpfs 0 210Mtmpfs 0 210M/dev/mapper/cryptvg-mybackup 77G 526G
Możesz wydrukować wszystkie dostępne pola, wpisz:$ df --o
Przykładowe dane wyjściowe:
Filesystem Type Inodes IUsed IFree IUse% 1K-blocks Used Avail Use% File Mounted onudev devtmpfs 379248 333 378915 1% 10240 0 10240 0% - /devtmpfs tmpfs 381554 498 381056 1% 610488 9704 600784 2% - /run/dev/sdc1 ext3 956592 224532 732060 24% 14932444 7836056 6331204 56% - /tmpfs tmpfs 381554 1 381553 1% 1526216 0 1526216 0% - /dev/shmtmpfs tmpfs 381554 4 381550 1% 5120 0 5120 0% - /run/locktmpfs tmpfs 381554 14 381540 1% 1526216 0 1526216 0% - /sys/fs/cgroup/dev/sda btrfs 0 0 0 - 2930266584 69405248 2859579472 3% - /datatmpfs tmpfs 381554 4 381550 1% 305244 0 305244 0% - /run/user/0
Wyjście df w formie czytelnej dla człowieka
Podaj opcję -h, aby zobaczyć wyjście w formacie czytelnym dla człowieka. Rozmiar urządzenia będzie podany w gigabajtach, terabajtach lub megabajtach:$ df -h ### Human format
$ df -m ### Show output size in one-megabyte
$ df -k ### Show output size in one-kilobyte blocks (default)
Wyświetl dane wyjściowe używając inode zamiast block usage
An inode jest strukturą danych w systemie plików Linux, która przechowuje wszystkie informacje o pliku. Aby wyświetlić informacje o inode, wpisz:$ df -i
$ df -i -h
Przykładowe dane wyjściowe:
Filesystem Inodes IUsed IFree IUse% Mounted onudev 371K 333 371K 1% /devtmpfs 373K 498 373K 1% /run/dev/sdc1 935K 220K 715K 24% /tmpfs 373K 1 373K 1% /dev/shmtmpfs 373K 4 373K 1% /run/locktmpfs 373K 14 373K 1% /sys/fs/cgroup/dev/sda 0 0 0 - /datatmpfs 373K 4 373K 1% /run/user/0
Poznaj typ każdego wyświetlonego systemu plików
Podaj opcję -T, aby wyświetlić typ każdego z wymienionych systemów plików, takich jak ext4, btrfs, ext2, nfs4, fuse, cgroup, cputset, i inne:$ df -T
$ df -T -h
$ df -T -h /data/
Przykładowe dane wyjściowe:
Filesystem Type Size Used Avail Use% Mounted on/dev/sda btrfs 2.8T 67G 2.7T 3% /data
Ograniczyć listing do systemów plików danego typu
Składnia to:$ df -t ext3 #Only see ext3 file system
$ df -t ext4 #Only see ext4 file system
$ df -t btrfs #Only see btrfs file system
Wyklucz dany typ systemu plików
Aby wylistować wszystkie, ale wykluczyć system plików ext2 podaj opcję -x TYPE, wpisz:$ df -x ext2
Pokaż wszystkie systemy plików
Przekazując poleceniu df opcję -a lub –all, aby uwzględnić na jego wyjściu systemy plików, które mają rozmiar zerowych bloków, uruchom:$ df -a
Filesystem 1K-blocks Used Available Use% Mounted onsysfs 0 0 0 - /sysproc 0 0 0 - /procudev 10240 0 10240 0% /devdevpts 0 0 0 - /dev/ptstmpfs 610488 9708 600780 2% /run/dev/sdc1 14932444 7836084 6331176 56% /securityfs 0 0 0 - /sys/kernel/securitytmpfs 1526216 0 1526216 0% /dev/shmtmpfs 5120 0 5120 0% /run/locktmpfs 1526216 0 1526216 0% /sys/fs/cgroupcgroup 0 0 0 - /sys/fs/cgroup/systemdpstore 0 0 0 - /sys/fs/pstorecgroup 0 0 0 - /sys/fs/cgroup/cpusetcgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacctcgroup 0 0 0 - /sys/fs/cgroup/blkiocgroup 0 0 0 - /sys/fs/cgroup/memorycgroup 0 0 0 - /sys/fs/cgroup/devicescgroup 0 0 0 - /sys/fs/cgroup/freezercgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_priocgroup 0 0 0 - /sys/fs/cgroup/perf_eventsystemd-1 - - - - /proc/sys/fs/binfmt_miscfusectl 0 0 0 - /sys/fs/fuse/connectionsdebugfs 0 0 0 - /sys/kernel/debugmqueue 0 0 0 - /dev/mqueuehugetlbfs 0 0 0 - /dev/hugepages/dev/sda 2930266584 69405248 2859579472 3% /datarpc_pipefs 0 0 0 - /run/rpc_pipefstmpfs 305244 0 305244 0% /run/user/0binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
Te systemy plików pomijane są domyślnie.
Uzyskanie większej pomocy na temat polecenia df
Przekazanie opcji –help spowoduje wyświetlenie krótkiego komunikatu pomocy:$ df --help
Albo przeczytanie strony man wpisując następujące polecenie:$ man df
Linux sprawdź przestrzeń dyskową za pomocą polecenia du
Polecenie NA jest bardzo przydatne do namierzania „hogów” przestrzeni dyskowej. Przydaje się do poznania nazw katalogów i plików, które zużywają dużo miejsca na dysku. Podstawowa składnia to:du
du /path/do/dir
du
Aby zobaczyć nazwy i zużycie miejsca każdego z katalogów, w tym wszystkich podkatalogów w drzewie katalogów, wpisz:$ du
Przykładowe dane wyjściowe:
16./.aptitude12./.ssh56./apcupsd8./.squidview4./kernel.build12./.elinks8./.vim8./.config/htop12./.config648.
Pierwsza kolumna wyrażona jest w kilobajtach (rozmiar pliku), a druga to nazwa pliku lub katalogu.
Zobacz wyjście du w formacie czytelnym dla człowieka
Podaj opcję -h, aby wyświetlić rozmiar w K (kilobajtach), M (megabajtach), G (gigabajtach) zamiast domyślnych kilobajtów:$ du -h
Przykładowe dane wyjściowe:
16K./.aptitude12K./.ssh56K./apcupsd8.0K./.squidview4.0K./kernel.build12K./.elinks8.0K./.vim8.0K./.config/htop12K./.config648K.
Wyszukiwanie informacji o dowolnych drzewach katalogów lub plikach
Aby dowiedzieć się o wykorzystaniu miejsca w katalogu /etc/, wpisz:# du /etc/
# du -h /etc/
Poniżej zostaną podane rozmiary plików o nazwach hdparm, iptunnel i ifconfig, które znajdują się w katalogu /sbin:$ du /sbin/hdparm /sbin/iptunnel /sbin/ifconfig
$ du -h /sbin/hdparm /sbin/iptunnel /sbin/ifconfig
Przykładowe dane wyjściowe:
112K/sbin/hdparm24K/sbin/iptunnel72K/sbin/ifconfig
Jak podsumować wykorzystanie dysku dla danej nazwy katalogu?
Podaj opcję -s do polecenia du. W tym przykładzie poproś polecenie du o podanie tylko całkowitej przestrzeni dyskowej zajmowanej przez drzewo katalogów i pominięcie podkatalogów:# du -s /etc/
# du -sh /etc/
Przykładowe dane wyjściowe:
6.3M/etc/
Podaj opcję -a (all), aby zobaczyć wszystkie pliki, a nie tylko katalogi:# du -a /etc/
# du -a -h /etc/
Przykładowe dane wyjściowe:
4.0K/etc/w3m/config4.0K/etc/w3m/mailcap12K/etc/w3m4.0K/etc/ConsoleKit/run-seat.d4.0K/etc/ConsoleKit/seats.d/00-primary.seat8.0K/etc/ConsoleKit/seats.d4.0K/etc/ConsoleKit/run-session.d20K/etc/ConsoleKit............4.0K/etc/ssh/ssh_host_rsa_key4.0K/etc/ssh/ssh_host_rsa_key.pub4.0K/etc/ssh/ssh_host_dsa_key244K/etc/ssh/moduli4.0K/etc/ssh/sshd_config272K/etc/ssh4.0K/etc/python/debian_config8.0K/etc/python0/etc/.pwd.lock4.0K/etc/ldap/ldap.conf8.0K/etc/ldap6.3M/etc/
Możesz również użyć symbolu wieloznacznego gwiazdka ( * ), który dopasuje się do dowolnego znaku. Na przykład, aby zobaczyć rozmiar każdego pliku png w bieżącym katalogu, wpisz:$ du -ch *.png
52KCIQTK4FUAAAbjDw.png-large.png 68KCX23RezWEAA0QY8.png-large.png228KCY32cShWkAAaNLD.png-large.png 12KCYaQ3JqU0AA-amA.png-large.png136KCYywxDfU0AAP2py.png172KCZBoXO1UsAAw3zR.png-large.png384KScreen Shot 2016-01-19 at 5.49.21 PM.png324KTkamEew.png8.0KVQx6mbH.png 64KfH7rtXE.png 52Kipv6-20-1-640x377.png392KunrseYB.png1.8Mtotal
Opcja -c mówi du, aby wyświetlić sumę całkowitą.
Połączenie wszystkiego razem
Aby wyświetlić listę 10 katalogów zajmujących najwięcej miejsca na dysku w katalogu /etc/, wpisz:# du -a /etc/ | sort -n -r | head -n 10
Przykładowe dane wyjściowe:
8128/etc/928/etc/ssl904/etc/ssl/certs656/etc/apache2544/etc/apache2/mods-available484/etc/init.d396/etc/php5336/etc/sane.d308/etc/X11268/etc/ssl/certs/ca-certificates.crt
Aby uzyskać więcej informacji na temat polecenia du, wpisz:$ man du
$ du --help
Radzenie sobie z systemem plików btrfs
Dla systemu plików btrfs użyj polecenia btrfs fi df, aby zobaczyć informacje o wykorzystaniu przestrzeni dla punktu montowania. Składnia polecenia jest następująca:
btrfs filesystem df /path/btrfs fi df /dev/pathbtrfs fi df /path/
Przykłady
# btrfs fi df /data/
# btrfs fi df -h /data/
Przykładowe dane wyjściowe:
Data, RAID1: total=71.00GiB, used=63.40GiBSystem, RAID1: total=8.00MiB, used=16.00KiBMetadata, RAID1: total=4.00GiB, used=2.29GiBGlobalReserve, single: total=512.00MiB, used=0.00B
Aby zobaczyć surowe liczby w bajtach, uruchom:# btrfs fi df -b /data/
OR# btrfs fi df -k /data/ ### show sizes in KiB ##
# btrfs fi df -m /data/ ### show sizes in MiB ##
# btrfs fi df -g /data/ ### show sizes in GiB ##
# btrfs fi df -t /data/ ### show sizes in TiB ##
Podsumowanie
Tutaj jest szybkie podsumowanie dla komend Linuksa sprawdzających przestrzeń dyskową. Użyj polecenia du, gdy potrzebujesz oszacować wykorzystanie przestrzeni dyskowej. Aby zgłosić wykorzystanie przestrzeni dyskowej w linuksowym systemie plików użyj polecenia df. Polecenie btrfs df musi być użyte gdy używasz systemu plików btrfs. Więcej informacji można znaleźć na stronie GNU coreutils tutaj.
🐧 6 komentarzy do tej pory… dodaj jeden ↓
Kategoria | Lista komend systemu Unix i Linux |
---|---|
Zarządzanie plikami | cat |
Firewall | Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04 |
Narzędzia sieciowe | dig – host – ip – nmap |
OpenVPN | CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |