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 |
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.
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.
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 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.