Comandos comunes de Linux

Código del comando Descripción
arch Muestra la arquitectura del procesador de la máquina (1)
uname -m Muestra la arquitectura del procesador de la máquina (2)
uname -r Muestra la versión del núcleo en uso
dmidecode -q Muestra los componentes del sistema de hardware - (SMBIOS / DMI)
hdparm -i /dev/hda Lista las características de un disco
hdparm -tT /dev/sda Realiza pruebas de lectura en el disco
cat /proc/cpuinfo Muestra la información del CPU
cat /proc/interrupts Muestra las interrupciones
cat /proc/meminfo Verifica el uso de la memoria
cat /proc/swaps Muestra qué swap está en uso
cat /proc/version Muestra la versión del núcleo
cat /proc/net/dev Muestra los adaptadores de red y estadísticas
cat /proc/mounts Muestra los sistemas de archivos montados
lspci -tv Lista dispositivos PCI
lsusb -tv Muestra dispositivos USB
date Muestra la fecha del sistema
cal 2007 Muestra el calendario del año 2007
date 041217002007.00 Establece la fecha y hora - mes día hora minutos año. segundos
clock -w Guarda el tiempo en BIOS

Código del comando Descripción
shutdown -h now Apaga el sistema
init 0 Apaga el sistema
telinit 0 Apaga el sistema
shutdown -h hours:minutes & Apaga el sistema a la hora programada
shutdown -c Cancela el apagado programado
shutdown -r now Reinicia
reboot Reinicia
logout Cerrar sesión

