Herramientas Esenciales
Comprender y usar herramientas esenciales de la shell para la administración del sistema
1. Acceder a un prompt de shell
El prompt indica tu identidad y ubicación mediante el formato usuario@máquina:ruta. Se cierra con $ para usuarios normales o # para root.
El acceso puede ser local (TTY)(Control + Alt + F2 - F6 en sistemas modernos), remoto (SSH) o vía terminal gráfica. Linux distingue entre mayúsculas y minúsculas (case-sensitive), por lo que la sintaxis debe escribirse exactamente.
2. Redirección de entrada y salida
Cada proceso utiliza descriptores estándar:
STDIN
Entrada
STDOUT
Salida
STDERR
Errores
<,<<,<<<→ Entrada estándar desde archivo, bloque de texto (heredoc) o cadena.>,>>→ Redirige la salida estándar a un archivo (sobrescribe o añade).2>→ Redirige únicamente la salida de error (STDERR).2>&1→ Redirige STDERR hacia STDOUT.&>→ Redirige salida estándar y errores al mismo destino.|→ Tubería (envía la salida de un comando como entrada de otro).
3. Grep y expresiones regulares
Grep sirve para analizar y buscar patrones dentro de archivos o salidas de comandos. Las flags más importantes son :
-E: Regex extendidas. Ejemplo :grep -E "error|fallo" log.txt.-v: Muestra las líneas que NO coinciden con el patrón :ps -ef | grep -v grep-i: Ignorar mayúsculas. Ejemplo :grep -i "linux" manual.txt-r: Busca recursivamente dentro de directorios.
Símbolos Regex (expresiones regulares básicas): ^ (inicio), $ (fin), . (cualquier carácter), * (repetición), [] (Cualquiera de los caracteres dentro), | (una opción u otra).
4. Acceso remoto con SSH
SSH es un protocolo de red diseñado para establecer conexiones seguras entre dos máquinas. Tiene el puerto 22 por defecto y su configuración está en /etc/ssh/sshd_config.
-p: Permite especificar un puerto-i: Indica la ruta de la clave privada.-v: Modo verbose para mostrar más información sobre el proceso de conexión-l: Especifica el nombre del usuario con el que deseamos establecer la conexión.
5. Inicio y cambio de usuario
Para cambiar de identidad, usamos su - (el guion carga el entorno completo del usuario destino).
Con sudo -i usaremos la propia contraseña del usuario normal para ganar privilegios de root.
Podemos comprobar que usuario somos con whoami o id.
6. Tar y compresión
tar se utiliza para empaquetar, mientras que gzip (z) y bzip2 (j) para comprimir.
-c-> Create: Crea un nuevo archivo de empaquetado.-x-> Extract: Extrae el contenido de un archivo empaquetado existente.-v-> Verbose: Muestra el listado de archivos procesados por pantalla.-f-> File: Indica el nombre del archivo resultante o el archivo a extraer ((normalmente se coloca al final por claridad)).
tar -cvzf archivo.tar.gz /carpeta # Comprimir
tar -xvzf archivo.tar.gz # Descomprimir
Tambien podemos comprimir / descomprimir directamente con gzip o bzip2 :
7. Edición de archivos de texto (VI)
Vi es un editor de texto, aunque diferente al resto. Cuando lo iniciamos entramos en un modo normal. Tenemos otros editores como nano, que es más simple aunque menos potente:
i: Modo inserción.Esc + :wq!: Guardar y salir.Esc + :q!: Salir sin guardarEsc + dd: Borrar línea./texto: Buscar dentro del archivo.u: Deshacer
Podemos mencionar tambien el comando sed que se utilizar para transformar texto en un fichero.
8. Gestión de archivos y directorios
mkdir -p: Crea directorios y subdirectorios ( si fuera necesario).rmdir:Elimina directorios vacíos.cp: Copia archivos / directorios a otra ruta. Usamos -r para hacerlo de forma recursiva.mv: Mover ficheros / directorios.rm -rf: Borrado forzado y recursivo de un archivo o un directorio.
9. Enlaces físicos y simbólicos
Un enlace fisico es un nombre adicional para los mismos datos en el disco (mismo inodo), mientras que un enlace simbólico es un acceso directo que apunta a la ruta del archivo original (acceso directo en Windows). La sintaxis es ln [-s] archivo_original enlace.
Físico (Hard link): Mismo inodo. Si borras el original, el contenido sobrevive.
Simbólico (Soft link): Acceso directo. Si borras el original, el enlace se rompe y el contenido se pierde.
10. Permisos estándar ugo/rwx
Como sabemos, r(lectura), w(escritura) y x (ejecución) son los permisos basicos de ficheros, directorios, enlaces...
Usaremos los comandos chmod para modificar permisos y chown para modificar propietario:grupo. Podremos comprobar con ls -l
Tener en cuenta el flag -R para que se aplique de forma recursiva a todos los subdirectorios y archivos cuando lo usemos para un directorio
11. Documentación del sistema
Nunca memorices flags si tienes el sistema delante, tenemos diferentes formas de ver documentación de todos los comandos y es muy importante conocerlos y tenerlos presentes :
man: Manuales oficiales.info: Documentación extendida./usr/share/doc: Ejemplos y guías de paquetes.whatis: Breve explicación de un comandocomando --help: Ayuda rápida integrada.