Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:cursos:linux_para_devops_y_sysadmin:comandos_avanzados

¡Esta es una revisión vieja del documento!


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+

El comando htop muestra la misma información que top, pero de forma más agradable.También podemos realizar acciones sobre los procesos mediante atajos de teclado como hacer búsquedas, filtrar por algún parámetro, etc.

En Ubuntu, el comando htop se instala mediante el paquete htop

Comando wget

Descarga ficheros de una URL de forma no interactiva.

wget https://releases.ubuntu.com/22.04.3/ubuntu-22.04.3-desktop-amd64.iso

Firejail - securiza tus aplicaciones en linux

Instalar php y python en un contenedor de docker

Smartctl

Umask

Nmap

Comando Whatis

Comando Date

Comando id

Comando alias

informatica/sistemas_operativos/cursos/linux_para_devops_y_sysadmin/comandos_avanzados.1694617328.txt.gz · Última modificación: por tempwin