¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Comandos avanzados
Sección perteneciente al curso Linux para DevOps y Sysadmin.
Comando df
El comando df informe sobre la utilización de disco en un sistema de ficheros.
El uso más habitual es:
df -h
-h: legible para humanos
S.ficheros Tamaño Usados Disp Uso% Montado en tmpfs 196M 1,6M 195M 1% /run /dev/sda3 20G 12G 6,4G 65% / tmpfs 980M 0 980M 0% /dev/shm tmpfs 5,0M 4,0K 5,0M 1% /run/lock /dev/sda2 512M 6,1M 506M 2% /boot/efi tmpfs 196M 164K 196M 1% /run/user/1000
Si además quisiéramos incluir los pseudo sistemas de ficheros (/sys, /proc) y los inaccesibles, empleamos el argumento a:
$ df -ah S.ficheros Tamaño Usados Disp Uso% Montado en sysfs 0 0 0 - /sys proc 0 0 0 - /proc udev 943M 0 943M 0% /dev devpts 0 0 0 - /dev/pts tmpfs 196M 1,6M 195M 1% /run /dev/sda3 20G 12G 6,4G 65% / securityfs 0 0 0 - /sys/kernel/security tmpfs 980M 0 980M 0% /dev/shm tmpfs 5,0M 4,0K 5,0M 1% /run/lock cgroup2 0 0 0 - /sys/fs/cgroup pstore 0 0 0 - /sys/fs/pstore bpf 0 0 0 - /sys/fs/bpf systemd-1 - - - - /proc/sys/fs/binfmt_misc hugetlbfs 0 0 0 - /dev/hugepages mqueue 0 0 0 - /dev/mqueue tracefs 0 0 0 - /sys/kernel/tracing debugfs 0 0 0 - /sys/kernel/debug fusectl 0 0 0 - /sys/fs/fuse/connections configfs 0 0 0 - /sys/kernel/config ramfs 0 0 0 - /run/credentials/systemd-sysusers.service /dev/loop1 74M 74M 0 100% /snap/core22/858 /dev/loop0 128K 128K 0 100% /snap/bare/5 /dev/loop3 238M 238M 0 100% /snap/firefox/2987 /dev/loop2 64M 64M 0 100% /snap/core20/1974 /dev/loop4 350M 350M 0 100% /snap/gnome-3-38-2004/143 /dev/loop5 486M 486M 0 100% /snap/gnome-42-2204/120 /dev/loop6 92M 92M 0 100% /snap/gtk-common-themes/1535 /dev/loop7 13M 13M 0 100% /snap/snap-store/959 /dev/loop9 54M 54M 0 100% /snap/snapd/19457 /dev/loop8 512K 512K 0 100% /snap/snapd-desktop-integration/83 /dev/sda2 512M 6,1M 506M 2% /boot/efi binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc tmpfs 196M 164K 196M 1% /run/user/1000 gvfsd-fuse 0 0 0 - /run/user/1000/gvfs tmpfs 196M 1,6M 195M 1% /run/snapd/ns nsfs 0 0 0 - /run/snapd/ns/firefox.mnt /dev/sda3 20G 12G 6,4G 65% /var/snap/firefox/common/host-hunspell nsfs 0 0 0 - /run/snapd/ns/snap-store.mnt nsfs 0 0 0 - /run/snapd/ns/snapd-desktop-integration.mnt /dev/loop10 74M 74M 0 100% /snap/core22/864 /dev/loop11 486M 486M 0 100% /snap/gnome-42-2204/126
Comando du
Muestra una estimación del espacio ocupado por ficheros y directorios.
du -sh
-s: espacio utilizado real-h: muestra el tamaño en megabytes.
$ du -sh /home 17M /home
Comando grep
Este comando permite encontrar líneas de texto que contengan una cadena o patrón dentro de uno o varios archivos.
Buscar el texto ACPI en el fichero /var/log/syslog:
grep ACPI /var/log/syslog
Si añadimos el argumento --color resaltará en pantalla las coincidencias.
Otro argumento interesante es -i que permite no hacer distinción entre mayúsculas y minúsculas:
grep -i error /var/log/syslog
Si queremos que muestre el número de línea:
grep -n ACPI /var/log/syslog
El comando grep se puede concatenar con otros comandos a través de tuberías:
lscpu | grep -i model
Comando head
Imprime las primeras líneas de un fichero. Por defecto muestra las 10 primeras líneas:
head fichero
Para indicar el número de líneas a mostrar, usamos el argumento -n:
$ head -n 4 /var/log/syslog head -n5 /var/log/syslog Sep 11 17:42:15 ubuntu-devops kernel: [ 0.000000] Linux version 6.2.0-32-generic (buildd@lcy02-amd64-076) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #32~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 18 10:40:13 UTC 2 (Ubuntu 6.2.0-32.32~22.04.1-generic 6.2.16) Sep 11 17:42:15 ubuntu-devops kernel: [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.2.0-32-generic root=UUID=2e064991-4618-44cf-ae59-725ef1c9bb26 ro quiet splash Sep 11 17:42:15 ubuntu-devops kernel: [ 0.000000] KERNEL supported cpus: Sep 11 17:42:15 ubuntu-devops kernel: [ 0.000000] Intel GenuineIntel Sep 11 17:42:15 ubuntu-devops kernel: [ 0.000000] AMD AuthenticAMD
El comando head también se puede usar con otros comandos mediante tuberías:
lsusb | head -n2
Comando locate
Busca ficheros y directorios.
locate deploy
Comando more y less
El comando more muestra el resultado de un comando de forma paginada, es decir, si la salida por pantalla va a ocupar más de lo visible, lo va separando por páginas.
ps -ef | more
También se puede utilizar para visualizar cualquier fichero:
more /var/log/syslog
El comando less es más potente, no solo pagina los resultados y permite movernos, sino que además podemos hacer búsquedas.
Comando tail
Muestra la parte final de un archivo.
Por defecto imprime las últimas 10 líneas.
tail /var/log/syslog
Si queremos decir el número de líneas a mostrar, usamos el argumento -n:
tail -n 2 /var/log/syslog
Algo muy útil es usar el argumento -f que mantiene en funcionamiento tail y muestra los datos que se van añadiendo al archivo:
tail -f /var/log/syslog
Comando htop y top
El comando top muestra los procesos y más información del sistema.
top - 16:54:30 up 6:28, 4 users, load average: 0,00, 0,08, 0,16
Tareas: 186 total, 2 ejecutar, 184 hibernar, 0 detener, 0 zombie
%Cpu(s): 0,2 us, 0,3 sy, 0,0 ni, 99,3 id, 0,0 wa, 0,0 hi, 0,2 si, 0,0 st
MiB Mem : 1959,4 total, 663,8 libre, 616,3 usado, 679,3 búfer/caché
MiB Intercambio: 2140,0 total, 1981,8 libre, 158,2 usado. 1146,0 dispon Mem
PID USUARIO PR NI VIRT RES SHR S %CPU %MEM HORA+ ORDEN
380 systemd+ 20 0 14824 4096 3328 S 0,3 0,2 0:26.68 systemd-oomd
2013 jm 20 0 503460 16800 10016 S 0,3 0,8 0:00.88 update-notifier
22853 jm 20 0 21956 4096 3328 R 0,3 0,2 0:00.03 top
1 root 20 0 168000 10536 5544 S 0,0 0,5 0:05.51 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_par_gp
5 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 slub_flushwq
6 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 netns
8 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/0:0H-eve+
