Consultar comandos Linux y ejemplos

Busca con el navegador o despliega una sección. Revisa rutas, permisos y opciones destructivas antes de ejecutar un comando en tu equipo.

Se ejecuta localmente en tu navegador
Comando Descripción
arch Nombre de hardware de la máquina tal como lo informa el kernel (el mismo valor que uname -m)
uname -m Nombre de hardware de la máquina, por ejemplo x86_64
uname -r Versión del kernel en ejecución, por ejemplo 5.10.134-16.al8.x86_64
dmidecode -q Inventario de hardware DMI/SMBIOS (BIOS, placa base, memoria) sin los avisos de entradas desconocidas (solo root)
hdparm -i /dev/hda Identifica un disco IDE o SATA: modelo, firmware, número de serie y modos admitidos
hdparm -tT /dev/sda -T mide las lecturas servidas desde la caché y -t las lecturas del propio dispositivo, lo que da una cifra de rendimiento bruto
cat /proc/cpuinfo Modelo de CPU, número de núcleos y flags tal como los exporta el kernel
cat /proc/interrupts Contadores de interrupciones por CPU y por dispositivo, útiles para localizar un controlador saturado
cat /proc/meminfo Contadores de memoria del kernel: el archivo que lee free
cat /proc/swaps Áreas de swap activas con su tamaño, espacio usado y prioridad
cat /proc/version Cadena de versión del kernel, incluido el compilador con el que se construyó
cat /proc/net/dev Contadores de bytes, paquetes, errores y descartes de cada interfaz de red
cat /proc/mounts Todos los sistemas de archivos montados junto con sus opciones de montaje actuales
lspci -tv Dispositivos PCI en forma de árbol, con buses, puentes y los dispositivos que cuelgan de ellos
lsusb -tv Dispositivos USB en forma de árbol con sus identificadores de fabricante y producto (paquete usbutils)
date Fecha y hora actuales del reloj del sistema
cal 2007 Calendario de un mes o de un año entero; aquí todo 2007
date 041217002007.00 Ajusta el reloj con el formato MMDDhhmm[[CC]YY][.ss]: 17 de diciembre de 2007, 00:20 (solo root)
clock -w Escribe el reloj del sistema en el reloj de hardware para que la hora sobreviva a un corte de luz (hwclock -w, solo root)

Comando Descripción
shutdown -h now Apaga la máquina de inmediato (solo root)
init 0 Cambia al nivel de ejecución 0, que detiene el sistema (solo root)
telinit 0 Pide a init el nivel 0 por su socket de control: la misma parada (solo root)
shutdown -h hours:minutes & Programa el apagado a una hora concreta y devuelve el indicador de orden
shutdown -c Cancela un apagado que se había programado antes
shutdown -r now Reinicia la máquina ahora (solo root)
reboot Reinicia a través de init o systemd (solo root)
logout Cierra la shell de inicio de sesión actual