Código del comando Descripción
cd /home Entra en el directorio '/home'
cd .. Regresa al directorio superior
cd ../.. Regresa a dos directorios arriba
cd Entra en el directorio personal
cd ~user1 Entra en el directorio personal de user1
cd - Regresa al último directorio utilizado
pwd Muestra la ruta de trabajo
ls Muestra los archivos en el directorio
ls -F Muestra los archivos en el directorio
ls -l Muestra información detallada de archivos y directorios
ls -a Muestra archivos ocultos
ls *[0-9]* Muestra nombres de archivos y directorios que contengan números
tree Muestra la estructura en árbol de archivos y directorios desde el directorio raíz
lstree Muestra la estructura en árbol de archivos y directorios desde el directorio raíz
mkdir dir1 Crea un directorio llamado 'dir1'
mkdir dir1 dir2 Crea dos directorios simultáneamente
mkdir -p /tmp/dir1/dir2 Crea un árbol de directorios
rm -f file1 Elimina un archivo llamado 'file1'
rmdir dir1 Elimina un directorio llamado 'dir1'
rm -rf dir1 Elimina un directorio llamado 'dir1' y su contenido
rm -rf dir1 dir2 Elimina dos directorios y su contenido simultáneamente
mv dir1 new_dir Renombra/mueve un directorio
cp file1 file2 Copia un archivo
cp dir/* . Copia todos los archivos de un directorio al directorio de trabajo actual
cp -a /tmp/dir1 . Copia un directorio al directorio de trabajo actual
cp -a dir1 dir2 Copia un directorio
ln -s file1 lnk1 Crea un enlace simbólico a un archivo o directorio
ln file1 lnk1 Crea un enlace físico a un archivo o directorio
touch -t 0712250000 file1 Modifica la marca de tiempo de un archivo o directorio - (YYMMDDhhmm)
iconv -l Lista las codificaciones conocidas
iconv -f fromEncoding -t toEncoding inputFile > outputFile Cambia la codificación de caracteres
find . -maxdepth 1 -name *.jpg -print -exec convert Cambia el tamaño de archivos en el directorio y los envía al directorio de miniaturas (requiere convertir de ImageMagick)

Código del comando Descripción
find / -name file1 Busca archivos y directorios desde '/' en el sistema de archivos raíz
find / -user user1 Busca archivos y directorios pertenecientes al usuario 'user1'
find /home/user1 -name \*.bin Busca archivos que terminan en '.bin' en el directorio '/home/user1'
find /usr/bin -type f -atime +100 Busca archivos ejecutables no utilizados en los últimos 100 días
find /usr/bin -type f -mtime -10 Busca archivos creados o modificados en los últimos 10 días
find / -name \*.rpm -exec chmod 755 '{}' \; Busca archivos que terminan en '.rpm' y establece sus permisos
find / -xdev -name \*.rpm Busca archivos que terminan en '.rpm', ignorando dispositivos móviles como CD-ROM y USB
locate \*.ps Encuentra archivos que terminan en '.ps' - ejecutar primero el comando 'updatedb'
whereis halt Muestra la ubicación de un archivo binario, fuente o man
which halt Muestra la ruta completa de un archivo binario o ejecutable

Código del comando Descripción
mount /dev/hda2 /mnt/hda2 Monta un disco llamado hda2 - Asegúrate de que el directorio '/mnt/hda2' ya existe
umount /dev/hda2 Desmonta un disco llamado hda2 - primero debes salir del punto de montaje '/mnt/hda2'
fuser -km /mnt/hda2 Fuerza el desmontaje cuando el dispositivo está ocupado
umount -n /mnt/hda2 Realiza la operación de desmontaje sin escribir en el archivo /etc/mtab - útil cuando el archivo es de solo lectura o cuando el disco está lleno
mount /dev/fd0 /mnt/floppy Monta un disquete
mount /dev/cdrom /mnt/cdrom Monta un cdrom o dvdrom
mount /dev/hdc /mnt/cdrecorder Monta un cdrw o dvdrom
mount /dev/hdb /mnt/cdrecorder Monta un cdrw o dvdrom
mount -o loop file.iso /mnt/cdrom Monta un archivo o imagen ISO
mount -t vfat /dev/hda5 /mnt/hda5 Monta un sistema de archivos FAT32 de Windows
mount /dev/sda1 /mnt/usbdisk Monta un dispositivo de memoria USB
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share Monta un recurso compartido de red de Windows

Código del comando Descripción
df -h Muestra la lista de particiones montadas
ls -lSr |more Ordena archivos y directorios por tamaño
du -sh dir1 Estima el espacio en disco utilizado por el directorio 'dir1'
du -sk * | sort -rn Muestra el tamaño de archivos y directorios por capacidad
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n Muestra el espacio utilizado por los paquetes rpm instalados (para sistemas tipo fedora, redhat)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n Muestra el espacio utilizado por los paquetes deb instalados (para sistemas tipo ubuntu, debian)

Código del comando Descripción
groupadd group_name Crea un nuevo grupo de usuarios
groupdel group_name Elimina un grupo de usuarios
groupmod -n new_group_name old_group_name Cambia el nombre de un grupo de usuarios
useradd -c "Nombre Apellido" -g admin -d /home/user1 -s /bin/bash user1 Crea un usuario perteneciente al grupo "admin"
useradd user1 Crea un nuevo usuario
userdel -r user1 Elimina un usuario ( '-r' excluye el directorio personal)
usermod -c "Usuario FTP" -g system -d /ftp/user1 -s /bin/nologin user1 Modifica atributos del usuario
passwd Cambia la contraseña
passwd user1 Cambia la contraseña de un usuario (solo permitido para el root)
chage -E 2020-12-31 user1 Establece la fecha de expiración de la contraseña del usuario
pwck Verifica el formato y sintaxis del archivo '/etc/passwd' y usuarios existentes
grpck Verifica el formato y sintaxis del archivo '/etc/group' y grupos existentes
newgrp group_name Inicia sesión en un nuevo grupo para cambiar el grupo predeterminado de los archivos creados

Código del comando Descripción
ls -lh Muestra los permisos
ls /tmp | pr -T5 -W$COLUMNS Divide el terminal en 5 columnas de visualización
chmod ugo+rwx directory1 Establece permisos de lectura (r), escritura (w) y ejecución (x) para el propietario (u), grupo (g) y otros (o) en el directorio
chmod go-rwx directory1 Elimina permisos de lectura, escritura y ejecución de grupo (g) y otros (o) en el directorio
chown user1 file1 Cambia la propiedad de un archivo
chown -R user1 directory1 Cambia la propiedad de un directorio y de todos sus archivos
chgrp group1 file1 Cambia el grupo de un archivo
chown user1:group1 file1 Cambia el propietario y grupo de un archivo
find / -perm -u+s Lista todos los archivos del sistema que tienen el bit SUID establecido
chmod u+s /bin/file1 Establece el bit SUID en un archivo binario - el usuario que ejecuta el archivo recibe los mismos permisos que el propietario
chmod u-s /bin/file1 Desactiva el bit SUID en un archivo binario
chmod g+s /home/public Establece el bit SGID en un directorio - similar al SUID, pero aplicado a directorios
chmod g-s /home/public Desactiva el bit SGID en un directorio
chmod o+t /home/public Establece el bit STICKY en un archivo - solo permite al propietario legítimo eliminar el archivo
chmod o-t /home/public Desactiva el bit STICKY en un directorio

Código del comando Descripción
chattr +a file1 Solo permite leer y escribir a un archivo en modo de agregar
chattr +c file1 Permite que este archivo sea comprimido/descomprimido automáticamente por el núcleo
chattr +d file1 Ignora este archivo al realizar copias de seguridad del sistema de archivos
chattr +i file1 Establece un archivo como inmutable, no puede eliminarse, modificarse, renombrarse o enlazarse
chattr +s file1 Permite que un archivo sea eliminado de forma segura
chattr +S file1 Hace que el sistema escriba inmediatamente las modificaciones a disco una vez que el programa escribe en este archivo
chattr +u file1 Si el archivo es eliminado, permite recuperarlo posteriormente
lsattr Muestra atributos especiales

Código del comando Descripción
bunzip2 file1.bz2 Descomprime un archivo llamado 'file1.bz2'
bzip2 file1 Comprime un archivo llamado 'file1'
gunzip file1.gz Descomprime un archivo llamado 'file1.gz'
gzip file1 Comprime un archivo llamado 'file1'
gzip -9 file1 Máxima compresión
rar a file1.rar test_file Crea un paquete llamado 'file1.rar'
rar a file1.rar file1 file2 dir1 Comprime simultáneamente 'file1', 'file2' y el directorio 'dir1'
rar x file1.rar Descomprime un paquete rar
unrar x file1.rar Descomprime un paquete rar
tar -cvf archive.tar file1 Crea un tarball sin comprimir
tar -cvf archive.tar file1 file2 dir1 Crea un archivo que contiene 'file1', 'file2' y 'dir1'
tar -tf archive.tar Muestra el contenido de un paquete
tar -xvf archive.tar Extrae un paquete
tar -xvf archive.tar -C /tmp Extrae el paquete en el directorio /tmp
tar -cvfj archive.tar.bz2 dir1 Crea un paquete comprimido en formato bzip2
tar -jxvf archive.tar.bz2 Descomprime un paquete en formato bzip2
tar -cvfz archive.tar.gz dir1 Crea un paquete comprimido en formato gzip
tar -zxvf archive.tar.gz Descomprime un paquete en formato gzip
zip file1.zip file1 Crea un paquete comprimido en formato zip
zip -r file1.zip file1 file2 dir1 Comprime varios archivos y directorios en un paquete zip
unzip file1.zip Descomprime un paquete comprimido en formato zip

Código del comando Descripción
rpm -ivh package.rpm Instala un paquete rpm
rpm -ivh --nodeeps package.rpm Instala un paquete rpm ignorando las advertencias de dependencias
rpm -U package.rpm Actualiza un paquete rpm sin cambiar su archivo de configuración
rpm -F package.rpm Actualiza un paquete rpm que ya está instalado
rpm -e package_name.rpm Elimina un paquete rpm
rpm -qa Muestra todos los paquetes rpm instalados en el sistema
rpm -qa | grep httpd Muestra todos los paquetes rpm cuyo nombre contiene "httpd"
rpm -qi package_name Obtiene información específica de un paquete instalado
rpm -qg "System Environment/Daemons" Muestra el paquete rpm de un componente
rpm -ql package_name Muestra la lista de archivos que proporciona un paquete rpm instalado
rpm -qc package_name Muestra la lista de archivos de configuración que proporciona un paquete rpm instalado
rpm -q package_name --whatrequires Muestra una lista de dependencias de un paquete rpm
rpm -q package_name --whatprovides Muestra el tamaño que ocupa un paquete rpm
rpm -q package_name --scripts Muestra los scripts ejecutados durante la instalación/desinstalación
rpm -q package_name --changelog Muestra el registro de cambios de un paquete rpm
rpm -qf /etc/httpd/conf/httpd.conf Confirma qué paquete rpm proporciona el archivo dado
rpm -qp package.rpm -l Muestra la lista de archivos que proporciona un paquete rpm no instalado
rpm --import /media/cdrom/RPM-GPG-KEY Importa la clave pública
rpm --checksig package.rpm Confirma la integridad de un paquete rpm
rpm -qa gpg-pubkey Confirma la integridad de todos los paquetes rpm instalados
rpm -V package_name Verifica el tamaño, permisos, tipo, propietario, grupo, MD5 y la última fecha de modificación de los archivos
rpm -Va Verifica todos los paquetes rpm instalados en el sistema - usar con precaución
rpm -Vp package.rpm Confirma que un paquete rpm no está instalado
rpm2cpio package.rpm | cpio --extract --make-directories *bin* Ejecuta un archivo ejecutable desde un paquete rpm
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm Instala un paquete ya construido a partir del origen de un paquete rpm
rpmbuild --rebuild package_name.src.rpm Construye un paquete rpm a partir de un origen de paquete rpm

Código del comando Descripción
yum install package_name Descarga e instala un paquete rpm
yum localinstall package_name.rpm Instala un paquete rpm, resolviendo todas las dependencias con su propio repositorio
yum update package_name.rpm Actualiza todos los paquetes rpm instalados en el sistema
yum update package_name Actualiza un paquete rpm
yum remove package_name Elimina un paquete rpm
yum list Muestra todos los paquetes instalados en el sistema
yum search package_name Busca un paquete en el repositorio rpm
yum clean packages Limpia el caché de rpm eliminando los paquetes descargados
yum clean headers Elimina todos los archivos de encabezado
yum clean all Elimina todos los paquetes y encabezados en caché

Código del comando Descripción
dpkg -i package.deb Instala/actualiza un paquete deb
dpkg -r package_name Elimina un paquete deb del sistema
dpkg -l Muestra todos los paquetes deb instalados en el sistema
dpkg -l | grep httpd Muestra todos los paquetes deb cuyo nombre contiene "httpd"
dpkg -s package_name Obtiene información de un paquete específico instalado en el sistema
dpkg -L package_name Muestra la lista de archivos que proporciona un paquete deb instalado
dpkg --contents package.deb Muestra la lista de archivos que proporciona un paquete que no está instalado
dpkg -S /bin/ping Confirma qué paquete deb proporciona el archivo dado

Código del comando Descripción
apt-get install package_name Instala/actualiza un paquete deb
apt-cdrom install package_name Instala/actualiza un paquete deb desde el CD
apt-get update Actualiza los paquetes en la lista
apt-get upgrade Actualiza todos los programas instalados
apt-get remove package_name Elimina un paquete deb del sistema
apt-get check Verifica que el repositorio de dependencias sea correcto
apt-get clean Limpia el caché de los paquetes descargados
apt-cache search searched-package Regresa nombres de paquetes que contienen la cadena buscada

Código del comando Descripción
cat file1 Muestra el contenido del archivo desde el primer byte
tac file1 Muestra el contenido de un archivo desde la última línea
more file1 Muestra el contenido de un archivo largo
less file1 Similar al comando 'more', pero permite operaciones inversas también
head -2 file1 Muestra las dos primeras líneas de un archivo
tail -2 file1 Muestra las dos últimas líneas de un archivo
tail -f /var/log/messages Muestra en tiempo real el contenido añadido a un archivo

Código del comando Descripción
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt Combina el texto descriptivo de un archivo y escribe el resumen en un nuevo archivo
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt Combina el texto descriptivo de un archivo y añade el resumen a un archivo existente
grep Aug /var/log/messages Busca la palabra clave "Aug" en el archivo '/var/log/messages'
grep ^Aug /var/log/messages Busca palabras que comienzan con "Aug" en el archivo '/var/log/messages'
grep [0-9] /var/log/messages Selecciona todas las líneas que contienen números en el archivo '/var/log/messages'
grep Aug -R /var/log/* Busca la cadena "Aug" en el directorio '/var/log' y en los directorios posteriores
sed 's/stringa1/stringa2/g' example.txt Reemplaza "string1" por "string2" en el archivo example.txt
sed '/^$/d' example.txt Elimina todas las líneas en blanco del archivo example.txt
sed '/ *#/d; /^$/d' example.txt Elimina todos los comentarios y líneas en blanco del archivo
echo 'ejemplo' | tr '[:lower:]' '[:upper:]' Combina el contenido de celdas
sed -e '1d' result.txt Excluye la primera línea del archivo example.txt
sed -n '/stringa1/p' Muestra solo las líneas que contienen "string1"
sed -e 's/ *$//' example.txt Elimina cualquier carácter de espacio en blanco al final de cada línea
sed -e 's/stringa1//g' example.txt Elimina únicamente la palabra "string1" del documento, manteniendo el resto
sed -n '1,5p;5q' example.txt Muestra el contenido desde la línea 1 hasta la 5
sed -n '5p;5q' example.txt Muestra la línea 5
sed -e 's/00*/0/g' example.txt Reemplaza múltiplos ceros por un solo cero
cat -n file1 Numera las líneas del archivo
cat example.txt | awk 'NR%2==1' Elimina todas las líneas pares del archivo example.txt
echo a b c | awk '{print $1}' Muestra la primera columna de una línea
echo a b c | awk '{print $1,$3}' Muestra la primera y tercera columna de una línea
paste file1 file2 Combina el contenido de dos archivos o columnas
paste -d '+' file1 file2 Combina el contenido de dos archivos o columnas, usando '+' como separador
sort file1 file2 Ordena el contenido de dos archivos
sort file1 file2 | uniq Obtiene la unión de los dos archivos (líneas duplicadas se mantienen una sola vez)
sort file1 file2 | uniq -u Elimina la intersección, manteniendo otras líneas
sort file1 file2 | uniq -d Obtiene la intersección de los dos archivos (mantiene solo las líneas que están en ambos archivos)
comm -1 file1 file2 Compara los contenidos de dos archivos y elimina solo el contenido de 'file1'
comm -2 file1 file2 Compara los contenidos de dos archivos y elimina solo el contenido de 'file2'
comm -3 file1 file2 Compara los contenidos de dos archivos y elimina las partes comunes a ambos archivos

