Comandos
Comandos de Navegación y Gestión del Sistema de Archivos
cd [directorio]
Cambia el directorio actual.
ls [opciones] [directorio]
Lista el contenido de un directorio. Opciones:
- l → Listado detallado.
- a → Muestra archivos ocultos.
cp [opciones] [origen] [destino]
Copia archivos o directorios. Opciones:
- r → Copia recursiva (para directorios).
- v → Modo detallado.
mv [opciones] [origen] [destino]
Mueve o renombra archivos o directorios. Opciones:
- v → Modo detallado.
rm [opciones] [archivo/directorio]
Elimina archivos o directorios. Opciones:
- r → Eliminación recursiva (para directorios).
- f → Forzar la eliminación sin confirmación.
mkdir [opciones] [nombre_directorio]
Crea directorios. Opciones:
- p → Crea directorios de manera recursiva.
rmdir [nombre_directorio]
Elimina directorios vacíos.
pwd
Muestra la ruta del directorio actual.
Comandos de Visualización y Manipulación de Archivos
cat [archivo]
Muestra el contenido de un archivo. Opciones:
- n → Numerar las líneas del archivo.
less [archivo]
Muestra el contenido de un archivo página por página.
more [archivo]
Similar a less, muestra el contenido página por página.
head [opciones] [archivo]
Muestra las primeras líneas de un archivo. Opciones:
- n N → Muestra las primeras N líneas.
tail [opciones] [archivo]
Muestra las últimas líneas de un archivo. Opciones:
- n N → Muestra las últimas N líneas.
- f → Sigue mostrando nuevas líneas (útil para logs).
echo [opciones] [texto]
Imprime texto en la terminal. Opciones:
- e → Permite interpretar caracteres especiales.
touch [archivo]
Crea archivos vacíos o actualiza la fecha de modificación.
nano [archivo]
Editor de texto simple.
vim [archivo]
Editor de texto avanzado.
wc [opciones] [archivo]
Cuenta diferentes elementos de un documento Opciones:
- l -> Cuenta las lineas
cut [opciones]
Recorta el input de la salida estandar que se le pase, segun determinados parametros Opciones:
- d [parametro] -> Establece el delimitador para los campos
- f N -> Especifica el numero del campo a seleccionar
sort [opciones]
Ordena la salida que se le pase Opciones:
- u -> Elimina duplicados
- r -> Reversa el orden de la salida
uniq [opciones]
Reporta u omite lineas duplicadas Opciones:
- c -> Antecede las lineas con el numero de ocurrencias
awk [opciones] [archivo]
Procesa y analiza texto basado en patrones y acciones definidas. Opciones:
- F [delimitador] -> Establece el delimitador de campos
- ‘{print $N}’ -> Imprime el campo N del input
- ‘/patrón/ {acción}’ -> Ejecuta acción si el patrón coincide
Comandos de Búsqueda
find [ruta] [opciones]
Busca archivos en un directorio y subdirectorios. Opciones:
- name “nombre” → Busca por nombre.
- type f/d → Filtra por tipo (archivo o directorio).
grep [opciones] "patrón" [archivo]
Busca cadenas de texto en archivos. Opciones:
- i → Ignora mayúsculas/minúsculas.
- r → Búsqueda recursiva.
locate [nombre]
Busca archivos en la base de datos indexada del sistema. (Recomendable actualizar la base de datos antes -> “updatedb”)
which [comando]
Muestra la ubicación de un ejecutable.
Comandos de Permisos y Propiedad
-chmod [opciones] modo archivo
Cambia los permisos de archivos o directorios. Opciones:
- +x → Añade permiso de ejecución.
- u/g/o → Cambia permisos de usuario/grupo/otros.
-chown [opciones] propietario archivo
Cambia la propiedad de archivos o directorios. Opciones:
- R → Cambia de forma recursiva.
-chgrp [opciones] grupo archivo
Cambia el grupo propietario de archivos o directorios.
-umask [modo]
Establece la máscara de permisos predeterminada.
Comandos de Compresión y Descompresión
-tar [opciones] archivo.tar [archivos]
Crea y extrae archivos tar (archivos empaquetados). Opciones:
- cvf → Crea un tar.
- xvf → Extrae un tar.
-gzip [archivo]
Comprime archivos utilizando el algoritmo gzip. Opciones:
- d → Descomprime archivos gzip.
-gunzip archivo.gz
Descomprime archivos gzip.
-zip [opciones] archivo.zip [archivo]
Comprime archivos en formato zip. Opciones:
- r → Comprime recursivamente.
-unzip archivo.zip
Descomprime archivos zip.
Comandos de Gestión de Procesos
ps [opciones]
Muestra información sobre los procesos en ejecución. Opciones:
- aux → Muestra todos los procesos.
top
Muestra los procesos en ejecución en tiempo real.
kill [opciones] [PID]
Envía una señal a un proceso (generalmente para terminarlo). Opciones:
- 9 → Fuerza la terminación del proceso.
htop
Monitorización interactiva de procesos en tiempo real.
bg [job_id]
Envía un proceso en segundo plano.
fg [job_id]
Trae un proceso en segundo plano al primer plano.
jobs
Muestra los trabajos en segundo plano.
nice [opciones] comando
Inicia un proceso con una prioridad modificada. Opciones:
- n N → Establece la prioridad a N (valor de -20 a 19).
Comandos de Red y Conectividad
ping [opciones] [hostname]
Envía paquetes ICMP a una dirección para verificar la conectividad. Opciones:
- c [N] → Envía N paquetes y se detiene.
- s [N] -> Envia paquetes de N bytes
- f -> Envia los paquetes sin demora, de manera muy rapida.
fping [opciones] [objetivos]
Permite enviar paquetes ICMP a una varios objetivos a la vez. Opciones:
- g [subred] -> Escanea la subred especificada.
- q -> Muestra un resumen al final, ademas de los hosts activos.
- a -> Muestra los equipos activos.
- s -> Imprime las estadisticas al final.
- f -> Lee los objetivos de un archivo.
hping3 [opciones] [hostname]
Permite crear paquetes TCP/IP al gusto y analizarlos. Opciones:
- V -> Verbose
- S -> SYN TCP request
- 1 -> ICMP packets
- 2 -> UDP packets
- A -> ACK flag
- p [puerto] -> Especifica el puerto objetivo — baseport [puerto] -> Especifica el puerto de salida de nuestra maquina — flood -> Envia multitud de paquetes a una velocidad muy alta — traceroute -> Muestra los saltos hasta el destino
ifconfig [interfaz]
Muestra o configura interfaces de red (herramienta obsoleta, sustituida por ip).
ip [opciones]
Herramienta moderna para gestionar interfaces de red y rutas. Opciones:
- a → Muestra las direcciones IP.
- r → Muestra la tabla de rutas.
netstat [opciones]
Muestra estadísticas de red, conexiones y puertos abiertos. Opciones:
- tuln → Muestra puertos abiertos (TCP/UDP).
ss [opciones]
Similar a netstat, muestra información de conexiones de red. Opciones:
- tuln → Muestra puertos abiertos (TCP/UDP).
ssh [opciones] usuario@host
Se conecta a una máquina remota a través del protocolo SSH. Opciones:
- p puerto → Especifica el puerto de conexión.
scp [opciones] archivo usuario@host:[destino]
Copia archivos entre máquinas usando SSH. Opciones:
- r → Copia recursivamente.
wget [opciones] [URL]
Descarga archivos de la web a través de HTTP, HTTPS o FTP. Opciones:
- c → Reanuda descargas interrumpidas.
curl [opciones] [URL]
Transfiere datos desde o hacia un servidor usando diferentes protocolos (HTTP, FTP, etc.). Opciones:
- O → Guarda el archivo con el mismo nombre.
nc [opciones] [IP] [puerto]
Usado para leer y escribir datos a traves de conexiones de red. Se usa para conectarse a puertos abierto, redirigir salidas de una conexion a otra y obtener informacion de servicios remotos. Opciones:
- v -> Muestra mas informacion
- n -> No realiza resoluciones DNS ni de las direcciones ni de los puertos
- l -> Modo de escucha (servidor)
- p [puerto] -> Especifica el puerto
- e [programa] -> Ejecuta el programa especificado cuando se realiza una conexion
ncat [opciones] [IP] [puerto]
Es como netcat pero mas completo y con la posibilidad de añadir cifrado. Tiene muchas opciones iguales las de “nc” Opciones:
- — allow [IP] -> Permite la conexion se una IP especificado
- — ssl -> Activa el cifrado de la conexion
tcpdump [opciones]
Analizador de trafico en la terminal. Como wireshark pero sin GUI. Opciones:
- r [archivo] -> Analiza el trafico de un archivo de captura
- n -> No realiza resolucion de direcciones
- i [interfaz] -> Especifica la interfaz en la que escucha (puede ser “any”) icmp -> Busca paquetes ICMP
- c [N] -> Limita a N el numero maximo de paquetes que recibe
- w [archivo.pcap] -> Manda la salida a un archivo analizable
iftop [opciones]
Muestra el ancho de banda usado en una interfaz de red. Opciones:
- i Interfaz -> Especifica la interfaz en la que escucha
ptunnel [opciones]
Encapsula trafico TCP en paquetes ICMP. Opciones: (Ejecutar el comando sin argumentos crea el servidor)
- x [pass] -> Especifica una contraseña para la conexion (se puede poner al crear el servidor)
- p [IP] -> IP del servidor
- lp [puerto] -> Puerto local para recibir los paquetes
- da [IP] -> IP del objetivo
- dp [puerto] -> Puerto del objetivo
whois [dominio]
Muestra información sobre el propietario de un dominio.
gobuster [opciones]
Escanea dominios en busca de directorios, URLs, subdominios… Opciones:
- dir -> Escanea en busca de directorios
- dns -> Busca subdominios
- fuzz -> Realiza fuzzing sobre el dominio
- u [hostname] -> Especifica el hostname
- w [wordlist] -> Especifica una wordlist
curl ifconfig.me
Muestra la IP pública
dig
Realiza consultas a servidores DNS.
ipcalc [ip] [mascara]
Calcula la red de la IP introducida con la mascara dada.
Comandos de Gestión de Usuarios y Grupos
useradd [opciones] [usuario]
Crea un nuevo usuario en el sistema. Opciones:
- m → Crea el directorio home del usuario.
- s → Especifica el shell predeterminado.
usermod [opciones] [usuario]
Modifica los atributos de un usuario existente. Opciones:
- g [grupo] → Cambia el grupo primario del usuario.
- L → Bloquea la cuenta de usuario.
userdel [opciones] [usuario]
Elimina una cuenta de usuario. Opciones:
- r → Elimina el directorio home y correo del usuario.
passwd [usuario]
Cambia la contraseña de un usuario.
groupadd [opciones] [grupo]
Crea un nuevo grupo en el sistema.
groupdel [grupo]
Elimina un grupo del sistema.
groups [usuario]
Muestra los grupos a los que pertenece un usuario.
Comandos de Monitorización del Sistema
df [opciones]
Muestra el el espacio en disco. Opciones:
- h → Muestra el tamaño en formato legible (GB, MB).
du [opciones] [[archivo/directorio]]
Muestra el e espacio de un archivo o directorio. Opciones:
- h → Formato legible.
- s → Muestra el total.
free [opciones]
Muestra la cantidad de memoria libre y usada en el sistema. Opciones:
- h → Muestra la memoria en formato legible.
uptime
Muestra el tiempo que el sistema ha estado en funcionamiento.
vmstat [opciones]
Muestra estadísticas sobre procesos, memoria, I/O y CPU.
iostat [opciones]
Muestra estadísticas del sistema de entrada/salida y e CPU.
Comandos de Gestión de Paquetes (Dependiendo de la Distribución)
apt [opciones] [comando]
Gestor de paquetes para sistemas basados en Debian. Opciones:
- update → Actualiza la lista de paquetes.
- upgrade → Actualiza los paquetes instalados.
yum [opciones] [comando]
Gestor de paquetes para sistemas basados en Red Hat. Opciones:
- install [paquete] → Instala un paquete.
- update → Actualiza los paquetes instalados.
dnf [opciones] [comando]
Reemplazo moderno de yum en Fedora. Opciones:
- install [paquete] → Instala un paquete.
- update → Actualiza los paquetes instalados.
pacman [opciones] [comando]
Gestor de paquetes para Arch Linux y derivados. Opciones:
- S [paquete] → Instala un paquete.
- Sy → Sincroniza la base de datos de paquetes.
Comandos de Administración del Sistema
sudo [comando]
Ejecuta un comando con privilegios de superusuario. Opciones:
- i → Inicia una sesión de shell como root.
su [opciones] [usuario]
Cambia al usuario root o a otro usuario. Opciones: - → Cambia al entorno del usuario.
systemctl [opciones] comando
Administra servicios y daemons en sistemas basados en systemd. Opciones:
- start servicio → Inicia un servicio.
- stop servicio → Detiene un servicio.
- status servicio → Muestra el estado de un servicio.
service [opciones] comando
Administra servicios en sistemas basados en SysVinit. Opciones:
- start servicio → Inicia un servicio.
- stop servicio → Detiene un servicio.
reboot
Reinicia el sistema.
shutdown [opciones] [hora]
Apaga o reinicia el sistema. Opciones:
- r → Reinicia el sistema.
- h → Apaga el sistema.
timeout [opciones] [comando]
Establece un tiempo limite para la ejecucion de un comando. Opciones:
- N -> Estable “N” segundos de tiempo limite
Comandos de Manejo de Discos y Particiones
fdisk [dispositivo]
Administra tablas de particiones en discos.
mkfs -t tipo_sistema_archivos dispositivo
Crea un sistema de archivos en una partición.
mount [opciones] dispositivo punto_montaje
Monta un dispositivo de almacenamiento en un punto de montaje. Opciones:
- o → Especifica opciones de montaje.
umount [opciones] punto_montaje
Desmonta un dispositivo de almacenamiento.
fsck [opciones] dispositivo
Verifica y repara sistemas de archivos. Opciones:
- y → Responde automáticamente “sí” a todas las preguntas.
parted [dispositivo]
Administra particiones de disco. Opciones:
- mklabel → Crea una nueva tabla de particiones.
- mkpart → Crea una nueva partición.
Comandos de Seguridad y Encriptación
gpg [opciones] [archivo]
Herramienta para cifrar y firmar datos y comunicaciones. Opciones:
- —encrypt → Cifra un archivo.
- —decrypt → Descifra un archivo.
openssl [comando] [opciones]
Herramienta para gestionar certificados, claves y cifrado. Opciones:
- genrsa -out archivo.key → Genera una clave privada.
- req -new -key archivo.key -out archivo.csr → Crea una solicitud de certificado.
chmod [modo] [archivo]
Cambia los permisos de archivos o directorios. Opciones:
- +x → Añade permiso de ejecución.
- 755 → Permisos específicos para propietario, grupo y otros.
umask [modo]
Establece la máscara de permisos predeterminada para nuevos archivos.
firewall-cmd [opciones]
Herramienta para administrar firewalld. Opciones:
- —add-port=puerto/tcp → Abre un puerto específico.
- —list-all → Lista las configuraciones actuales del firewall.
fail2ban-client [comando]
Herramienta para administrar fail2ban, que bloquea IPs con actividad sospechosa. Opciones:
- status → Muestra el estado de los jails.
- unban IP → Desbloquea una IP.
nikto [opciones]
Escanea servidores web en busca de vulnerabilidades. Opciones:
- h [hostname] -> Especifica el host objetivo
Comandos de Programación y Desarrollo
gcc [opciones] archivo.c
Compilador de C y C++. Opciones:
- o nombre → Especifica el nombre del archivo de salida.
make [opciones]
Automatiza la construcción de programas, usando un archivo Makefile. Opciones:
- f archivo → Usa un archivo Makefile específico.
git [comando] [opciones]
Sistema de control de versiones distribuido. Opciones:
- clone URL → Clona un repositorio remoto.
- commit -m “mensaje” → Realiza un commit con un mensaje.
python [archivo.py]
Ejecuta scripts de Python o entra en el intérprete interactivo.
java [opciones] archivo
Ejecuta programas Java. Opciones:
- jar → Ejecuta un archivo JAR.
node [archivo.js]
Entorno de ejecución para JavaScript en el servidor.
Comandos de Backup y Restauración
rsync [opciones] [origen] [destino]
Sincroniza y realiza copias de seguridad de archivos entre directorios o sistemas. Opciones:
- avz → Sincronización detallada, recursiva y comprimida.
- —delete → Elimina archivos en el [destino] que no estén en el [origen].
tar [opciones] archivo.tar [archivos]
Crea o extrae archivos tar (empaquetados). Opciones:
- cvf → Crea un archivo tar.
- xvf → Extrae un archivo tar.
dd if=[origen] of=[destino] [opciones]
Realiza copias a nivel de bloques, ideal para crear imágenes de discos. Opciones:
- bs=tamaño → Especifica el tamaño del bloque (e.g., bs=4M).
cpio [opciones] < [archivo]
Crea o extrae archivos desde o hacia archivos cpio. Opciones:
- o → Crea un archivo.
- i → Extrae archivos.
bzip2 [opciones] archivo
Comprime archivos usando el algoritmo de compresión bzip2. Opciones:
- d → Descomprime archivos bzip2.
Comandos de Automatización y Planificación de Tareas
crontab [opciones]
Programa tareas automáticas usando el servicio cron. Opciones:
- e → Edita las tareas programadas.
- l → Lista las tareas programadas.
at [hora]
Programa un comando para ser ejecutado una vez en un momento específico. Opciones:
- l → Lista las tareas programadas con at.
- c → Muestra el contenido de un trabajo programado.
batch
Ejecuta tareas cuando la carga del sistema es baja.
anacron [opciones]
Ejecuta tareas programadas que no pudieron ejecutarse en el cron normal debido a que el sistema estaba apagado. Opciones:
- d → Modo de depuración.
- s → Ejecuta las tareas en secuencia.
systemctl [opciones] timer
Herramientas para programar tareas en sistemas basados en systemd, como reemplazo de cron. Opciones:
- start → Inicia un temporizador.
- list-timers → Muestra los temporizadores activos.
Comandos de Virtualización y Contenedores
docker [comando] [opciones]
Herramienta para crear, gestionar y ejecutar contenedores Docker. Opciones:
- run imagen → Crea y ejecuta un contenedor.
- ps → Lista los contenedores en ejecución.
docker-compose [comando]
Herramienta para definir y ejecutar aplicaciones multicontenedor. Opciones:
- up → Crea y lanza contenedores definidos en docker-compose.yml.
- down → Detiene y elimina contenedores y redes.
vagrant [comando]
Herramienta para crear y gestionar entornos de desarrollo virtualizados. Opciones:
- up → Crea y arranca la máquina virtual definida en Vagrantfile.
- halt → Apaga la máquina virtual.
virsh [comando]
Herramienta de línea de comandos para gestionar máquinas virtuales basadas en libvirt. Opciones:
- start VM → Inicia una máquina virtual.
- shutdown VM → Apaga una máquina virtual.
kvm [opciones]
Módulo de virtualización basado en el kernel de Linux. Opciones:
- m memoria → Especifica la cantidad de memoria asignada a la VM.
lxc [comando]
Herramienta para gestionar contenedores Linux. Opciones:
- launch imagen contenedor → Lanza un nuevo contenedor.
- list → Lista los contenedores activos.
Comandos de Diagnóstico y Solución de Problemas
dmesg [opciones]
Muestra mensajes del buffer del kernel, útil para diagnosticar problemas de hardware. Opciones:
- T → Muestra las marcas de tiempo de forma legible.
strace [opciones] comando
Traza las llamadas al sistema realizadas por un proceso. Opciones:
- p PID → Adjunta strace a un proceso en ejecución.
lsof [opciones]
Lista los archivos abiertos por procesos. Opciones:
- i → Muestra los archivos relacionados con sockets de red.
top [opciones]
Muestra en tiempo real los procesos que consumen más recursos del sistema. Opciones:
- u usuario → Muestra solo los procesos de un usuario específico.
htop
Versión mejorada y más interactiva de top.
journalctl [opciones]
Muestra logs del sistema en sistemas con systemd. Opciones:
- f → Sigue el log en tiempo real.
- u servicio → Muestra los logs de un servicio específico.