Comando Descripción
cd /home Entrar en un directorio indicado con una ruta absoluta
cd .. Subir un nivel de directorio
cd ../.. Subir dos niveles de directorio
cd Ir al directorio personal
cd ~user1 Ir al directorio personal de otro usuario
cd - Volver al directorio en el que estabas antes
pwd Mostrar el directorio de trabajo actual
ls Listar las entradas del directorio actual
ls -F Listar con un indicador de tipo: / directorio, * ejecutable, @ enlace simbólico
ls -l Listado largo con permisos, propietario, tamaño y fecha de modificación
ls -a Incluir las entradas que empiezan por punto, como .bashrc
ls *[0-9]* Listar solo los nombres que contienen un dígito; el shell expande el patrón
tree Árbol de directorios de la ruta actual; viene en un paquete aparte, por eso suele faltar
lstree Otro nombre para el mismo listado en árbol; en la mayoría de sistemas es un alias
mkdir dir1 Crear un directorio
mkdir dir1 dir2 Crear dos directorios en una sola orden
mkdir -p /tmp/dir1/dir2 Crear los directorios padre que falten y no fallar si la ruta ya existe
rm -f file1 Borrar un archivo y no quejarse si el nombre no existe
rmdir dir1 Eliminar un directorio vacío
rm -rf dir1 Borrar un directorio con todo su contenido y sin preguntar
rm -rf dir1 dir2 Borrar dos árboles completos en una sola orden
mv dir1 new_dir Renombrar un directorio o moverlo cuando el destino es otra ruta
cp file1 file2 Copiar un archivo
cp dir/* . Copiar todo el contenido de un directorio al directorio actual
cp -a /tmp/dir1 . Copia de archivo que conserva permisos, propietario, enlaces y fechas
cp -a dir1 dir2 La misma copia de archivo para un segundo árbol
ln -s file1 lnk1 Crear un enlace simbólico que guarda una ruta
ln file1 lnk1 Crear un enlace duro: un segundo nombre para el mismo inodo
touch -t 0712250000 file1 Fijar la fecha de modificación en el 25 de diciembre de 2007 a las 00:00 en lugar de ahora
iconv -l Listar todas las codificaciones de caracteres que conoce esta compilación de iconv
iconv -f fromEncoding -t toEncoding inputFile > outputFile Convertir un archivo de una codificación a otra y escribir el resultado en un archivo nuevo
find . -maxdepth 1 -name '*.jpg' -exec ls -l {} \; Mostrar solo los JPEG de este directorio y ejecutar una orden sobre cada resultado

Comando Descripción
find / -name file1 Buscar un nombre de archivo exacto en todo el sistema de archivos
find / -user user1 Todos los archivos que pertenecen a un usuario
find /home/user1 -name \*.bin Patrón de nombre con comodín, buscado bajo un directorio
find /usr/bin -type f -atime +100 Archivos regulares leídos por última vez hace más de 100 días
find /usr/bin -type f -mtime -10 Archivos regulares modificados en los últimos diez días
find / -name \*.rpm -exec chmod 755 '{}' \; Ejecutar una orden sobre cada coincidencia; {} representa la ruta encontrada
find / -xdev -name \*.rpm Quedarse dentro de un solo sistema de archivos, de modo que se omiten medios montados y recursos de red
locate \*.ps Buscar nombres en el índice de updatedb: mucho más rápido que find, pero solo tan actualizado como la última indexación
whereis halt Localizar el binario, el código fuente y la página de manual de una orden
which halt Mostrar qué ejecutable lanzaría el shell

Comando Descripción
mount /dev/hda2 /mnt/hda2 Montar una partición en un directorio del árbol de archivos (solo root)
umount /dev/hda2 Desmontar la partición; el punto de montaje también sirve como argumento
fuser -km /mnt/hda2 Matar los procesos que aún usan el punto de montaje para poder desmontarlo (solo root)
umount -n /mnt/hda2 Desmontar sin escribir el cambio en /etc/mtab
mount /dev/fd0 /mnt/floppy Montar la primera unidad de disquete (nombre de dispositivo antiguo)
mount /dev/cdrom /mnt/cdrom Montar la unidad óptica que hay detrás del enlace /dev/cdrom
mount /dev/hdc /mnt/cdrecorder Montar el tercer dispositivo de la antigua nomenclatura hdX, normalmente una grabadora de CD
mount /dev/hdb /mnt/cdrecorder Lo mismo para el segundo dispositivo del primer canal IDE
mount -o loop file.iso /mnt/cdrom Exponer el contenido de una imagen ISO como un directorio
mount -t vfat /dev/hda5 /mnt/hda5 Montar una partición FAT con el controlador vfat para que los archivos de Windows sigan siendo legibles
mount /dev/sda1 /mnt/usbdisk Montar la primera partición de un disco USB
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share Montar un recurso compartido de Windows; los kernels actuales usan -t cifs y un archivo de credenciales en lugar de smbfs

Comando Descripción
df -h Espacio libre de cada sistema de archivos en unidades legibles
ls -lSr |more Archivos de este directorio ordenados por tamaño, el mayor primero, paginados con more
du -sh dir1 Espacio total en disco que ocupa un directorio
du -sk * | sort -rn Tamaño de cada entrada en kilobytes, de mayor a menor
rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n Paquetes RPM instalados con su tamaño en bytes, ordenados por esa columna
dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n El mismo listado para paquetes Debian: tamaño instalado y nombre del paquete

Comando Descripción
groupadd group_name Crear un grupo (solo root)
groupdel group_name Eliminar un grupo (solo root)
groupmod -n new_group_name old_group_name Cambiar el nombre de un grupo (solo root)
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 Crear una cuenta con comentario, grupo principal, directorio personal y shell (solo root)
useradd user1 Crear una cuenta con los valores por defecto de /etc/default/useradd (solo root)
userdel -r user1 Eliminar una cuenta junto con su directorio personal (solo root)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 Cambiar comentario, grupo, directorio personal y shell de una cuenta existente (solo root)
passwd Cambiar tu propia contraseña
passwd user1 Cambiar la contraseña de otra cuenta (solo root)
chage -E 2030-12-31 user1 Dar a una cuenta una fecha de caducidad a partir de la cual se rechaza el acceso (solo root)
pwck Comprobar si /etc/passwd y /etc/shadow tienen entradas incoherentes (solo root)
grpck Comprobar si /etc/group y /etc/gshadow tienen el mismo tipo de problemas (solo root)
newgrp group_name Abrir una shell nueva en la que otro grupo es el grupo principal efectivo

Comando Descripción
ls -lh Listado largo con tamaños en K, M y G
ls /tmp | pr -T5 -W$COLUMNS Imprimir el listado en cinco columnas ajustadas al ancho del terminal
chmod ugo+rwx directory1 Dar permiso de lectura, escritura y ejecución a propietario, grupo y resto sobre un directorio
chmod go-rwx directory1 Quitar todos los permisos al grupo y al resto
chown user1 file1 Cambiar el propietario de un archivo (solo root)
chown -R user1 directory1 Cambiar el propietario de un directorio y de todo su contenido (solo root)
chgrp group1 file1 Cambiar el grupo de un archivo
chown user1:group1 file1 Cambiar propietario y grupo en una sola orden (solo root)
find / -perm -u+s Encontrar todos los binarios con setuid del sistema
chmod u+s /bin/file1 Activar el bit setuid para que el archivo se ejecute con los derechos de su propietario (solo root)
chmod u-s /bin/file1 Quitar de nuevo el bit setuid
chmod g+s /home/public Activar el bit setgid: las entradas nuevas bajo el directorio heredan su grupo
chmod g-s /home/public Quitar el bit setgid
chmod o+t /home/public Activar el bit sticky para que en un directorio compartido cada usuario solo pueda borrar sus archivos
chmod o-t /home/public Quitar el bit sticky

Comando Descripción
chattr +a file1 Solo añadir: el archivo puede crecer pero no reescribirse ni borrarse (solo root)
chattr +c file1 Guardar el archivo comprimido en disco (ext4, solo root)
chattr +d file1 Dejar el archivo fuera de las copias de dump (solo root)
chattr +i file1 Inmutable: ni root puede cambiarlo ni borrarlo hasta quitar el atributo (solo root)
chattr +s file1 Shred: sobrescribir los bloques con ceros al borrar el archivo (solo root)
chattr +S file1 Escrituras síncronas: cada cambio va al disco de inmediato (solo root)
chattr +u file1 No borrable: conservar el contenido para poder recuperarlo tras un borrado (solo root)
lsattr Listar los atributos de los archivos; sin argumento recorre el directorio actual

Comando Descripción
bunzip2 file1.bz2 Descomprimir un archivo bzip2 y borrar el original comprimido
bzip2 file1 Comprimir un archivo con bzip2, que pasa a llamarse file1.bz2
gunzip file1.gz Descomprimir un archivo gzip
gzip file1 Comprimir un archivo, que pasa a llamarse file1.gz
gzip -9 file1 Lo mismo con compresión máxima, a cambio de velocidad
rar a file1.rar test_file Añadir un archivo a un archivo RAR (rar es shareware y falta en casi todas las distribuciones)
rar a file1.rar file1 file2 dir1 Añadir varios archivos y un directorio al archivo RAR
rar x file1.rar Extraer un RAR conservando la estructura de directorios guardada
unrar x file1.rar La misma extracción con la herramienta unrar
tar -cvf archive.tar file1 Crear un archivo sin comprimir e ir mostrando cada miembro que se añade
tar -cvf archive.tar file1 file2 dir1 El mismo archivo con varios miembros
tar -tf archive.tar Listar los miembros de un archivo sin extraerlos
tar -xvf archive.tar Extraer un archivo en el directorio actual
tar -xvf archive.tar -C /tmp Extraer en otro directorio; -C afecta a todo lo que venga después
tar -cvfj archive.tar.bz2 dir1 Crear un archivo comprimido con bzip2 (-j)
tar -jxvf archive.tar.bz2 Extraer un archivo comprimido con bzip2 (-j)
tar -cvfz archive.tar.gz dir1 Crear un archivo comprimido con gzip (-z)
tar -zxvf archive.tar.gz Extraer un archivo comprimido con gzip
zip file1.zip file1 Meter un archivo en un ZIP nuevo
zip -r file1.zip file1 file2 dir1 Añadir dos archivos y un directorio, entrando en él
unzip file1.zip Extraer un ZIP en el directorio actual

Comando Descripción
rpm -ivh package.rpm Instalar un paquete mostrando la barra de progreso y los nombres de archivo
rpm -ivh --nodeps package.rpm Instalar sin resolver antes las dependencias, algo que casi nunca se quiere
rpm -U package.rpm Actualizar un paquete o instalarlo si no hay una versión anterior
rpm -F package.rpm Refresh: actualizar solo cuando ya hay instalada una versión anterior
rpm -e package_name Eliminar un paquete instalado; el argumento es el nombre del paquete, no el archivo
rpm -qa Listar todos los paquetes instalados con nombre, versión y release
rpm -qa | grep httpd Filtrar la lista de RPM instalados por un nombre de paquete
rpm -qi package_name Información detallada de un paquete instalado
rpm -qg "System Environment/Daemons" Todos los paquetes que pertenecen a un grupo
rpm -ql package_name Archivos que posee un paquete
rpm -qc package_name Solo los archivos de configuración de un paquete
rpm -q package_name --whatrequires Paquetes que dependen de esta capacidad
rpm -q package_name --whatprovides Capacidades que ofrece este paquete
rpm -q package_name --scripts Scriptlets de instalación y desinstalación del paquete
rpm -q package_name --changelog Historial de cambios registrado en los metadatos del paquete
rpm -qf /etc/httpd/conf/httpd.conf Qué paquete es dueño de un archivo concreto
rpm -qp package.rpm -l Archivos dentro de un paquete que no está instalado
rpm --import /media/cdrom/RPM-GPG-KEY Añadir una clave de firma a la base de datos RPM para poder verificar paquetes
rpm --checksig package.rpm Verificar la firma y la suma de comprobación de un archivo de paquete
rpm -qa gpg-pubkey Listar las claves guardadas ahora mismo en la base de datos RPM
rpm -V package_name Comparar un paquete instalado con sus metadatos: tamaño, resumen, permisos
rpm -Va Verificar todos los paquetes instalados; es lento y muestra cada diferencia
rpm -Vp package.rpm Verificar un archivo de paquete en lugar de un paquete instalado
rpm2cpio package.rpm | cpio --extract --make-directories \*bin\* Desempaquetar un RPM sin instalarlo, tomando solo las rutas que coinciden con *bin*
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm Instalar desde un árbol de compilación, con la arquitectura rellenada por arch
rpmbuild --rebuild package_name.src.rpm Construir un RPM binario a partir de un RPM de fuentes

Comando Descripción
yum install package_name Instalar un paquete de los repositorios junto con sus dependencias
yum localinstall package_name.rpm Instalar un archivo RPM local y tomar las dependencias de los repositorios
yum update package_name.rpm Actualizar un paquete a partir de un archivo local
yum update package_name Actualizar un paquete instalado a la versión más reciente
yum remove package_name Eliminar un paquete y los paquetes que dependen de él
yum list Listar los paquetes instalados y los disponibles
yum search package_name Buscar en los repositorios por nombre o palabra clave
yum clean packages Borrar los archivos de paquete descargados de la caché
yum clean headers Borrar las cabeceras de metadatos de repositorio guardadas en caché
yum clean all Vaciar toda la caché, metadatos incluidos

Comando Descripción
dpkg -i package.deb Instalar un archivo .deb sin consultar los repositorios
dpkg -r package_name Eliminar un paquete instalado pero conservar sus archivos de configuración
dpkg -l Listar los paquetes instalados con sus versiones
dpkg -l | grep httpd Filtrar la lista de paquetes Debian instalados por un nombre
dpkg -s package_name Estado y metadatos de un paquete instalado
dpkg -L package_name Archivos que instaló un paquete
dpkg --contents package.deb Archivos dentro de un .deb que no está instalado
dpkg -S /bin/ping Qué paquete instaló una ruta concreta

Comando Descripción
apt-get install package_name Instalar un paquete de los repositorios Debian con sus dependencias
apt-cdrom add Registrar un CD o DVD como fuente de paquetes y luego instalar desde él
apt-get update Actualizar el índice de paquetes desde todas las fuentes configuradas
apt-get upgrade Instalar las actualizaciones disponibles sin desinstalar nada
apt-get remove package_name Eliminar un paquete de los repositorios Debian pero dejar sus archivos de configuración
apt-get check Comprobar que la base de datos de paquetes es coherente
apt-get clean Borrar de /var/cache/apt los archivos .deb descargados
apt-cache search searched-package Buscar en el índice de paquetes por nombre o descripción

Comando Descripción
cat file1 Imprimir un archivo completo en la salida estándar
tac file1 Imprimir el archivo con el orden de las líneas invertido
more file1 Pasar las páginas de un archivo solo hacia delante
less file1 Recorrer un archivo en ambos sentidos y buscar dentro de él
head -2 file1 Primeras dos líneas de un archivo; por defecto son diez
tail -2 file1 Últimas dos líneas de un archivo
tail -f /var/log/messages Seguir un registro que crece e imprimir las líneas nuevas según se escriben

Comando Descripción
cat file1 | sed 's/old/new/g' > result.txt Pasar un archivo por otro programa y escribir el resultado en un archivo nuevo
cat file1 | sed 's/old/new/g' >> result.txt Lo mismo, añadiendo el resultado en lugar de reemplazar el archivo
grep Aug /var/log/messages Líneas que contienen el texto
grep ^Aug /var/log/messages Líneas que empiezan por el texto, anclado al principio
grep [0-9] /var/log/messages Líneas que contienen al menos un dígito
grep Aug -R /var/log/* Buscar el texto de forma recursiva bajo las rutas indicadas
sed 's/string1/string2/g' example.txt Sustituir todas las apariciones de una cadena por otra
sed '/^$/d' example.txt Borrar las líneas vacías
sed '/ *#/d; /^$/d' example.txt Borrar las líneas de comentario y las líneas vacías que dejan
echo 'example' | tr '[:lower:]' '[:upper:]' Convertir el texto a mayúsculas con las clases de caracteres de tr
sed -e '1d' result.txt Borrar la primera línea e imprimir el resto
sed -n '/string1/p' example.txt Imprimir solo las líneas que coinciden; -n suprime la salida por defecto
sed -e 's/ *$//' example.txt Quitar los espacios finales de cada línea
sed -e 's/string1//g' example.txt Borrar todas las apariciones de una palabra y conservar el resto de la línea
sed -n '1,5p;5q' example.txt Imprimir las cinco primeras líneas y dejar de leer en la línea 5
sed -n '5p;5q' example.txt Imprimir solo la línea 5 y salir
sed -e 's/00*/0/g' example.txt Convertir secuencias de ceros en un solo cero
cat -n file1 Numerar cada línea al imprimirla
cat example.txt | awk 'NR%2==1' Imprimir las líneas con número impar
echo a b c | awk '{print $1}' Imprimir el primer campo separado por espacios
echo a b c | awk '{print $1,$3}' Imprimir el primer y el tercer campo
paste file1 file2 Unir dos archivos línea a línea, separados por un tabulador
paste -d '+' file1 file2 Lo mismo con + como separador
sort file1 file2 Ordenar los dos archivos juntos en orden ascendente
sort file1 file2 | uniq Eliminar las líneas duplicadas contiguas; la entrada tiene que estar ordenada antes
sort file1 file2 | uniq -u Imprimir solo las líneas que aparecen exactamente una vez
sort file1 file2 | uniq -d Imprimir solo las líneas que aparecen más de una vez
comm -1 file1 file2 Ocultar las líneas que solo están en file1 y conservar las otras dos columnas
comm -2 file1 file2 Ocultar las líneas que solo están en file2
comm -3 file1 file2 Imprimir solo las líneas que difieren entre los dos archivos

