Recientemente cambié de un servidor Windows a un sistema operativo de servidor Linux y necesito el comando Linux check disk space. Estoy usando Ubuntu 16.04/18.04/20.04 y CentOS 7.x/8.x servidor. ¿Cómo puedo averiguar la información de utilización de espacio en disco utilizando la opción de línea de comandos de Linux?
Linux ofrece los siguientes comandos para comprobar el uso de espacio en disco:
Comandos de Linux para comprobar el espacio en disco utilizando:
- Comando df – Muestra la cantidad de espacio en disco utilizado y disponible en los sistemas de archivos de Linux.
- Comando du – Muestra la cantidad de espacio en disco utilizado por los archivos especificados y para cada subdirectorio.
- Btrfs fi df /device/ – Muestra la información de uso del espacio en disco para un punto de montaje/sistema de archivos basado en btrfs.
Linux comprueba el espacio en disco con el comando df
- Abre el terminal y escribe el siguiente comando para comprobar el espacio en disco.
- La sintaxis básica de df es:
df
Tipo: - df
- df -H
Salidas de ejemplo:
Fig.01: comando df en acción
Los elementos entre corchetes son opcionales. Puede simplemente escribir el comando df (es decir, sin argumentos), para ver una tabla que enumera para cada nombre de dispositivo en el sistema.
Ver información sobre un sistema de archivos específico
Puede dar un dispositivo o punto de montaje como argumento, y df reportará datos sólo para el sistema de archivos que reside físicamente en ese dispositivo. Por ejemplo, el siguiente comando proporciona información sólo para la partición /dev/sda:$ df /dev/sda
$ df -h /dev/sdc1
$ df /data/
Salidas de ejemplo:
Filesystem 1K-blocks Used Available Use% Mounted on/dev/sda 2930266584 69405248 2859579472 3% /data
Entendiendo la salida del comando df
Los campos válidos son los siguientes:
Nombre de la pantalla | Nombre del campo válido (para la opción –output) | Descripción |
---|---|---|
Sistema de archivos | Fuente | La fuente del punto de montaje, normalmente un dispositivo. |
1K-bloques | Tamaño | Número total de bloques. | Usado | Usado | Número de bloques usados. |
Disponibles | disponibles | Número de bloques disponibles. |
Use% | pcent | Porcentaje de USED dividido por SIZE. |
Mounted on | target | El punto de montaje. |
Se puede pasar el formato de salida definido por $ df --output=field1,field2,...
$ df --output=source,used,avail /data/
Salidas de ejemplo:
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
Puede imprimir todos los campos disponibles, introduzca:$ df --o
Salidas de ejemplo:
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
Salida de df en formato legible
Pasa la opción -h para ver la salida en formato legible. Podrá ver el tamaño del dispositivo en gigabytes o terabytes o megabytes:$ df -h ### Human format
$ df -m ### Show output size in one-megabyte
$ df -k ### Show output size in one-kilobyte blocks (default)
Mostrar la salida usando el uso de inodos en lugar del uso de bloques
Un inodo es una estructura de datos en un sistema de archivos Linux que almacena toda la información sobre el archivo. Para listar la información del inodo, introduzca:$ df -i
$ df -i -h
Salidas de ejemplo:
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
Averigua el tipo de cada sistema de archivos mostrado
Pasa la opción -T para mostrar el tipo de cada sistema de archivos listado como ext4, btrfs, ext2, nfs4, fuse, cgroup, cputset, y más:$ df -T
$ df -T -h
$ df -T -h /data/
Salidas de ejemplo:
Filesystem Type Size Used Avail Use% Mounted on/dev/sda btrfs 2.8T 67G 2.7T 3% /data
Limitar el listado a los sistemas de archivos del tipo dado
La sintaxis es:$ df -t ext3 #Only see ext3 file system
$ df -t ext4 #Only see ext4 file system
$ df -t btrfs #Only see btrfs file system
Excluir el tipo de sistema de archivos dado
Para listar todos los sistemas de archivos ext2, pero excluirlos, pasa la opción -x TYPE, introduce:$ df -x ext2
Mostrar todos los sistemas de archivos
Pase la opción -a o –all al comando df para incluir en su salida los sistemas de archivos que tengan un tamaño de cero bloques, ejecute:$ 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
Estos sistemas de archivos omitidos por defecto.
Obtener más ayuda sobre el comando df
Pasar la opción –help ver un breve mensaje de ayuda:$ df --help
O leer su página man escribiendo el siguiente comando:$ man df
Linux comprueba el espacio en disco con el comando du
El comando NA es muy útil para localizar a los acaparadores de espacio en disco. Sirve para averiguar los nombres de los directorios y archivos que consumen grandes cantidades de espacio en un disco. La sintaxis básica es:du
du /path/do/dir
du
Para ver los nombres y el consumo de espacio de cada uno de los directorios incluyendo todos los subdirectorios del árbol de directorios, introduzca:$ du
Salidas de ejemplo:
16./.aptitude12./.ssh56./apcupsd8./.squidview4./kernel.build12./.elinks8./.vim8./.config/htop12./.config648.
La primera columna está expresada en kilobytes (tamaño del archivo) y la segunda es el nombre del archivo o directorio.
Ver la salida de du en formato legible para humanos
Pasa la opción -h para mostrar el tamaño en K (kilobytes), M (megabytes), G (gigabytes) en lugar de los kilobytes por defecto:$ du -h
Salidas de ejemplo:
16K./.aptitude12K./.ssh56K./apcupsd8.0K./.squidview4.0K./kernel.build12K./.elinks8.0K./.vim8.0K./.config/htop12K./.config648K.
Encontrar información sobre cualquier árbol de directorios o archivos
Para conocer el uso del espacio del directorio /etc/, introduce:# du /etc/
# du -h /etc/
Lo siguiente informará de los tamaños de los archivos hdparm, iptunnel e ifconfig que se encuentran en el directorio /sbin:$ du /sbin/hdparm /sbin/iptunnel /sbin/ifconfig
$ du -h /sbin/hdparm /sbin/iptunnel /sbin/ifconfig
Salidas de ejemplo:
112K/sbin/hdparm24K/sbin/iptunnel72K/sbin/ifconfig
¿Cómo resumo el uso del disco para un nombre de directorio dado?
Pasa la opción -s al comando du. En este ejemplo, pida al comando du que informe sólo del espacio total en disco ocupado por un árbol de directorios y que suprima los subdirectorios:# du -s /etc/
# du -sh /etc/
Salidas de ejemplo:
6.3M/etc/
Pasa la opción -a (all) para ver todos los archivos, no sólo los directorios:# du -a /etc/
# du -a -h /etc/
Salidas de ejemplo:
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/
También puedes usar el comodín estrella ( * ), que coincidirá con cualquier carácter. Por ejemplo, para ver el tamaño de cada archivo png en el directorio actual, introduzca:$ 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
La opción -c le dice a du que muestre el total general.
Poniéndolo todo junto
Para listar los 10 principales directorios que consumen espacio en disco en /etc/, introduzca:# du -a /etc/ | sort -n -r | head -n 10
Salidas de ejemplo:
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
Para más información sobre el comando du, escriba:$ man du
$ du --help
Tratando con el sistema de archivos btrfs
Para el sistema de archivos btrfs utilice el comando btrfs fi df para ver la información de uso de espacio para un punto de montaje. La sintaxis es:
btrfs filesystem df /path/btrfs fi df /dev/pathbtrfs fi df /path/
Ejemplos
# btrfs fi df /data/
# btrfs fi df -h /data/
Salidas de ejemplo:
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
Para ver los números en bruto en bytes, ejecuta:# btrfs fi df -b /data/
O# 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 ##
Conclusión
Aquí tienes un resumen rápido para los comandos de Linux de comprobación de espacio en disco. Utilice el comando du cuando necesite estimar el uso del espacio de los archivos. Para reportar el uso de espacio en disco del sistema de archivos de Linux utilice el comando df. El comando btrfs df debe ser usado cuando se utiliza el sistema de archivos btrfs. Para más información vea la página de GNU coreutils aquí.
🐧 6 comentarios hasta ahora… añadir uno ↓
Categoría | Lista de comandos de Unix y Linux |
---|---|
Gestión de archivos | cat |
Firewall | Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04 |
Utilidades de red | dig – host – ip – nmap |
OpenVPN | CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04 |
Administrador de paquetes | apk – apt | Gestión de procesos | bg – chroot – cron – disown – fg – jobs – killall – kill – pidof – pstree – pwdx – time |
Búsqueda | grep – whereis – which |
Información del usuario | grupos – id – lastcomm – last – lid/libuser-lid – logname – members – users – whoami – who – w | WireGuard VPN | Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04 |