2.1 Navegación y Gestión de Archivos
Jerarquía
Sección titulada “Jerarquía"Recuerda que todo comienza en /.
Conceptos de rutas (path)
Sección titulada “Conceptos de rutas (path)"- Ruta absoluta: Comienza con
/. Siempre funciona, sin importar dónde estés. (ej.:/home/user/docs/file.txt). - Ruta relativa: No comienza con
/. Depende de tu ubicación actual. (ej.:docs/file.txto../file.txt).
Comandos de navegación
Sección titulada “Comandos de navegación"| Comando | Nombre | Función |
|---|---|---|
pwd | Print Working Directory | Te dice dónde estás ahora mismo. |
cd | Change Directory | Te mueve a una nueva carpeta. |
cd .. | Sube un nivel. | |
cd ~ | Va a tu directorio personal (home). | |
cd - | Vuelve al directorio anterior. | |
ls | List | Muestra los archivos en el directorio actual. |
Opciones de ls
Sección titulada “Opciones de ls"Rara vez ejecutas solo ls. Opciones habituales:
ls -l: Listado largo (permisos, propietario, tamaño, fecha).ls -a: Todos los archivos (muestra archivos ocultos que empiezan por.).ls -lh: Listado largo con tamaños legibles para humanos (MB, GB).ls -la: Listado largo de todos los archivos (incluyendo ocultos).ls -ltr: Ordena por fecha (los más recientes al final).
Patrones glob (comodines)
Sección titulada “Patrones glob (comodines)"Los comodines ayudan a seleccionar múltiples archivos:
*.txt: Todos los.txt.file?.txt: Coincidefile1.txt,fileA.txt, etc.docs/*/index.md: Cualquierindex.mddentro de un subdirectorio dedocs/.
Gestión de archivos
Sección titulada “Gestión de archivos"| Comando | Función | Ejemplo |
|---|---|---|
mkdir | Crear directorio | mkdir projects |
touch | Crear archivo vacío | touch notes.txt |
cp | Copiar | cp notes.txt backup.txt |
cp -r | Copiar de forma recursiva (carpeta) | cp -r projects/ projects-backup/ |
mv | Mover (o renombrar) | mv notes.txt doc.txt |
rm | Eliminar (borrar) | rm file.txt |
rmdir | Eliminar directorio vacío | rmdir old-empty-dir |
rm -i | Confirmación interactiva | rm -i file.txt |
Búsqueda de archivos
Sección titulada “Búsqueda de archivos"Herramientas habituales para localizar archivos en el sistema:
Busca archivos en una jerarquía de directorios.
- Sintaxis:
find [ruta] [expresión] - Ejemplos:
find /etc -name "*.conf": Busca todos los archivos en/etcque terminen en.conf.find . -type f: Busca solo archivos en el directorio actual.find . -type d: Busca solo directorios.find /var/log -size +10M: Busca archivos mayores de 10 MB.find . -perm 777: Busca archivos con permisos 777.find . -mtime -1: Busca archivos modificados en las últimas 24 horas.find . -user alice: Busca archivos cuyo propietario sea el usuarioalice.find . -iname "*.jpg": Búsqueda sin distinguir mayúsculas/minúsculas.find . -maxdepth 2 -name "*.md": Limita la profundidad de búsqueda.find . -not -path "*/node_modules/*": Excluye directorios no deseados.find . -type f -name "*.log" -exec ls -l {} \;: Ejecuta una acción por cada resultado.
Encuentra archivos por nombre usando una base de datos preconstruida (más rápido que find, pero puede estar desactualizada).
- Sintaxis:
locate [patrón] - Actualizar la BD:
sudo updatedb(actualiza la base de datos que utilizalocate).
Localiza un comando.
- Ejemplo:
which python(muestra la ruta del ejecutable de Python).
whereis
Sección titulada “whereis"Localiza el binario, el código fuente y las páginas de manual de un comando.
- Ejemplo:
whereis ls
$PATH y resolución de comandos
Sección titulada “$PATH y resolución de comandos"Cuando escribes una orden, el shell busca el ejecutable en cada directorio de $PATH (separados por :).
- Ver tu PATH:
echo $PATH - Añadir temporalmente un directorio:
export PATH="$HOME/bin:$PATH" - Hacerlo persistente:
- En
bash: añade el export a~/.bashrco~/.profile - En
zsh: añádelo a~/.zshrc
- En