Comando Descripción
dos2unix filedos.txt fileunix.txt Convertir los finales de línea CRLF en LF y escribir un archivo nuevo
unix2dos fileunix.txt filedos.txt Convertir los finales de línea LF en CRLF
recode ..HTML < page.txt > page.html Convertir texto plano en entidades HTML con los pares de juegos de caracteres de recode
recode -l | more Listar los juegos de caracteres y las conversiones que admite esta compilación de recode

Comando Descripción
badblocks -v /dev/hda1 Leer todos los bloques de la partición e informar de los que fallan, con progreso
fsck /dev/hda1 Comprobar el sistema de archivos según su tipo; la partición no debe estar montada
fsck.ext2 /dev/hda1 Ejecutar el comprobador de ext2 directamente en lugar de pasar por fsck
e2fsck /dev/hda1 Comprobar un sistema de archivos ext2, ext3 o ext4
e2fsck -p /dev/hda1 Reparar automáticamente todo lo que se pueda sin preguntar (preen)
fsck.ext3 /dev/hda1 La variante ext3 del mismo comprobador
fsck.vfat /dev/hda1 Comprobar un sistema de archivos FAT con el comprobador de dosfstools
fsck.msdos /dev/hda1 Otro nombre para el comprobador de FAT de MS-DOS
dosfsck /dev/hda1 Reparar un sistema de archivos FAT; -a responde sí a todas las preguntas

