Hoja de referencia de la línea de comandos de Linux
Linux es un sistema operativo tipo Unix, gratuito y de código abierto, basado en POSIX y Unix. Es un sistema operativo multiusuario, multitarea, multihilo y compatible con múltiples CPUs. Puede ejecutar las principales herramientas, aplicaciones y protocolos de red de Unix, y es compatible con hardware de 32 y 64 bits. Al heredar la filosofía de diseño centrada en la red de Unix, Linux es un sistema operativo de red multiusuario estable.
Sistema
| uname | Mostrar información del sistema Linux |
| uname -r | Mostrar la versión del kernel |
| uptime | Mostrar cuánto tiempo lleva encendido el sistema (incluyendo el promedio de carga) |
| hostname | Mostrar el nombre de host del sistema |
| hostname -i | Mostrar la dirección IP del sistema |
| last reboot | Mostrar el historial de reinicios del sistema |
| date | Mostrar la fecha y hora actual del sistema |
| timedatectl | Consultar y cambiar el reloj del sistema |
| cal | Mostrar el mes y la fecha del calendario actual |
| w | Mostrar los usuarios conectados actualmente |
| whoami | Mostrar su identidad de inicio de sesión |
| finger username | Mostrar información sobre un usuario |
Hardware
| dmesg | Mostrar mensajes de arranque |
| cat /proc/cpuinfo | Mostrar información detallada de la CPU (modelo, núcleos, fabricante) |
| cat /proc/meminfo | Mostrar información detallada de la memoria del hardware (total, libre) |
| lshw | Mostrar información de configuración del hardware del sistema |
| lsblk | Mostrar información relacionada con los dispositivos de bloque |
| free -m | Mostrar la memoria libre y usada (en MB) |
| lspci -tv | Mostrar dispositivos PCI en un diagrama de árbol |
| lsusb -tv | Mostrar dispositivos USB en un diagrama de árbol |
| dmidecode | Mostrar información de hardware desde la BIOS |
| hdparm -i /dev/xda | Mostrar información sobre los datos del disco |
| hdparm -tT /dev/xda | Ejecutar prueba de velocidad de lectura en el dispositivo xda |
| badblocks -s /dev/xda | Buscar sectores ilegibles en el disco |
Usuarios
| id | Mostrar detalles del usuario activo (uid, gid, grupos) |
| last | Mostrar los últimos inicios de sesión en el sistema |
| who | Mostrar quién está conectado al sistema |
| groupadd “admin” | Añadir el grupo “admin” |
| adduser “Sam” | Añadir al usuario Sam |
| userdel “Sam” | Eliminar al usuario Sam |
| usermod | Cambiar/modificar la información del usuario |
Archivos
| ls -al | Listar archivos - incluyendo archivos regulares, ocultos y sus permisos |
| pwd | Mostrar la ruta del directorio actual |
| mkdir ’nombre_directorio' | Crear un nuevo directorio |
| rm nombre_archivo | Eliminar un archivo |
| rm -f nombre_archivo | Forzar la eliminación de un archivo |
| rm -r nombre_directorio | Eliminar un directorio de forma recursiva |
| rm -rf nombre_directorio | Forzar y eliminar un directorio de forma recursiva |
| cp archivo1 archivo2 | Copiar el contenido del archivo1 al archivo2 |
| cp -r dir1 dir2 | Copiar recursivamente dir1 a dir2. Crear dir2 si no existe |
| mv archivo1 archivo2 | Renombrar archivo1 a archivo2 |
| ln -s /ruta/al/nombre_archivo nombre_enlace | Crear un enlace simbólico a nombre_archivo |
| touch nombre_archivo | Crear un nuevo archivo vacío |
| cat > nombre_archivo | Crear un archivo a partir de la entrada del teclado |
| more nombre_archivo | Mostrar el contenido de un archivo por páginas |
| head nombre_archivo | Mostrar las primeras 10 líneas de un archivo |
| tail nombre_archivo | Mostrar las últimas 10 líneas de un archivo |
| gpg -c nombre_archivo | Cifrar un archivo |
| gpg nombre_archivo.gpg | Descifrar un archivo |
| wc | Mostrar el recuento de bytes, palabras y líneas de un archivo |
| xargs | Ejecutar comandos desde la entrada estándar |
Procesos
| ps | Mostrar los procesos activos actualmente |
| ps aux | grep ’telnet' | Buscar el ID de proceso de ’telnet' |
| pmap | Mostrar el mapa de memoria de un proceso |
| top | Mostrar todos los procesos en ejecución |
| kill pid | Finalizar el proceso con el PID dado |
| killall proc | Matar todos los procesos llamados proc |
| pkill nombre-proceso | Enviar señal al proceso por nombre |
| bg | Reanudar un comando en segundo plano suspendido |
| fg | Traer un comando en segundo plano al primer plano |
| fg n | Traer el trabajo n al primer plano |
| lsof | Listar archivos abiertos por procesos |
| renice 19 PID | Ejecutar un proceso con prioridad muy baja |
| pgrep firefox | Buscar el ID de proceso de Firefox |
| pstree | Visualizar los procesos en un modelo de árbol |
Permisos de archivos
| chmod octal filename | Cambiar los permisos de un archivo al formato octal |
| chmod 777 /data/test.c | Establecer permisos rwx para el propietario, el grupo y todos |
| chmod 755 /data/test.c | Establecer rwx para el propietario, r-x para el grupo y todos |
| chmod 766 /data/test.c | Establecer rwx para el propietario, rw- para el grupo y todos |
| chown owner user-file | Cambiar la propiedad de un archivo |
| chown owner-user:owner-group file_name | Cambiar el propietario y el grupo propietario de un archivo |
| chown owner-user:owner-group directory | Cambiar el propietario y el grupo propietario de un directorio |
Red
| ip addr show | Mostrar las direcciones IP y todas las interfaces de red |
| ip address add 192.168.0.1/24 dev eth0 | Asignar la dirección IP 192.168.0.1 a la interfaz eth0 |
| ifconfig | Mostrar las direcciones IP de todas las interfaces de red |
| ping host | Enviar solicitudes de eco ICMP para establecer la conexión |
| whois domain | Recuperar información sobre un nombre de dominio |
| dig domain | Recuperar información de DNS para un dominio |
| dig -x host | Realizar una búsqueda inversa de un dominio |
| host google.com | Realizar una búsqueda de IP para un nombre de dominio |
| hostname -i | Mostrar la dirección IP local |
| wget nombre_archivo | Descargar archivos de recursos en línea |
| netstat -pnltu | Mostrar todos los puertos de escucha activos |
Compresión / Archivado
| tar -cf home.tar home | Crear un archivo tar llamado home.tar para el directorio home |
| tar -xf files.tar | Extraer el archivo “files.tar” |
| tar -zcvf home.tar.gz source-folder | Crear un archivo tar comprimido a partir de una carpeta de origen |
| gzip archivo | Comprimir un archivo con la extensión .gz |
Instalación de paquetes
| rpm -i pkg_name.rpm | Instalar paquete rpm |
| rpm -e pkg_name | Eliminar paquete rpm |
| dnf install pkg_name | Instalar paquete usando la herramienta dnf |
Instalación desde el código fuente (Compilación)
| ./configure | Comprobar las dependencias del sistema y crear el Makefile |
| make | Compilar el programa |
| make install | Instalar archivos binarios en la ruta predeterminada/modificada |
Búsqueda
| grep ‘patrón’ archivos | Buscar un patrón en los archivos |
| grep -r patrón dir | Buscar recursivamente un patrón en un directorio dado |
| locate archivo | Buscar todas las instancias de un archivo |
| find /home/ -name “index” | Buscar nombres de archivos que comiencen por ‘index’ en /home |
| find /home -size +10000k | Buscar archivos de más de 10000k en la carpeta personal |
Inicio de sesión
| ssh usuario@host | Conectarse de forma segura al host como el usuario especificado |
| ssh -p puerto usuario@host | Conectarse de forma segura al host usando un puerto específico |
| ssh host | Conectarse de forma segura al host a través del puerto predeterminado 22 |
| telnet host | Conectarse al host a través del puerto predeterminado 23 |
Transferencia de archivos
| scp archivo1.txt servidor2/tmp | Copiar de forma segura archivo1.txt al directorio /tmp del servidor2 |
| rsync -a /home/apps /backup/ | Sincronizar el directorio /home/apps con el directorio /backup |
Uso del disco
| df -h | Mostrar el espacio libre en los sistemas de archivos montados |
| df -i | Mostrar los inodos libres en los sistemas de archivos |
| fdisk -l | Mostrar las particiones del disco, tamaños y tipos |
| du -sh | Mostrar el uso del disco del directorio actual en formato legible |
| findmnt | Mostrar los puntos de montaje de destino para todos los sistemas de archivos |
| mount ruta-dispositivo punto-montaje | Montar un dispositivo |
Navegación por directorios
| cd .. | Subir un nivel en la estructura de directorios |
| cd | Cambiar al directorio personal ($HOME) |
| cd /test | Cambiar al directorio /test |