Código del comando Descripción
dos2unix filedos.txt fileunix.txt Convierte el formato de un archivo de texto de MSDOS a UNIX
unix2dos fileunix.txt filedos.txt Convierte el formato de un archivo de texto de UNIX a MSDOS
recode ..HTML < page.txt> page.html Convierte un archivo de texto a html
recode -l | more Muestra todos los formatos de conversión permitidos

Código del comando Descripción
badblocks -v /dev/hda1 Verifica bloques defectuosos en el disco hda1
fsck /dev/hda1 Verifica/repara la integridad del sistema de archivos en hda1
fsck.ext2 /dev/hda1 Verifica/repara la integridad del sistema de archivos ext2 en hda1
e2fsck /dev/hda1 Verifica/repara la integridad del sistema de archivos ext2 en hda1
e2fsck -j /dev/hda1 Verifica/repara la integridad del sistema de archivos ext3 en hda1
fsck.ext3 /dev/hda1 Verifica/repara la integridad del sistema de archivos ext3 en hda1
fsck.vfat /dev/hda1 Verifica/repara la integridad del sistema de archivos fat en hda1
fsck.msdos /dev/hda1 Verifica/repara la integridad del sistema de archivos dos en hda1
dosfsck /dev/hda1 Verifica/repara la integridad del sistema de archivos dos en hda1

Código del comando Descripción
mkfs /dev/hda1 Crea un sistema de archivos en la partición hda1
mke2fs /dev/hda1 Crea un sistema de archivos ext2 de linux en hda1
mke2fs -j /dev/hda1 Crea un sistema de archivos ext3 (con registro) de linux en hda1
mkfs -t vfat 32 -F /dev/hda1 Crea un sistema de archivos FAT32
fdformat -n /dev/fd0 Formatea un disquete
mkswap /dev/hda3 Crea un sistema de archivos swap

Código del comando Descripción
mkswap /dev/hda3 Crea un sistema de archivos swap
swapon /dev/hda3 Habilita un nuevo sistema de archivos swap
swapon /dev/hda2 /dev/hdb3 Habilita dos particiones swap

Código del comando Descripción
dump -0aj -f /tmp/home0.bak /home Realiza una copia de seguridad completa del directorio '/home'
dump -1aj -f /tmp/home0.bak /home Realiza una copia de seguridad interactiva del directorio '/home'
restore -if /tmp/home0.bak Restaura una copia de seguridad interactiva
rsync -rogpav --delete /home /tmp