Comando Descripción
mkfs /dev/hda1 Crear un sistema de archivos en una partición, destruyendo lo que hubiera
mke2fs /dev/hda1 Crear un sistema de archivos ext2
mke2fs -j /dev/hda1 Crear un sistema de archivos ext3 añadiendo un diario
mkfs -t vfat -F 32 /dev/hda1 Crear un sistema de archivos FAT32 con la herramienta de dosfstools
fdformat -n /dev/fd0 Formateo de bajo nivel de un disquete, sin la pasada de verificación
mkswap /dev/hda3 Preparar una partición como área de swap

Comando Descripción
mkswap /dev/hda3 Preparar una partición como área de swap
swapon /dev/hda3 Empezar a usar una partición de swap
swapon /dev/hda2 /dev/hdb3 Activar dos áreas de swap en una sola orden

Comando Descripción
dump -0aj -f /tmp/home0.bak /home Volcado completo (nivel 0) de /home en un archivo comprimido
dump -1aj -f /tmp/home0.bak /home Volcado incremental: solo lo que cambió desde la ejecución de nivel 0
restore -if /tmp/home0.bak Recorrer un volcado de forma interactiva y elegir qué archivos restaurar
rsync -rogpav --delete /home /tmp Copiar un árbol en /tmp conservando enlaces, propietarios, grupos, permisos y fechas; --delete borra los archivos que desaparecieron
rsync -rogpav -e ssh --delete /home ip_address:/tmp La misma copia a través de una conexión SSH
rsync -az -e ssh --delete ip_addr:/home/public /home/local Traer un árbol remoto, comprimido durante el transporte
rsync -az -e ssh --delete /home/local ip_addr:/home/public Enviar un árbol local al host remoto
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' Copiar un disco entero a través de gzip y SSH, megabyte a megabyte
dd if=/dev/sda of=/tmp/file1 Copiar un disco a un archivo en otro sistema de archivos
tar -Puf backup.tar /home/user Añadir a un archivo ya existente y conservar la barra inicial de la ruta
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' Copiar un árbol a un host remoto por una tubería; -p restaura los permisos
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' La misma copia partiendo de una ruta absoluta
tar cf - . | (cd /tmp/backup ; tar xf - ) Copiar el árbol actual a otro directorio de la misma máquina
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents Copiar una lista de archivos y reconstruir su estructura de directorios en el destino
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 Archivar los archivos que encuentra find y comprimir el flujo sobre la marcha
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 Copiar el registro de arranque maestro, 512 bytes cada vez
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 Escribir ese registro de vuelta; con el destino equivocado se destruye un disco

