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 de locate esté actualizada con updatedb.
  • 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 (o sdc, sdd, etc.)
    • Terminales: tty (ej. /dev/tty1)

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.

Entradas relacionadas: