Navegación y Gestión de Directorios
El sistema de archivos en Linux se organiza de forma jerárquica. Para interactuar con él, se utilizan comandos de navegación y manipulación de carpetas:
pwd: Muestra la ruta absoluta del directorio de trabajo actual.cd [ruta]: Cambia el directorio actual.cd ..: Sube un nivel en la jerarquía.cd ../..: Sube dos niveles simultáneamente.cd ~: Regresa al directorio personal del usuario (Home).
ls [opciones]: Enumera el contenido de un directorio.ls -l: Muestra detalles como permisos, propietario y tamaño.ls -a: Incluye archivos ocultos (aquellos que comienzan con un punto).
mkdir -p ruta/al/directorio: Crea una estructura de carpetas de forma recursiva.rmdir: Elimina directorios vacíos.rm -rf nombre_directorio: Elimina un directorio y todo su contenido de forma recursiva y forzada.
Gestión de Usuarios y Privilegios
La administración de permisos es crítica. Linux distingue entre usuarios estándar y el superusuario (root).
# Asignar o cambiar contraseña al usuario root
sudo passwd root
# Cambiar a la identidad del superusuario
su root
# Ejecutar un comando individual con privilegios elevados
sudo apt update
# Cerrar la sesión actual o salir del modo root
exit
Para la gestión de cuentas de usuario en el sistema:
# Crear un nuevo usuario con su directorio personal
sudo useradd -m nuevo_desarrollador
# Establecer contraseña para el nuevo usuario
sudo passwd nuevo_desarrollador
# Eliminar un usuario y sus archivos
sudo userdel -r nuevo_desarrollador
# Finalizar procesos activos de un usuario antes de eliminarlo
sudo kill -SIGKILL [PID]
Manipulación de Archivos y Flujos de Datos
El manejo de archivos incluye la creación, búsqueda y visualización de datos:
touch archivo.txt: Crea un archivo vacío.cp origen.txt destino.txt: Copia archivos o directorios (usar-rpara carpetas).mv antiguo_nombre.txt nuevo_nombre.txt: Renombra o mueve archivos.cat archivo.txt: Vuelca el contenido del archivo en la terminal.grep "termino" archivo.log: Busca una cadena de texto específica dentro de un archivo.find /ruta -name "*.sh": Busca archivos por nombre dentro de una ruta específica.
Redirección de salida:
# Sobrescribir el archivo con nuevo contenido
echo "Configuración inicial" > config.sys
# Añadir contenido al final del archivo sin borrar lo anterior
echo "Nueva línea de log" >> config.sys
Permisos y Propeidades del Sistema
Cada archivo tiene un propietario, un grupo y un conjunto de permisos representados por niveles: Usuario (u), Grupo (g) y Otros (o).
# Cambiar el propietario de un archivo
sudo chown usuario_admin notas.txt
# Cambiar el grupo de un archivo
sudo chgrp grupo_dev notas.txt
# Modificar permisos mediante notación octal
# 7 (rwx), 5 (r-x), 4 (r--)
chmod 755 script_ejecutable.sh
# Modificar permisos mediante notación simbólica
chmod o+w carpeta_compartida # Añade escritura a 'otros'
chmod g-x archivo.bin # Quita ejecución al 'grupo'
Compresión y Archivadores
Para optimizar el almacenamiento y la transferencia de datos:
-
Gzip: Comprime archivos individuales. ``` gzip datos.csv # Crea datos.csv.gz gzip -d datos.csv.gz # Descomprime el archivo
-
Tar: Empaqueta múltiples archivos y directorios. ```
Crear un archivo comprimido (c: create, z: gzip, v: verbose, f: file)
tar -czvf respaldo_proyecto.tar.gz ./src
Extraer el contenido de un paquete (x: extract)
tar -xzvf respaldo_proyecto.tar.gz -C ./directorio_destino
Administración de Software
En distribuciones basadas en Debian/Ubuntu, se utilizan dpkg para paquetes locales y apt para repositorios remotos.
# Instalar un paquete .deb local
sudo dpkg -i paquete_instalador.deb
# Listar paquetes instalados que coincidan con un nombre
dpkg -l | grep "python"
# Actualizar la lista de repositorios y el software del sistema
sudo apt update && sudo apt upgrade
# Instalar una herramienta desde repositorios oficiales
sudo apt install htop
# Eliminar una aplicación
sudo apt remove nombre_paquete
Monitoreo del Sistema y Atajos
Comandos rápidos para supervisar el estado del hardware y procesos:
uptime: Indica cuánto tiempo lleva el sistema encendido.ps aux: Muestra todos los procesos en ejecución en el sistema.history: Despliega el historial de comandos ejecutados por el usuario.clear: Limpia la pantalla de la terminal.Ctrl + C: Interrumpe el proceso que se está ejecutando actualmente.Tab: Presionar una vez para autocompletar rutas o comandos; dos veces para mostrar sugerencias.