Comando Descripción
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force Borrar un disco regrabable en la grabadora y expulsarlo (cdrecord de cdrtools)
dd if=/dev/cdrom of=cd.iso Copiar un disco óptico a un archivo de imagen ISO
dd if=/dev/cdrom | gzip > cd_iso.gz La misma imagen, comprimida mientras se escribe
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd Crear una imagen ISO desde un directorio, con nombres Joliet y Rock Ridge
cdrecord -v dev=/dev/cdrom cd.iso Grabar una imagen ISO en el disco
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - Grabar una imagen comprimida directamente desde la tubería
mount -o loop cd.iso /mnt/iso Volver a leer la imagen como un directorio
cd-paranoia -B Extraer las pistas de audio de un CD a archivos WAV
cd-paranoia -- "-3" Extraer la pista 3; el -- evita que el guion inicial se lea como una opción
cdrecord --scanbus Listar las direcciones SCSI/ATA que alcanza la grabadora
dd if=/dev/hdc | md5sum Calcular la suma de comprobación del contenido en bruto de una unidad óptica

Comando Descripción
dhclient eth0 Pedir a un servidor DHCP una dirección y una concesión para la interfaz (solo root)
ethtool eth0 Velocidad de enlace, modo dúplex y detalles del controlador de una interfaz de red
host www.example.com Resolver un nombre a direcciones con la utilidad host de BIND
hostname Mostrar el nombre de esta máquina
ifconfig eth0 Dirección, máscara y contadores de una interfaz (net-tools, obsoleto frente a ip)
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 Fijar una dirección estática que dura hasta el siguiente reinicio (solo root)
ifconfig eth0 promisc Poner la interfaz en modo promiscuo para que conserve todas las tramas que ve (solo root)
ifdown eth0 Bajar una interfaz con los scripts de ifupdown (solo root)
ifup eth0 Subirla de nuevo y aplicar la configuración de /etc/network/interfaces (solo root)
ip link show Estado de todos los dispositivos de red; el sustituto moderno de ifconfig
iwconfig eth1 Ajustes inalámbricos de una interfaz: ESSID, modo y frecuencia (wireless-tools)
iwlist scan Listar los puntos de acceso que ve la tarjeta inalámbrica (solo root)
mii-tool eth0 Estado del enlace de una interfaz cableada tal como lo informa el controlador
netstat -tup Conexiones TCP y UDP activas con el proceso dueño de cada socket
netstat -tulp Solo los sockets que esperan conexiones, con el proceso que los tiene abiertos
netstat -rn Tabla de rutas del kernel con direcciones numéricas y sin resolver nombres
nslookup www.example.com Consultar a un servidor de nombres por un nombre o una dirección; dig es el reemplazo moderno
route -n Tabla de rutas sin resolución de nombres (net-tools)
route add default gw 192.168.1.1 Fijar la puerta de enlace por defecto hasta el siguiente arranque (solo root)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 Añadir una ruta estática hacia una red (solo root)
route del default gw 192.168.1.1 Quitar de nuevo esa ruta por defecto (solo root)
echo 1 > /proc/sys/net/ipv4/ip_forward Activar el reenvío IPv4 para que la máquina pueda enrutar entre interfaces (solo root)
tcpdump tcp port 80 Capturar el tráfico HTTP que pasa por el cable (solo root)
whois www.example.com Datos de registro de un dominio en la base de datos WHOIS

