Comandos Esenciales de Linux: Gestión Completa del Sistema Operativo
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 28,68 KB
Sintaxis general:
Comando [opciones] [argumentos]
Información del Sistema
date
: Muestra la fecha y hora del sistema.cal
: Muestra el calendario del mes actual.uname
: Muestra información detallada del sistema operativo.logname
: Muestra el nombre de usuario del usuario actualmente logueado.id
: Muestra el número de identificación (UID y GID) del usuario. Nota: La información de usuarios y grupos se encuentra en/etc/passwd
y/etc/group
.clear
: Limpia la pantalla de la terminal.su
: Suplanta la identidad de otro usuario (ej. cambiar a root).tty
: Muestra el nombre del terminal utilizado.
Gestión de Apagado, Reinicio y Cierre de Sesión
shutdown -h now
: Apaga el sistema inmediatamente (método 1).init 0
: Apaga el sistema (método 2).telinit 0
: Apaga el sistema (método 3).halt
: Apaga el sistema (método 4).shutdown -h hours:minutes &
: Planifica el apagado del sistema a una hora específica.shutdown -c
: Cancela un apagado planificado del sistema.shutdown -r now
: Reinicia el sistema inmediatamente (método 1).reboot
: Reinicia el sistema (método 2).logout
: Cierra la sesión actual del usuario.
Gestión de Archivos y Directorios
Navegación y Visualización
cd /home
: Entra en el directorio 'home'.cd ..
: Retrocede un nivel en la jerarquía de directorios.cd ../..
: Retrocede dos niveles.cd
: Sin argumentos, te lleva al directorio personal del usuario (~
).cd ~user1
: Va al directorio personal del usuario 'user1'.cd -
: Regresa al directorio anterior.pwd
: Muestra el directorio de trabajo actual.ls
: Lista el contenido de un directorio.tree
: Muestra los ficheros y directorios en formato de árbol.
Creación, Eliminación y Movimiento
mkdir nombre_directorio
: Crea directorios.rm nombre_fichero
: Elimina ficheros.rmdir nombre_directorio
: Elimina directorios vacíos.mv origen destino
: Renombra o mueve ficheros y directorios.cp origen destino
: Copia ficheros.ln -s origen enlace
: Crea un enlace simbólico (acceso directo).ln origen enlace
: Crea un enlace físico.touch nombre_fichero
: Crea un fichero vacío o actualiza la fecha de acceso/modificación.
Información y Búsqueda
file nombre_archivo
: Determina el tipo de un archivo.find ruta -name "patron"
: Busca ficheros en directorios.locate *.ps
: Encuentra ficheros con extensión '.ps'. Requiere que la base de datos delocate
esté actualizada conupdatedb
.whereis halt
: Muestra la ubicación de un fichero binario, de ayuda o de código fuente. Por ejemplo, para el comando 'halt'.which halt
: Muestra la ruta completa a un binario o ejecutable.
Gestión de Sistemas de Ficheros: Montaje y Desmontaje
mount /dev/hda2 /mnt/hda2
: Monta el disco 'hda2' en el punto de montaje '/mnt/hda2'. Verifique la existencia del directorio '/mnt/hda2'; si no existe, debe crearlo.umount /dev/hda2
: Desmonta el disco 'hda2'. Asegúrese de salir primero del punto de montaje '/mnt/hda2'.fuser -km /mnt/hda2
: Fuerza el desmontaje cuando el dispositivo está en uso.umount -n /mnt/hda2
: Realiza el desmontaje sin leer el fichero/etc/mtab
. Útil cuando el fichero es de solo lectura o el disco duro está lleno.mount /dev/fd0 /mnt/floppy
: Monta un disco flexible (floppy).mount /dev/cdrom /mnt/cdrom
: Monta un CD-ROM / DVD-ROM.mount /dev/hdc /mnt/cdrecorder
: Monta un CD regrabable o un DVD-ROM.mount /dev/hdb /mnt/cdrecorder
: Monta un CD regrabable / DVD-ROM (ej. un DVD).mount -o loop file.iso /mnt/cdrom
: Monta un fichero o una imagen ISO.mount -t vfat /dev/hda5 /mnt/hda5
: Monta un sistema de ficheros FAT32.mount /dev/sda1 /mnt/usbdisk
: Monta un dispositivo USB (pen-drive o memoria) sin especificar el tipo de sistema de ficheros.
Gestión del Espacio en Disco
df -h
: Muestra una lista de las particiones montadas y su uso en formato legible.ls -lSr | more
: Muestra el tamaño de los ficheros y directorios ordenados por tamaño, paginando la salida.du -sh dir1
: Estima el espacio usado por el directorio 'dir1' en formato legible.du -sk * | sort -rn
: Muestra el tamaño de los ficheros y directorios ordenados por tamaño (en kilobytes).rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
: Muestra el espacio usado por los paquetes RPM instalados, organizados por tamaño (común en Fedora, Red Hat y derivados).dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
: Muestra el espacio usado por los paquetes instalados, organizados por tamaño (común en Ubuntu, Debian y derivados).
Gestión de Usuarios y Grupos
groups
: Muestra los grupos a los que pertenece el usuario actual.groupadd nombre_del_grupo
: Crea un nuevo grupo.groupdel nombre_del_grupo
: Elimina un grupo.groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo
: Renombra un grupo.useradd -c "Nombre Apellido" -g admin -d /home/user1 -s /bin/bash user1
: Crea un nuevo usuario ('user1') con un comentario, asignándolo al grupo 'admin', con directorio personal '/home/user1' y shell '/bin/bash'.useradd user1
: Crea un nuevo usuario con configuración predeterminada.userdel -r user1
: Elimina un usuario ('user1'). La opción '-r
' también elimina su directorio personal (Home).usermod -c "Usuario FTP" -g system -d /ftp/user1 -s /bin/nologin user1
: Modifica los atributos del usuario 'user1'.passwd
: Cambia la contraseña del usuario actual o de otro usuario (si se tienen permisos). Nota: Las contraseñas se guardan en/etc/shadow
.newgrp group_name
: Cambia el grupo primario del usuario para los ficheros creados recientemente.
Gestión de Permisos de Ficheros
Usa '+
' para añadir permisos y '-
' para eliminar.
ls -lh
: Muestra los permisos de ficheros y directorios en formato legible.ls /tmp | pr -T5 -W$COLUMNS
: Divide la salida de 'ls /tmp' en 5 columnas en la terminal.chmod ugo+rwx directory1
: Asigna permisos de lectura (r), escritura (w) y ejecución (x) al propietario (u), al grupo (g) y a otros (o) sobre el directorio 'directory1'.chmod go-rwx directory1
: Elimina permisos de lectura (r), escritura (w) y ejecución (x) al grupo (g) y a otros (o) sobre el directorio 'directory1'.chown user1 file1
: Cambia el propietario de un fichero.chown -R user1 directory1
: Cambia el propietario de un directorio y de todos sus contenidos de forma recursiva.chgrp group1 file1
: Cambia el grupo de un fichero.chown user1:group1 file1
: Cambia el usuario y el grupo propietario de un fichero.chmod u+s /bin/file1
: Establece el bit SUID en un fichero binario. Esto permite que el usuario que ejecuta el fichero adquiera los privilegios del propietario del fichero.chmod u-s /bin/file1
: Deshabilita el bit SUID en un fichero binario.chmod g+s /home/public
: Establece el bit SGID en un directorio. Similar al SUID, pero aplicado a directorios: los nuevos ficheros creados dentro heredarán el grupo del directorio.
Visualización y Procesamiento de Contenido de Ficheros
cat fichero
: Muestra el contenido completo de un fichero.more fichero
: Muestra el contenido de un fichero paginándolo (avanza solo hacia adelante).less fichero
: Similar a 'more', pero permite navegar hacia adelante y hacia atrás.head fichero
: Muestra las 10 primeras líneas de un fichero.tail fichero
: Muestra las 10 últimas líneas de un fichero.wc fichero
: Cuenta líneas, palabras y caracteres de un fichero.grep "patron" fichero
: Busca patrones de texto en la entrada o en ficheros.tr conjunto1 conjunto2
: Transforma o elimina caracteres.sort fichero
: Ordena líneas de texto de ficheros o de la entrada estándar.cut opciones fichero
: Extrae secciones (columnas) de cada línea de ficheros.paste fichero1 fichero2
: Une líneas de varios ficheros en columnas.join fichero1 fichero2
: Une líneas de dos ficheros basándose en un campo común.nl fichero
: Numera las líneas de un fichero.tee fichero
: Lee la entrada estándar y la escribe tanto en la salida estándar como en uno o más ficheros.
Mantenimiento y Verificación del Sistema de Ficheros
badblocks -v /dev/hda1
: Verifica bloques defectuosos en el disco 'hda1'.fsck /dev/hda1
: Repara o verifica la integridad del sistema de ficheros Linux en 'hda1'.e2fsck /dev/hda1
: Repara o verifica la integridad del sistema de ficheros ext2/ext3/ext4 en 'hda1'.fsck.vfat /dev/hda1
: Repara o verifica la integridad del sistema de ficheros FAT en 'hda1'.dosfsck /dev/hda1
: Repara o verifica la integridad del sistema de ficheros DOS en 'hda1'.
Formateo de Sistemas de Ficheros
mkfs /dev/hda1
: Crea un sistema de ficheros de tipo Linux en la partición 'hda1'.mke2fs /dev/hda1
: Crea un sistema de ficheros ext2 en 'hda1'.mke2fs -j /dev/hda1
: Crea un sistema de ficheros ext3 (con journaling) en la partición 'hda1'.mkfs -t vfat -F 32 /dev/hda1
: Crea un sistema de ficheros FAT32 en 'hda1'.fdformat -n /dev/fd0
: Formatea un disco flexible (floppy).mkswap /dev/hda3
: Crea un área de intercambio (swap) en la partición 'hda3'.
Gestión de la Memoria SWAP
swapon /dev/hda3
: Activa una partición swap.swapon /dev/hda2 /dev/hdb3
: Activa múltiples particiones swap.
Copias de Seguridad (Backup)
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 incremental del directorio '/home'.restore -if /tmp/home0.bak
: Restaura una copia de seguridad de forma interactiva.rsync -rogpav --delete /home /tmp
: Sincroniza directorios, eliminando ficheros en el destino que no existan en el origen.rsync -rogpav -e ssh --delete /home ip_address:/tmp
: Sincroniza directorios a través de un túnel SSH.rsync -az -e ssh --delete ip_addr:/home/public /home/local
: Sincroniza un directorio local con uno remoto a través de SSH y con compresión.rsync -az -e ssh --delete /home/local ip_addr:/home/public
: Sincroniza un directorio remoto con uno local a través de SSH y con compresión.dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
: Realiza una copia de seguridad de un disco duro en un host remoto a través de SSH.dd if=/dev/sda of=/tmp/file1
: Guarda el contenido de un disco duro ('sda') en un fichero ('/tmp/file1').tar -Puf backup.tar /home/user
: Realiza una copia de seguridad incremental del directorio '/home/user'.
Gestión de CD/DVD
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
: Borra o limpia un CD regrabable.mkisofs /dev/cdrom > cd.iso
: Crea una imagen ISO de un CD-ROM en disco.mkisofs /dev/cdrom | gzip > cd_iso.gz
: Crea una imagen ISO comprimida de un CD-ROM en disco.mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd
: Crea una imagen ISO a partir de un directorio.cdrecord -v dev=/dev/cdrom cd.iso
: Graba una imagen ISO en un CD/DVD.gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -
: Graba una imagen ISO comprimida en un CD/DVD.mount -o loop cd.iso /mnt/iso
: Monta una imagen ISO.cd-paranoia -B
: Extrae pistas de audio de un CD a ficheros WAV.cd-paranoia -- "-3"
: Extrae las 3 primeras pistas de audio de un CD a ficheros WAV.cdrecord --scanbus
: Escanea el bus para identificar dispositivos SCSI.dd if=/dev/hdc | md5sum
: Calcula el MD5 checksum de un dispositivo, como un CD.
Configuración y Gestión de Red (LAN y Wi-Fi)
ifconfig eth0
: Muestra la configuración de una interfaz de red Ethernet.ifup eth0
: Activa la interfaz de red 'eth0'.ifdown eth0
: Deshabilita la interfaz de red 'eth0'.ifconfig eth0 192.168.1.1 netmask 255.255.255.0
: Configura una dirección IP estática para 'eth0'.ifconfig eth0 promisc
: Configura 'eth0' en modo promiscuo para capturar todos los paquetes (sniffing).dhclient eth0
: Obtiene una dirección IP para 'eth0' mediante DHCP.route -n
: Muestra la tabla de enrutamiento.route add -net 0/0 gw IP_Gateway
: Configura la ruta predeterminada (gateway).route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
: Configura una ruta estática para la red '192.168.0.0/16'.route del 0/0 gw IP_gateway
: Elimina la ruta estática predeterminada.echo "1" > /proc/sys/net/ipv4/ip_forward
: Habilita el reenvío de paquetes IP (IP forwarding).hostname
: Muestra el nombre del host del sistema.host www.example.com
: Resuelve un nombre de host a una dirección IP (método 1).nslookup www.example.com
: Resuelve un nombre de host a una dirección IP y viceversa (método 2).ip link show
: Muestra el estado de enlace de todas las interfaces de red.mii-tool eth0
: Muestra el estado de enlace de 'eth0'.ethtool eth0
: Muestra estadísticas detalladas de la interfaz de red 'eth0'.netstat -tup
: Muestra todas las conexiones de red activas y sus PIDs.netstat -tupl
: Muestra todos los servicios de red en escucha en el sistema y sus PIDs.tcpdump tcp port 80
: Captura y muestra todo el tráfico HTTP.iwlist scan
: Muestra las redes inalámbricas disponibles.iwconfig eth1
: Muestra la configuración de una interfaz de red inalámbrica.
Interoperabilidad con Redes Windows (SAMBA)
nbtscan ip_addr
: Resuelve nombres NetBIOS en la red.nmblookup -A ip_addr
: Resuelve nombres NetBIOS a partir de una dirección IP.smbclient -L ip_addr/hostname
: Muestra los recursos compartidos (shares) de un host remoto en Windows.
Gestión de Cortafuegos (IPTables)
iptables -t filter -L
: Muestra todas las cadenas de la tabla 'filter'.iptables -t nat -L
: Muestra todas las cadenas de la tabla 'nat'.iptables -t filter -F
: Limpia todas las reglas de la tabla 'filter'.iptables -t nat -F
: Limpia todas las reglas de la tabla 'nat'.iptables -t filter -X
: Elimina cualquier cadena creada por el usuario.iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT
: Permite las conexiones Telnet entrantes.iptables -t filter -A OUTPUT -p tcp --dport http -j DROP
: Bloquea las conexiones HTTP salientes.iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT
: Permite las conexiones POP3 a través de la cadena 'FORWARD'.iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT"
: Registra los paquetes que coinciden con la cadena 'INPUT'.iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
: Configura un PAT (Port Address Translation) en 'eth0', ocultando las direcciones IP de origen de los paquetes salientes.iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22
: Redirecciona los paquetes dirigidos a '192.168.0.1' en el puerto 22 hacia '10.0.0.2:22'.
Monitorización y Depuración del Sistema
top
: Muestra las tareas de Linux que consumen más CPU en tiempo real.ps -eafw
: Muestra todos los procesos de Linux con formato completo.ps -e -o pid,args --forest
: Muestra los procesos de Linux en un formato jerárquico (árbol).pstree
: Muestra un árbol de procesos del sistema.kill -9 ID_Proceso
: Fuerza el cierre de un proceso (terminación inmediata).kill -1 ID_Proceso
: Envía la señal SIGHUP a un proceso, a menudo utilizada para que recargue su configuración.lsof -p $$
: Muestra una lista de ficheros abiertos por el proceso actual.lsof /home/user1
: Muestra una lista de ficheros abiertos en una ruta específica del sistema.strace -c ls >/dev/null
: Muestra un resumen de las llamadas al sistema realizadas por un proceso.strace -f -e open ls >/dev/null
: Muestra las llamadas a la biblioteca (syscalls) relacionadas con la apertura de ficheros.watch -n1 'cat /proc/interrupts'
: Muestra las interrupciones del sistema en tiempo real (cada segundo).last reboot
: Muestra el historial de reinicios del sistema.lsmod
: Muestra los módulos del kernel cargados.free -m
: Muestra el estado de la memoria RAM en megabytes.smartctl -A /dev/hda
: Monitoriza la fiabilidad de un disco duro a través de SMART (Self-Monitoring, Analysis and Reporting Technology).smartctl -i /dev/hda
: Verifica si SMART está activado en un disco duro.tail /var/log/dmesg
: Muestra los últimos eventos del proceso de carga del kernel.tail /var/log/messages
: Muestra los últimos eventos generales del sistema.
Comandos Utilitarios Adicionales
apropos ...keyword
: Muestra una lista de comandos relacionados con una palabra clave. Útil cuando se sabe qué hace un programa, pero se desconoce su nombre exacto.man comando
: Muestra las páginas del manual en línea para un comando. Por ejemplo, 'man ping'.whatis ...keyword
: Muestra una descripción concisa de lo que hace un comando.mkbootdisk --device /dev/fd0 `uname -r`
: Crea un disquete de arranque (bootable).gpg -c file1
: Cifra un fichero con GNU Privacy Guard (GnuPG).gpg file1.gpg
: Descifra un fichero con GnuPG.wget -r www.example.com
: Descarga un sitio web completo de forma recursiva.wget -c www.example.com/file.iso
: Descarga un fichero con la capacidad de reanudar descargas interrumpidas.echo 'wget -c www.example.com/files.iso' | at 09:00
: Programa una descarga para que comience a una hora específica (ej. 09:00).ldd /usr/bin/ssh
: Muestra las bibliotecas compartidas requeridas por un programa (ej. 'ssh').alias hh='history'
: Crea un alias para un comando (ej. 'hh' para 'history').chsh
: Cambia el shell de inicio de sesión del usuario.chsh --list-shells
: Muestra una lista de los shells disponibles en el sistema.who
: Lista los usuarios conectados actualmente, su terminal y el tiempo de conexión.whoami
: Muestra el nombre de usuario efectivo.
Obtención de Ayuda para Comandos
man comando
: Manual de referencia completo.info comando
: Información detallada y estructurada.comando --help
: Resumen rápido de opciones.
Redireccionamiento de Entrada/Salida
<
: Redirecciona la entrada estándar desde un fichero.>
: Redirecciona la salida estándar a un fichero, sobrescribiendo su contenido.>>
: Redirecciona la salida estándar a un fichero, añadiendo al final.2>
: Redirecciona la salida de error estándar a un fichero, sobrescribiendo su contenido.2>>
: Redirecciona la salida de error estándar a un fichero, añadiendo al final.
Conceptos Fundamentales del Sistema de Ficheros
- Fichero: Conjunto de información almacenada en un dispositivo, disco o cinta.
- Ficheros de Dispositivo: Representaciones de hardware en el directorio
/dev
. - Tipos de Dispositivo:
c
(carácter): Envía/recibe datos carácter a carácter (ej. terminales).b
(bloque): Envía/recibe datos en bloques (ej. discos duros).
- Números de Dispositivo:
- Major: Número principal que identifica el tipo de dispositivo (controlador).
- Minor: Número secundario que identifica un dispositivo específico manejado por un controlador.
- Ejemplos de Nombres de Dispositivo:
- Disquetera:
fd
(ej./dev/fd0
) - Disco Duro:
hd
(IDE),sd
(SATA/SCSI/USB) - USB:
sdb
(osdc
,sdd
, etc.) - Terminales:
tty
(ej./dev/tty1
)
- Disquetera:
Componentes de un Sistema de Ficheros
- Bloque de Arranque (Boot Block): El primer bloque de un sistema de ficheros, utilizado para iniciar el sistema operativo.
- Superbloque: Contiene metadatos cruciales sobre el sistema de ficheros (tamaño, estado, etc.).
- Tabla de Inodos: Por cada fichero o directorio, existe un inodo asociado que contiene metadatos y un número que identifica su ubicación en el área de datos.
- Información Contenida en un Inodo:
- Identificador del dispositivo que alberga el sistema de ficheros.
- Número de inodo que identifica el archivo dentro del sistema de ficheros.
- Longitud del archivo en bytes.
- ID de usuario del propietario.
- ID de grupo del propietario.
- Modo de acceso (permisos de lectura, escritura y ejecución para propietario, grupo y otros).
- Marcas de tiempo: última modificación (mtime), último acceso (atime) y última alteración del inodo (ctime).
- Número de enlaces: Cantidad de nombres (enlaces físicos) asociados a este inodo. Cuando este contador llega a cero, el sistema operativo puede eliminar el inodo y el contenido del archivo.
- Área de Datos: Ocupa el resto del disco y es donde se almacena el contenido real de los ficheros y directorios.