Ik ben onlangs overgestapt van een Windows server naar een Linux server besturingssysteem en heb Linux check disk space command nodig. Ik gebruik Ubuntu 16.04/18.04/20.04 en CentOS 7.x/8.x server. Hoe kom ik achter het gebruik van schijfruimte met Linux commando regel opties?
Linux biedt de volgende commando’s om het gebruik van schijfruimte te controleren:
Linux commando’s om het schijfruimtegebruik te controleren:
- df commando – Toont de hoeveelheid gebruikte en beschikbare schijfruimte op Linux bestandssystemen.
- du commando – Toont de hoeveelheid schijfruimte gebruikt door de gespecificeerde bestanden en voor elke subdirectory.
- btrfs fi df /device/ – Toont informatie over het schijfruimtegebruik voor een btrfs gebaseerd koppelpunt/ bestandssysteem.
Linux schijfruimte controleren met df commando
- Open de terminal en typ het volgende commando om de schijfruimte te controleren.
- De basis syntax voor df is:
df
Type: - df
- df -H
Een voorbeeld van de uitvoer:
Fig.01: df commando in actie
De items tussen vierkante haken zijn optioneel. U kunt gewoon het df commando typen (dus zonder argumenten), om een tabel te zien met een lijst voor elke apparaatnaam op het systeem.
Informatie over specifiek bestandssysteem
U kunt een apparaat of koppelpunt als argument geven, en df rapporteert alleen gegevens voor het bestandssysteem dat fysiek op dat apparaat staat. Bijvoorbeeld, het volgende commando geeft alleen informatie voor de partitie /dev/sda:$ df /dev/sda
$ df -h /dev/sdc1
$ df /data/
Een voorbeeld van de uitvoer:
Filesystem 1K-blocks Used Available Use% Mounted on/dev/sda 2930266584 69405248 2859579472 3% /data
Uitleg van df commando-uitvoer
De geldige velden zijn als volgt:
Weergave-naam | Valid field name (for –output option) | Description |
---|---|---|
Filesystem | source | De bron van het koppelpunt, meestal een apparaat. |
size | Totaal aantal blokken. | |
Used | used | Aantal gebruikte blokken. |
avail | Aantal beschikbare blokken. | |
pcent | Percentage van GEBRUIKT gedeeld door SIZE. | |
target | Het mount-punt. |
U kunt het uitvoerformaat gedefinieerd door ‘geldige veldnaam’ als volgt doorgeven:$ df --output=field1,field2,...
$ df --output=source,used,avail /data/
Voorbeelduitvoer:
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
U kunt alle beschikbare velden afdrukken, voer in:$ df --o
Voorbeelduitvoer:
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
Express df uitvoer in menselijk leesbare vorm
Pas de -h optie toe om uitvoer in menselijk leesbare vorm te zien. U krijgt de grootte van het apparaat in gigabytes, terabytes of megabytes:$ df -h ### Human format
$ df -m ### Show output size in one-megabyte
$ df -k ### Show output size in one-kilobyte blocks (default)
Uitvoer weergeven met gebruik van inode in plaats van blokgebruik
Een inode is een datastructuur op een Linux bestandssysteem die alle informatie over een bestand opslaat. Om inode-informatie weer te geven, voert u in:$ df -i
$ df -i -h
Voorbeelduitvoer:
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
Vind het type van elk weergegeven bestandssysteem
Pas de -T optie om het type van elk weergegeven bestandssysteem weer te geven, zoals ext4, btrfs, ext2, nfs4, fuse, cgroup, cputset, en meer:$ df -T
$ df -T -h
$ df -T -h /data/
Voorbeelduitvoer:
Filesystem Type Size Used Avail Use% Mounted on/dev/sda btrfs 2.8T 67G 2.7T 3% /data
Limiteer lijst tot bestandssystemen van gegeven type
De syntaxis is:$ df -t ext3 #Only see ext3 file system
$ df -t ext4 #Only see ext4 file system
$ df -t btrfs #Only see btrfs file system
Uitsluiten gegeven bestandssysteemtype
Om alle bestandssystemen in de lijst op te nemen, behalve ext2, geeft u de optie -x TYPE, in:$ df -x ext2
Toon alle bestandssysteem
Kies de -a of –all optie voor het df commando om bestandssystemen met een grootte van nul blokken op te nemen in zijn uitvoer, voer in:$ 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
Deze bestandssystemen zijn standaard weggelaten.
Meer hulp over het commando df
Pas de optie –help toe om een kort helpbericht te zien:$ df --help
Of lees de man page door het volgende commando te typen:$ man df
Linux controleert schijfruimte met het du commando
Het NA commando is erg handig om schijfruimtevreters op te sporen. Het is handig om de namen te achterhalen van mappen en bestanden die grote hoeveelheden ruimte op een schijf innemen. De basis syntaxis is:du
du /path/do/dir
du
Om de namen en het ruimtegebruik van alle mappen te zien, inclusief alle submappen in de mappenstructuur, voert u in:$ du
Voorbeelduitvoer:
16./.aptitude12./.ssh56./apcupsd8./.squidview4./kernel.build12./.elinks8./.vim8./.config/htop12./.config648.
De eerste kolom wordt uitgedrukt in kilobytes (bestandsgrootte) en de tweede kolom is de bestandsnaam of mapnaam.
Zie du uitvoer in menselijk leesbaar formaat
Pas de -h optie toe om de grootte weer te geven in K (kilobytes), M (megabytes), G (gigabytes) in plaats van de standaard kilobytes:$ du -h
Voorbeelduitvoer:
16K./.aptitude12K./.ssh56K./apcupsd8.0K./.squidview4.0K./kernel.build12K./.elinks8.0K./.vim8.0K./.config/htop12K./.config648K.
Informatie vinden over directorybomen of bestanden
Om het gebruik van /etc/ directoryruimte te achterhalen, voert u in:# du /etc/
# du -h /etc/
Het volgende geeft de grootte aan van de bestanden hdparm, iptunnel en ifconfig die in de map /sbin staan:$ du /sbin/hdparm /sbin/iptunnel /sbin/ifconfig
$ du -h /sbin/hdparm /sbin/iptunnel /sbin/ifconfig
Voorbeelduitvoer:
112K/sbin/hdparm24K/sbin/iptunnel72K/sbin/ifconfig
Hoe vat ik het schijfgebruik samen voor een gegeven mapnaam?
Geef de -s optie aan het du commando. In dit voorbeeld, vraag du commando om alleen de totale schijfruimte te rapporteren die in beslag wordt genomen door een mappenstructuur en om submappen te onderdrukken:# du -s /etc/
# du -sh /etc/
Voorbeelduitvoer:
6.3M/etc/
Pas de -a (alle) optie toe om alle bestanden te zien, niet alleen mappen:# du -a /etc/
# du -a -h /etc/
Voorbeelduitvoer:
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/
U kunt ook het jokerteken ster ( * ) gebruiken, dat overeenkomt met elk teken. Om bijvoorbeeld de grootte van elk png-bestand in de huidige map te zien, voert u in:$ 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
De optie -c vertelt du om het eindtotaal weer te geven.
Het geheel samenvoegen
Om een lijst te maken van de 10 mappen die schijfruimte innemen in /etc/, voert u in:# du -a /etc/ | sort -n -r | head -n 10
Een voorbeeld van de uitvoer:
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
Voor meer informatie over het commando du, typt u in:$ man du
$ du --help
Overweg met btrfs-bestandssysteem
Voor btrfs-bestandssysteem gebruikt u het commando btrfs fi df om informatie over het ruimtegebruik voor een koppelpunt te zien. De syntaxis is:
btrfs filesystem df /path/btrfs fi df /dev/pathbtrfs fi df /path/
Voorbeelden
# btrfs fi df /data/
# btrfs fi df -h /data/
Voorbeelduitvoer:
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
Om de ruwe getallen in bytes te zien, voert u uit:# btrfs fi df -b /data/
Of# 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 ##
Conclusie
Hier volgt een korte samenvatting voor Linux-opdrachten om schijfruimte te controleren. Gebruik het commando du als u het gebruik van bestandsruimte wilt schatten. Gebruik het df commando om het gebruik van Linux bestandssysteem schijfruimte te rapporteren. Het btrfs df commando moet gebruikt worden wanneer u het btrfs bestandssysteem gebruikt. Voor meer informatie zie GNU coreutils pagina hier.
🐧 6 reacties tot nu toe… voeg er een toe ↓
Categorie | Lijst van Unix- en Linux-commando’s |
---|---|
Bestandsbeheer | cat |
Firewall | Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04 |
Network Utilities | dig – host – ip – nmap |
OpenVPN | CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04 |
Package Manager | apk – apt |
Processen Beheer | bg – chroot – cron – disown – fg – jobs – killall – kill – pidof – pstree – pwdx – tijd |
Onderzoek | grep – whereis – welke |
Gebruikersinformatie | groepen – id – lastcomm – last – lid/libuser-lid – lognaam – leden – gebruikers – whoami – wie – w |
WireGuard VPN | Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04 |