Comando Descripción
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share Montar un recurso compartido de Windows; los kernels actuales usan -t cifs y un archivo de credenciales en lugar de smbfs
nbtscan 192.168.1.0/24 Escanear una subred en busca de nombres NetBIOS y de las máquinas que hay detrás
nmblookup -A 192.168.1.10 Pedir a un host sus nombres NetBIOS; la respuesta de Samba a nbtstat
smbclient -L 192.168.1.10 Listar los recursos compartidos que ofrece un host Windows
smbget -Rr smb://192.168.1.10/share Descargar un recurso compartido de forma recursiva con el cliente tipo wget de Samba

Comando Descripción
iptables -t filter -L Listar las reglas de la tabla filter
iptables -t nat -L Listar las reglas de la tabla nat, que se ocupa de la traducción de direcciones
iptables -t filter -F Borrar todas las reglas de la tabla filter
iptables -t nat -F Borrar todas las reglas de la tabla nat
iptables -t filter -X Borrar las cadenas definidas por el usuario que ya no se referencian
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT Añadir una regla que acepta el Telnet entrante en el puerto 23
iptables -t filter -A OUTPUT -p tcp --dport telnet -j DROP Descartar el tráfico Telnet saliente
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT Dejar pasar el tráfico POP3 reenviado
iptables -t filter -A INPUT -j LOG --log-prefix "INPUT: " Registrar cada paquete entrante con un prefijo que puedas buscar
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Reescribir la dirección de origen de los paquetes salientes, que es como funciona una pasarela NAT sencilla
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 Enviar el SSH a un host interno reescribiendo la dirección de destino

