En el interesante mundo de la informática, Linux ha emergido como uno de los sistemas operativos más robustos y confiables. Ya sea un administrador de sistemas experimentado, un desarrollador o un entusiasta del open-source recién iniciado, conocer los comandos básicos de Linux puede marcar la diferencia entre una tarea que toma horas y una que toma solo minutos.
Índice
Esta ‘Hoja de Referencia Rápida de Comandos Linux‘ está diseñada para proporcionar a los usuarios una lista concisa y al alcance de los comandos más esenciales, facilitando su trabajo diario y optimizando su eficiencia en el manejo del sistema. Acompáñanos en este recorrido por las herramientas esenciales que todo usuario de Linux debería tener a mano.
Información del Sistema
uname -a
: Muestra información del sistema Linux.uname -r
: Muestra la información de lanzamiento del kernel.cat /etc/redhat-release
: Muestra la versión de RedHat instalada.uptime
: Muestra cuánto tiempo ha estado funcionando el sistema + carga.hostname
: Muestra el nombre del host del sistema.hostname -I
: Muestra las direcciones IP del host.last reboot
: Historial de reinicios del sistema.date
: Muestra la fecha y hora actuales.cal
: Muestra el calendario de este mes.w
: Muestra quién está en línea.whoami
: Indica como qué usuario estás conectado.
Monitorización del Rendimiento y Estadísticas
top
: Muestra y gestiona los procesos principales.htop
: Visor de procesos interactivo (alternativa a top).mpstat 1
: Muestra estadísticas relacionadas con el procesador.vmstat 1
: Muestra estadísticas de memoria virtual.iostat 1
: Muestra estadísticas de I/O.tail 100 /var/log/messages
: Muestra los últimos 100 mensajes de syslog (Usa/var/log/syslog
para sistemas basados en Debian).tcpdump -i eth0
: Captura y muestra todos los paquetes en la interfaz eth0.tcpdump -i eth0 'port 80'
: Monitoriza todo el tráfico en el puerto 80 (HTTP).lsof
: Lista todos los archivos abiertos en el sistema.lsof -u user
: Lista archivos abiertos por el usuario.watch df -h
: Muestra actualizaciones periódicas.
Información y Gestión de Usuarios
id
: Muestra los IDs de usuario y grupo de tu usuario actual.last
: Muestra los últimos usuarios que se han conectado al sistema.who
: Muestra quién está conectado al sistema.w
: Muestra quién está conectado y qué está haciendo.groupadd test
: Crea un grupo llamado «test».useradd -c "Subhash" -m subhash
: Crea una cuenta llamada subhash, con un comentario de «Subhash» y crea el directorio principal del usuario.userdel subhash
: Elimina la cuenta subhash.usermod -aG it subhash
: Añade la cuenta subhash al grupo it.
Comandos de Archivos y Directorios
ls -al
: Lista todos los archivos en formato detallado.pwd
: Muestra el directorio de trabajo actual.mkdir directory
: Crea un directorio.rm file
: Elimina un archivo.rm -r directory
: Elimina el directorio y su contenido de manera recursiva.rm -f file
: Elimina un archivo sin pedir confirmación.rm -rf directory
: Elimina un directorio y su contenido de manera recursiva y forzada.cp file1 file2
: Copia el file1 al file2.cp -r source_directory destination
: Copia de manera recursiva el directorio origen al destino.mv file1 file2
: Renombra o mueve el file1 al file2.ln -s /path/to/file linkname
: Crea un enlace simbólico a linkname.touch file
: Crea un archivo vacío o actualiza las fechas de acceso y modificación del archivo.cat file
: Visualiza el contenido del archivo.less file
: Navega a través de un archivo de texto.head file
: Muestra las primeras 10 líneas del archivo.tail file
: Muestra las últimas 10 líneas del archivo.tail -f file
: Muestra las últimas 10 líneas del archivo y «sigue» el archivo a medida que crece.
Gestión de Procesos
ps
: Muestra tus procesos actualmente en ejecución.ps -ef
: Muestra todos los procesos que se están ejecutando en el sistema.ps -ef | grep processname
: Muestra información del proceso para processname.top
: Muestra y gestiona los procesos principales.htop
: Visor de procesos interactivo.kill pid
: Mata el proceso con el ID pid.killall processname
: Mata todos los procesos con el nombre processname.program &
: Inicia el programa en segundo plano.bg
: Muestra trabajos detenidos o en segundo plano.fg
: Trae al primer plano el trabajo en segundo plano más reciente.fg n
: Trae al primer plano el trabajo n.
Red
ifconfig -a
: Muestra todas las interfaces de red y la dirección IP.ifconfig eth0
: Muestra la dirección y detalles de eth0.ethtool eth0
: Consulta o controla la configuración del controlador y hardware de red.ping host
: Envía una solicitud ICMP echo al host.whois domain
: Muestra la información de whois para el dominio.dig domain
: Muestra la información DNS para el dominio.dig -x IP_ADDRESS
: Búsqueda inversa de IP_ADDRESS.host domain
: Muestra la dirección IP de DNS para el dominio.hostname -i
: Muestra la dirección de red del nombre de host.hostname -I
: Muestra todas las direcciones IP locales.wget http://domain.com/file
: Descarga el archivo del dominio.netstat -nutlp
: Muestra los puertos TCP y UDP en escucha y los programas correspondientes.
Archivos
tar cf archive.tar directory
: Crea un tar llamado archive.tar que contiene el directorio.tar xf archive.tar
: Extrae el contenido de archive.tar.tar czf archive.tar.gz directory
: Crea un archivo tar comprimido gzip llamado archive.tar.gz.tar xzf archive.tar.gz
: Extrae un archivo tar comprimido gzip.tar cjf archive.tar.bz2 directory
: Crea un archivo tar con compresión bzip2.tar xjf archive.tar.bz2
: Extrae un archivo tar comprimido bzip2.
Instalación de Paquetes
yum search keyword
: Busca un paquete por palabra clave.yum install package
: Instala el paquete.yum info package
: Muestra descripción e información resumida sobre el paquete.rpm -i package.rpm
: Instala el paquete desde el archivo local llamado package.rpm.yum remove package
: Elimina/desinstala el paquete.
Instalación de Paquetes en Ubuntu
sudo apt update
: Actualizar la lista de paquetes.sudo apt upgrade
: Actualizar el sistema.apt search palabra_clave
: Buscar un paquete por palabra clave.sudo apt install nombre_del_paquete
: Instalar un paquete.apt show nombre_del_paquete
: Ver información sobre un paquete.sudo apt remove nombre_del_paquete
: Eliminar un paquete.sudo apt purge nombre_del_paquete
: Eliminar un paquete y sus configuraciones.sudo apt autoremove
: Limpiar paquetes no necesarios (limpieza automática).sudo apt clean
: Limpiar la caché de paquetes descargados.sudo add-apt-repository ppa:nombre/del/repositorio
: Agregar un repositorio PPA.sudo add-apt-repository --remove ppa:nombre/del/repositorio
: Eliminar un repositorio PPA.sudo dpkg -i archivo.deb
: Instalar un paquete .deb local.sudo apt -f install
: Solucionar dependencias rotas tras una instalación con dpkg.
Búsqueda
grep pattern file
: Busca el patrón en el archivo.grep -r pattern directory
: Busca de forma recursiva el patrón en el directorio.locate name
: Encuentra archivos y directorios por nombre.find /home/john -name 'prefix*'
: Encuentra archivos en /home/john que comiencen con «prefix».find /home -size +100M
: Encuentra archivos mayores de 100MB en /home.
SSH
ssh host
: Conectarse al host con tu nombre de usuario local.ssh user@host
: Conectarse al host como usuario.ssh -p port user@host
: Conectarse al host usando un puerto.
Transferencia de Archivos
scp file.txt server:/tmp
: Copia de forma segura el file.txt a la carpeta /tmp en el servidor.scp server:/var/www/*.html /tmp
: Copia archivos *.html del servidor a la carpeta local /tmp.scp -r server:/var/www /tmp
: Copia todos los archivos y directorios de manera recursiva desde el servidor a la carpeta /tmp del sistema actual.rsync -a /home /backups/
: Sincroniza /home con /backups/home.rsync -avz /home server:/backups/
: Sincroniza archivos/directorios entre el sistema local y remoto con compresión habilitada.
Información del Hardware
dmesg
: Muestra mensajes en el buffer del kernel.cat /proc/cpuinfo
: Muestra información de la CPU.cat /proc/meminfo
: Muestra información de la memoria.free -h
: Muestra la memoria libre y usada (-h para formato legible, -m para MB, -g para GB).lspci -tv
: Muestra dispositivos PCI.lsusb -tv
: Muestra dispositivos USB.dmidecode
: Muestra información DMI/SMBIOS (información del hardware) del BIOS.hdparm -i /dev/sda
: Muestra información sobre el disco sda.hdparm -tT /dev/sda
: Realiza una prueba de velocidad de lectura en el disco sda.badblocks -s /dev/sda
: Prueba bloques ilegibles en el disco sda.
Uso del Disco
df -h
: Muestra el espacio libre y utilizado en sistemas de archivos montados.df -i
: Muestra los inodos libres y usados en sistemas de archivos montados.fdisk -l
: Muestra las particiones de discos con sus tamaños y tipos.du -ah
: Muestra el uso del disco para todos los archivos y directorios en formato legible.du -sh
: Muestra el uso total del disco del directorio actual.
Navegación de Directorios
cd ..
: Subir un nivel en el árbol de directorios (cambiar al directorio padre).cd
: Ir al directorio $HOME.cd /opt
: Cambiar al directorio /opt.
Esta hoja de referencia rápida de comandos de Linux es una herramienta invaluable para aquellos que buscan agilizar y mejorar sus tareas cotidianas en el terminal. Sin embargo, es importante recordar que Linux cuenta con una amplia variedad de distribuciones, cada una con sus particularidades y características únicas. Algunas de las distribuciones más populares incluyen Ubuntu, CentOS, RockyLinux, AlmaLinux, RHEL y Suse Linux, por mencionar solo algunas.
Aunque muchos comandos son estándar y funcionan de manera similar en todas las distribuciones, también existen diferencias sutiles y herramientas específicas según la versión o el propósito del sistema operativo en cuestión. Es recomendable familiarizarse con la documentación específica de la distribución que estés utilizando para garantizar un uso óptimo y eficiente de sus recursos. ¡El mundo de Linux es vasto y siempre hay algo nuevo que aprender!