Comandos Básicos Linux
Comandos fundamentales que todo usuario de Linux debe conocer para la navegación básica del sistema, útiles para hacking ético y administración de sistemas.
Identificación de Usuario
Section titled “Identificación de Usuario”whoami - ¿Quién soy?
Section titled “whoami - ¿Quién soy?”Muestra el nombre del usuario actual. Comando básico para verificación rápida de identidad en el sistema.
# Mostrar el nombre del usuario actualwhoamiid - Información de identidad
Section titled “id - Información de identidad”Muestra UID, GID y grupos del usuario. Fundamental para verificación de permisos y contexto de seguridad.
# Mostrar UID, GID y grupos del usuario actualid
# Información de usuario específicoid username
# Solo mostrar UIDid -u
# Solo mostrar GIDid -g
# Mostrar todos los gruposid -G
# Mostrar nombres de gruposid -GnUso en pentesting: Verificar el nivel de privilegios actual y membresía en grupos importantes como sudo, wheel, admin.
Navegación Básica
Section titled “Navegación Básica”pwd - Directorio actual
Section titled “pwd - Directorio actual”Imprime la ruta completa del directorio de trabajo actual. Esencial para orientación en el sistema de archivos.
# Mostrar el directorio de trabajo actualpwdclear - Limpiar pantalla
Section titled “clear - Limpiar pantalla”Limpia la pantalla del terminal. Comando simple para organizar el espacio de trabajo visual.
ls - Listar contenido
Section titled “ls - Listar contenido”Muestra el contenido de directorios con múltiples opciones de formato. Comando fundamental para exploración del sistema.
# Listado básicols
# Listado detalladols -l
# Incluir archivos ocultosls -a
# Combinado (detallado + ocultos)ls -la
# Tamaños legibles para humanosls -lh
# Ordenar por fecha de modificaciónls -ltcd - Cambiar directorio
Section titled “cd - Cambiar directorio”Navega entre directorios del sistema de archivos. Comando básico para moverse por la estructura de carpetas.
# Ir al directorio homecdcd ~
# Ir al directorio anteriorcd -
# Ir al directorio padrecd ..
# Ir dos niveles arribacd ../..
# Ir a directorio específicocd /path/to/directoryManipulación Básica de Archivos
Section titled “Manipulación Básica de Archivos”touch - Crear archivos vacíos
Section titled “touch - Crear archivos vacíos”Crea archivos vacíos o actualiza timestamps existentes. Útil para crear marcadores y modificar fechas.
# Crear archivo vacíotouch archivo.txt
# Crear múltiples archivostouch archivo1.txt archivo2.txt archivo3.txt
# Actualizar timestamp de archivo existentetouch archivo_existente.txtmkdir - Crear directorios
Section titled “mkdir - Crear directorios”Crea nuevos directorios con opciones para estructura jerárquica. Útil para organización de archivos y proyectos.
# Crear directoriomkdir mi_directorio
# Crear directorios padre si no existenmkdir -p ruta/completa/al/directorio
# Crear con permisos específicosmkdir -m 755 directorio_con_permisoscp - Copiar archivos
Section titled “cp - Copiar archivos”Copia archivos y directorios preservando o modificando atributos. Esencial para backup y duplicación de datos.
# Copiar archivocp origen.txt destino.txt
# Copiar a directoriocp archivo.txt /ruta/destino/
# Copiar directorio recursivamentecp -r directorio_origen/ directorio_destino/
# Copiar con confirmacióncp -i archivo.txt destino.txtmv - Mover/renombrar
Section titled “mv - Mover/renombrar”Mueve archivos entre ubicaciones o los renombra. Útil para reorganización y gestión de archivos.
# Renombrar archivomv nombre_viejo.txt nombre_nuevo.txt
# Mover archivo a directoriomv archivo.txt /nueva/ubicacion/
# Mover múltiples archivosmv archivo1.txt archivo2.txt /destino/rm - Eliminar archivos
Section titled “rm - Eliminar archivos”Elimina archivos y directorios de forma permanente. Comando poderoso que requiere precaución en su uso.
# Eliminar archivorm archivo.txt
# Eliminar con confirmaciónrm -i archivo.txt
### `rmdir` - Eliminar directorios vacíosElimina directorios que no contienen archivos. Comando seguro para limpieza básica de directorios.rmdir directorio_vacio/
# Eliminar directorio y contenidorm -r directorio/
# Forzar eliminación sin confirmaciónrm -f archivo.txt
# Eliminar recursivamente sin confirmación (¡PELIGROSO!)rm -rf directorio/Visualización de Contenido
Section titled “Visualización de Contenido”cat - Mostrar contenido
Section titled “cat - Mostrar contenido”Muestra el contenido completo de archivos de texto. Comando básico para visualización rápida de archivos.
# Mostrar contenido de archivocat archivo.txt
# Mostrar múltiples archivoscat archivo1.txt archivo2.txt
# Numerar líneascat -n archivo.txtless - Visualizador paginado
Section titled “less - Visualizador paginado”Visualizador de texto con navegación avanzada y búsqueda. Ideal para archivos grandes y análisis detallado.
# Abrir archivo para navegaciónless archivo.txt
# Comandos dentro de less:# Espacio: siguiente página# b: página anterior# /texto: buscar# q: salirhead - Primeras líneas
Section titled “head - Primeras líneas”Muestra las primeras líneas de archivos. Útil para vista previa rápida y análisis de headers.
# Mostrar primeras 10 líneashead archivo.txt
# Mostrar primeras N líneashead -n 20 archivo.txttail - Últimas líneas
Section titled “tail - Últimas líneas”Muestra las últimas líneas de archivos con opción de seguimiento en tiempo real. Esencial para monitoreo de logs.
# Mostrar últimas 10 líneastail archivo.txt
# Mostrar últimas N líneastail -n 20 archivo.txt
# Seguir archivo en tiempo real (útil para logs)tail -f /var/log/syslogBúsqueda Básica
Section titled “Búsqueda Básica”find - Buscar archivos
Section titled “find - Buscar archivos”Busca archivos y directorios por diversos criterios. Herramienta poderosa para localización y gestión de archivos.
# Buscar por nombrefind . -name "archivo.txt"
# Buscar archivos que empiecen con "test"find . -name "test*"
# Buscar directoriosfind . -type d -name "directorio"
# Buscar archivos modificados en últimas 24 horasfind . -mtime -1
# Buscar archivos por tamañofind . -size +100Mgrep - Buscar texto
Section titled “grep - Buscar texto”Busca patrones de texto en archivos usando expresiones regulares. Herramienta fundamental para filtrado y análisis.
# Buscar texto en archivogrep "texto" archivo.txt
# Búsqueda insensible a mayúsculasgrep -i "texto" archivo.txt
# Buscar en múltiples archivosgrep "texto" *.txt
# Mostrar número de líneagrep -n "texto" archivo.txt
# Buscar recursivamente en directoriosgrep -r "texto" /ruta/directorio/Información del Sistema
Section titled “Información del Sistema”ps - Procesos en ejecución
Section titled “ps - Procesos en ejecución”# Mostrar procesos del usuario actualps
# Mostrar todos los procesosps aux
# Buscar proceso específicops aux | grep nombre_procesotop - Monitor de procesos
Section titled “top - Monitor de procesos”# Monitor en tiempo real de procesostop
# Salir con 'q'df - Espacio en disco
Section titled “df - Espacio en disco”# Mostrar uso de discodf
# Formato legible para humanosdf -hfree - Memoria disponible
Section titled “free - Memoria disponible”# Mostrar uso de memoriafree
# Formato legiblefree -hRed Básica
Section titled “Red Básica”ping - Probar conectividad
Section titled “ping - Probar conectividad”# Ping básicoping google.com
# Ping con número limitado de paquetesping -c 4 google.comwget - Descargar archivos
Section titled “wget - Descargar archivos”# Descargar archivowget http://ejemplo.com/archivo.zip
# Descargar con nombre específicowget -O mi_archivo.zip http://ejemplo.com/archivo.zipComandos de Ayuda
Section titled “Comandos de Ayuda”man - Manual de comandos
Section titled “man - Manual de comandos”Muestra páginas de manual de comandos y programas. Recurso fundamental para aprender uso de herramientas.
# Ver manual de un comandoman lsman grep
# Buscar en manualesman -k "keyword"history - Historial de comandos
Section titled “history - Historial de comandos”Muestra el historial de comandos ejecutados. Útil para repetir comandos y análisis de actividad.
--help - Ayuda rápida
Section titled “--help - Ayuda rápida”# Ayuda rápida de comandols --helpgrep --helpwhich - Localizar comandos
Section titled “which - Localizar comandos”Localiza la ruta completa de comandos ejecutables. Útil para verificar instalaciones y ubicaciones de programas.
# Encontrar ubicación de comandowhich pythonwhich lsEjemplos Prácticos para Pentesting
Section titled “Ejemplos Prácticos para Pentesting”Reconocimiento básico del sistema
Section titled “Reconocimiento básico del sistema”# Información del usuario actualwhoami && id
# Directorio actual y contenidopwd && ls -la
# Procesos en ejecuciónps aux | head -20
# Espacio en disco y memoriadf -h && free -hBúsqueda de archivos interesantes
Section titled “Búsqueda de archivos interesantes”# Buscar archivos de configuraciónfind /etc -name "*.conf" 2>/dev/null | head -10
# Buscar archivos con "password" en el nombrefind / -name "*password*" 2>/dev/null
# Buscar archivos modificados recientementefind /home -mtime -1 2>/dev/nullAnálisis básico de logs
Section titled “Análisis básico de logs”# Ver últimas entradas del log del sistematail -20 /var/log/syslog
# Buscar intentos de login fallidosgrep "Failed password" /var/log/auth.log | tail -10Consejo: Estos comandos básicos son la fundación para comandos más avanzados. Practica combinándolos con pipes (
|) y redirecciones (>,>>) para crear flujos de trabajo más eficientes.