Comando Descripción
free -m Uso de memoria y swap en mebibytes
kill -9 1234 SIGKILL: el proceso termina de inmediato y no puede limpiar nada (1234 representa el PID)
kill -1 1234 SIGHUP: la mayoría de los demonios releen su configuración (1234 representa el PID)
last reboot Historial de accesos filtrado por reinicios, así que muestra cuándo se reinició la máquina
lsmod Listar los módulos del kernel cargados ahora mismo
lsof -p 1234 Todos los archivos, sockets y dispositivos que tiene abiertos un proceso
lsof /home/user1 Qué procesos tienen archivos abiertos bajo una ruta
ps -eafw Todos los procesos con su línea de órdenes completa en un listado ancho
ps -e -o pid,args --forest Árbol de procesos mostrando solo el PID y la orden
pstress Herramienta de pruebas de carga para PostgreSQL; no forma parte de una distribución estándar
smartctl -A /dev/hda Atributos S.M.A.R.T. de un disco, donde los sectores reasignados avisan de un fallo
smartctl -i /dev/hda Modelo, firmware, número de serie y estado de salud de un disco
strace -c ls >/dev/null Contar las llamadas al sistema que hace una orden e imprimir un resumen
strace -f -e open ls >/dev/null Trazar las llamadas open() de una orden y de los procesos hijos que lanza
tail /var/log/dmesg Últimas líneas del registro del búfer circular del kernel
tail /var/log/messages Últimas líneas del registro general del sistema
top Lista en vivo de procesos ordenada por uso de CPU, que se actualiza mientras miras
watch -n 1 'cat /proc/interrupts' Ejecutar una orden cada segundo y mantener su salida en pantalla

