En esta publicación les comparto un resumen de comandos UNIX (Linux, BSD) categorizado en 20 secciones: «20 Categorías de Comandos Más Importantes en UNIX». Las categorías encapsulan una serie de comandos esenciales que abarcan desde la gestión de archivos y directorios hasta el control de procesos, la configuración de redes y más. Esta guía te proporcionará una visión panorámica de los comandos fundamentales que debes conocer si vas a empezar a trabajar con UNIX o cualquiera de sus derivados más importantes, como: Linux (Debian, Fedora, Slackware, Ubuntu, etc) o BSD (FreeBSD, OpenBSD, Nano BSD, etc).
A medida que avances en esta guía, te animo a que no solo leas sobre los comandos, sino que también los practiques en un entorno UNIX real. La práctica es fundamental para comprender y dominar estos comandos.
Ten en cuenta que no todas las categorías de comandos pueden ser igualmente relevantes para tu situación. Adapta la información a tus necesidades y tu nivel de experiencia. Puedes utilizar esta guía como una referencia rápida y saltar a las categorías que sean relevantes para tus necesidades actuales. Por ejemplo, si necesitas información sobre comandos de red, puedes dirigirte directamente a esa sección.
Tabla de Contenidos
- Comandos de Gestión de archivos y directorios:
- Comandos de Manipulación de texto:
- Comandos de Gestión de procesos:
- Comandos de Gestión de usuarios y permisos:
- Comandos de Gestión de red:
- Comandos de Compresión de archivos:
- Comandos de Gestión del sistema:
- Comandos de Administración del sistema:
- Comandos de Gestión de paquetes:
- Comandos de Búsqueda y análisis de archivos:
- Comandos de Red y conectividad:
- Comandos de Programación y desarrollo:
- Comandos de Administración de procesos y recursos:
- Comandos de Gestión de dispositivos y hardware:
- Comandos de Seguridad y gestión de usuarios:
- Comandos de Gestión de impresión:
- Comandos de Gestión de dispositivos de bloque:
- Comandos de Gestión de archivos y directorios avanzados:
- Comandos de Manipulación de texto avanzada:
- Comandos de Red avanzada:
- Comandos de Gestión de virtualización y contenedores:
- Comandos de Monitoreo y diagnóstico del sistema:
- Comandos de Manipulación de archivos multimedia:
Comandos de Gestión de archivos y directorios:
ls
: Listar archivos y directorios.cd
: Cambiar el directorio actual.pwd
: Mostrar el directorio actual.mkdir
: Crear directorios.touch
: Crear o actualizar archivos.rm
: Eliminar archivos y directorios.cp
: Copiar archivos y directorios.mv
: Mover o renombrar archivos y directorios.ln
: Crear enlaces simbólicos.
Comandos de Manipulación de texto:
cat
: Mostrar el contenido de archivos.grep
: Buscar patrones en archivos de texto.sed
: Editor de flujo de texto.awk
: Procesamiento avanzado de texto.sort
: Ordenar líneas de texto.cut
: Extraer secciones de texto.
Comandos de Gestión de procesos:
ps
: Mostrar información sobre procesos en ejecución.top
: Mostrar procesos en tiempo real y uso de recursos.kill
: Enviar señales a procesos para controlarlos.bg
/fg
: Mover procesos a segundo plano o primer plano.- jobs: Mostrar procesos en ejecución.
nohup
: Ejecutar comandos sin ser afectados por la desconexión del terminal.
Comandos de Gestión de usuarios y permisos:
useradd
/userdel
: Agregar y eliminar usuarios.passwd
: Cambiar contraseñas de usuarios.chown
: Cambiar el propietario de archivos y directorios.chmod
: Cambiar permisos de archivos y directorios.
Comandos de Gestión de red:
ifconfig
: Configurar interfaces de red.ping
: Enviar paquetes a hosts para verificar la conectividad.netstat
: Mostrar estadísticas de red y conexiones.ssh
: Conectar a través de SSH a otros sistemas.scp
: Copiar archivos de forma segura a través de SSH.
Comandos de Compresión de archivos:
tar
: Empaquetar y desempaquetar archivos en formato tar.gzip
/gunzip
: Comprimir y descomprimir archivos en formato gzip.zip
/unzip
: Comprimir y descomprimir archivos en formato zip.
Comandos de Gestión del sistema:
date
: Mostrar o configurar la fecha y la hora del sistema.reboot
/shutdown
: Reiniciar o apagar el sistema.df
/du
: Mostrar información sobre el espacio en disco.free
: Mostrar información sobre la memoria RAM.
Comandos de Administración del sistema:
sudo
: Ejecutar comandos con privilegios de superusuario.su
: Cambiar de usuario a otro.visudo
: Editar el archivo de configuración sudoers.
Comandos de Gestión de paquetes:
apt-get
/apt
(en sistemas Debian/Ubuntu): Administrar paquetes de software.yum
(en sistemas Red Hat/CentOS): Administrar paquetes de software.
Comandos de Búsqueda y análisis de archivos:
find
: Buscar archivos y directorios por nombre, tipo, tamaño, etc.locate
: Buscar archivos y directorios en una base de datos indexada.ack
/ag
: Búsqueda de patrones avanzada en archivos.
Comandos de Red y conectividad:
ifconfig
/ip
: Configuración de interfaces de red.ping
: Verificar la conectividad con otros hosts.netstat
/ss
: Mostrar estadísticas de red y conexiones.traceroute
/mtr
: Seguir la ruta de los paquetes en la red.
Comandos de Programación y desarrollo:
gcc
/g++
: Compilar programas en C/C++.make
: Automatizar la compilación de proyectos.git
: Control de versiones de proyectos de software.ssh-keygen
: Generar pares de claves SSH.curl
/wget
: Descargar contenido desde la web.
Comandos de Administración de procesos y recursos:
top
/htop
: Monitorizar recursos del sistema y procesos.nice
/renice
: Ajustar la prioridad de ejecución de procesos.ulimit
: Controlar los límites de recursos del usuario.at
/cron
: Programar tareas para ejecutar en momentos específicos.
Comandos de Gestión de dispositivos y hardware:
lsusb
/lspci
: Mostrar información sobre dispositivos USB/PCI.dmesg
: Ver registros del kernel relacionados con hardware.hdparm
: Configurar y verificar discos duros.lshw
: Mostrar información detallada del hardware.
Comandos de Seguridad y gestión de usuarios:
sudo
: Ejecutar comandos con privilegios de superusuario.su
: Cambiar de usuario a otro.chpasswd
: Cambiar contraseñas.fail2ban
: Proteger contra ataques de fuerza bruta.
Comandos de Gestión de impresión:
lp
/lpr
: Enviar archivos a la impresora.cancel
: Cancelar trabajos de impresión en cola.lpstat
: Mostrar el estado de la impresora y trabajos en cola.
Comandos de Gestión de dispositivos de bloque:
mount
/umount
: Montar y desmontar sistemas de archivos.fdisk
/parted
: Administrar particiones de disco.dd
: Copiar y convertir archivos y dispositivos.
Comandos de Gestión de archivos y directorios avanzados:
find
: Buscar archivos y directorios por una variedad de criterios.rsync
: Sincronizar archivos y directorios entre sistemas.tar
: Empaquetar y desempaquetar archivos con opciones avanzadas.du
: Mostrar uso de disco de manera detallada.
Comandos de Manipulación de texto avanzada:
awk
/sed
: Procesamiento avanzado de texto y patrones.cut
/paste
: Manipular y combinar columnas de datos.grep
/egrep
/fgrep
: Búsqueda y filtrado avanzados de patrones.
Comandos de Red avanzada:
tcpdump
: Capturar y analizar el tráfico de red.netcat
(nc
): Crear conexiones de red personalizadas.iptables
/firewalld
: Configurar reglas de firewall.route
: Manipular la tabla de enrutamiento.
Comandos de Gestión de virtualización y contenedores:
docker
: Administrar contenedores Docker.virt-manager
: Interfaz gráfica para administrar máquinas virtuales.vagrant
: Automatizar la creación y gestión de máquinas virtuales.
Comandos de Monitoreo y diagnóstico del sistema:
iostat
: Mostrar estadísticas de uso de E/S.vmstat
: Mostrar estadísticas de memoria virtual.strace
/ltrace
: Rastrear llamadas al sistema y funciones de biblioteca.
Comandos de Manipulación de archivos multimedia:
ffmpeg
: Convertir y editar archivos multimedia.mplayer
/vlc
: Reproducir archivos multimedia.imagemagick
: Manipular imágenes y gráficos.