Comando Descripción
alias hh='history' Dar un nombre corto a una orden dentro de la shell actual
apropos keyword Buscar una palabra clave en los nombres y descripciones de las páginas de manual
chsh Cambiar tu shell de acceso de forma interactiva
chsh --list-shells Mostrar las shells listadas en /etc/shells
gpg -c file1 Cifrar un archivo con una frase de paso en file1.gpg, usando un cifrado simétrico
gpg file1.gpg Descifrar ese archivo otra vez y pedir la frase de paso

Cómo usar las tablas de comandos

Esta página reúne 347 ejemplos de comandos en 27 grupos plegables, desde información del sistema y archivos hasta redes, paquetes, copias de seguridad y medios ópticos. Usa Ctrl / Cmd + F o pulsa el encabezado de un grupo para plegar la parte que necesitas; la celda del comando conserva la sintaxis del shell tal como la escribirías y la nota de al lado explica qué hace esa utilidad o esa opción.

Las notas se escribieron a partir de la página de manual de cada utilidad, así que describen la herramienta en lugar de repetir una frase genérica: uname -r imprime la versión del kernel, e2fsck -p repara lo que se puede arreglar sin preguntar e iptables -t nat -F vacía la tabla de traducción de direcciones. VoriTools no ejecuta ninguno de estos comandos: la página es un documento estático, así que leerla no puede cambiar tu sistema.

  1. Busca el grupo que necesitas: información del sistema y hardware, archivos y directorios, búsqueda de archivos, montaje, uso de disco, usuarios y grupos, permisos, atributos extendidos, archivos comprimidos, paquetes RPM / YUM / Debian / APT, visualización de archivos, procesamiento de texto, codificaciones de caracteres, comprobación de sistemas de archivos, creación de sistemas de archivos, swap, copia y restauración, medios ópticos, Ethernet y Wi-Fi, SMB, iptables, monitorización y diagnóstico, y otras utilidades.
  2. Pulsa el encabezado de un grupo para plegarlo o desplegarlo, o usa Ctrl / Cmd + F para saltar a un comando como tar -xvf o a una palabra dentro de una nota.
  3. Lee la nota antes de copiar. Indica la opción en la que se basa el ejemplo (-j para bzip2, -C para extraer en otro sitio, -perm para buscar archivos setuid) y marca las filas que necesitan root.
  4. Comprueba las rutas, los nombres de dispositivo y las suposiciones de distribución del ejemplo. /dev/hda y /dev/hdc vienen de la antigua nomenclatura IDE, así que un sistema moderno espera /dev/sda o /dev/sr0; yum redirige a dnf en RHEL 8 y posteriores, y ifconfig, route y netstat pertenecen a net-tools, sustituido por ip, ss e ip route.
  5. Después ejecuta el comando en tu propia shell, donde puedes ver qué hace. Aquí no se ejecuta nada por ti y ninguna petición sale del navegador mientras lees.

Qué dicen las notas y qué no hace esta página

Cómo está escrita cada fila

La celda del comando contiene un ejemplo que funciona: mkdir -p /tmp/dir1/dir2 crea los directorios padre y no falla si la ruta ya existe; tar -xvf archive.tar -C /tmp extrae en otro directorio porque -C se aplica a todo lo que viene después; find / -xdev -name \*.rpm se queda dentro de un sistema de archivos. Donde la lista original tenía una errata o una opción imposible —iptables -t nae, e2fsck -j, gpg -c filel, mkisofs /dev/cdrom, netstat -tup1, /proc/sys/net/ipv4/ip_foward— el ejemplo se ha corregido y la nota describe la forma corregida.

Qué se comprobó y cómo

Cada utilidad citada en la página se comprobó en el servidor Linux que también sirve VoriTools (Alibaba Cloud Linux 3): command -v para el binario, man -w para la página de manual. 106 de las 141 utilidades tienen página de manual allí y las notas siguen el texto de su línea NAME y de su lista de opciones. 32 no están instaladas (apt-get, dpkg, rar, smartctl, tree, whois, rsync, smbclient y otras), así que sus notas describen la herramienta original y no una ejecución local.

Las opciones que aparecen son ejemplos, no la lista completa. Añade --help o abre la página de manual para ver el resto.

Filas que tocan datos

Filas como rm -rf dir1, dd if=/dev/fd0 of=/dev/hda, mkfs /dev/hda1, iptables -F y shutdown -h now están documentadas, nunca se ejecutan aquí. La nota marca las que necesitan root y se aplica el mismo cuidado que tendrías en un terminal: confirma antes el dispositivo, la ruta y el host de destino. Un nombre de dispositivo equivocado en dd o mkfs destruye datos sin vuelta atrás.

Herramientas recientes: