Moverse por el sistema
pwd (print working directory) muestra en qué carpeta estás parado. ls (list) lista el contenido de una carpeta. cd (change directory) te mueve a otra carpeta.
pwd
# /home/claudio/proyectos/studies
ls
# Muestra los archivos y carpetas del directorio actual
ls -l
# Formato "largo": permisos, dueño, tamaño y fecha de cada archivo
ls -la
# Igual que -l, pero incluye los archivos ocultos (los que empiezan con .)
ls -lh
# Como -l, pero con tamaños legibles (KB, MB, GB) en vez de bytes
cd carpeta # entra a "carpeta" (ruta relativa)
cd /home/claudio # entra usando una ruta absoluta
cd .. # sube un nivel, a la carpeta padre
cd ~ # va directo a tu carpeta personal
cd - # vuelve a la última carpeta en la que estabasCrear, copiar, mover y borrar
Estos son los comandos para manipular archivos y carpetas. El más peligroso de todos es rm: en Linux no hay papelera de reciclaje por defecto, así que lo que borrás con rm desaparece.
mkdir nueva-carpeta
# Crea una carpeta
mkdir -p ruta/con/varios/niveles
# Crea todas las carpetas intermedias que hagan falta, sin quejarse si ya existen
touch archivo.txt
# Crea un archivo vacío (o actualiza su fecha de modificación si ya existe)
cp origen.txt destino.txt
# Copia un archivo
cp -r carpeta-origen carpeta-destino
# Copia una carpeta completa (con -r, "recursivo")
mv archivo.txt otra-carpeta/
# Mueve un archivo (mv también sirve para renombrar)
mv nombre-viejo.txt nombre-nuevo.txt
# "Mover" un archivo al mismo lugar con otro nombre = renombrarlo
rm archivo.txt
# Borra un archivo (sin confirmación, sin papelera)
rm -r carpeta
# Borra una carpeta y todo su contenido
rm -rf carpeta
# Como -r, pero sin preguntar nada ni frenarse ante errores: usar con mucho cuidadorm -rf conviene correr el mismo comando cambiando rm por ls primero, para confirmar exactamente qué se va a borrar.Ver contenido de archivos
cat archivo.txt
# Vuelca todo el contenido del archivo a la pantalla, de una
less archivo.txt
# Abre el archivo en un visor paginado (subís y bajás con las flechas, salís con "q")
head archivo.txt
# Muestra las primeras 10 líneas
head -n 20 archivo.txt
# Muestra las primeras 20 líneas
tail archivo.txt
# Muestra las últimas 10 líneas
tail -f archivo.log
# Muestra las últimas líneas y se queda "siguiendo" el archivo en vivo (ideal para logs)Buscar archivos y texto
find busca archivos por nombre, tipo o fecha. grep busca texto dentro de archivos.
find . -name "*.astro"
# Busca, desde la carpeta actual (.), todos los archivos que terminen en .astro
find . -type d -name "topics"
# Busca carpetas (-type d) llamadas "topics"
grep "SOLID" archivo.txt
# Busca la palabra "SOLID" dentro de un archivo y muestra las líneas donde aparece
grep -r "SOLID" src/
# Busca "SOLID" en todos los archivos dentro de la carpeta src/, de forma recursiva
grep -rn "SOLID" src/
# Igual, pero mostrando el número de línea (-n) de cada coincidenciaCombinar comandos: pipes y redirección
La barra vertical | (pipe) conecta la salida de un comando con la entrada del siguiente. Los símbolos > y >> redirigen la salida de un comando hacia un archivo en vez de mostrarla en pantalla.
ls -la | grep ".astro"
# Lista todo y le pasa el resultado a grep, que se queda solo con lo que contenga ".astro"
cat archivo.txt | wc -l
# wc -l cuenta líneas: esto cuenta cuántas líneas tiene el archivo
echo "hola" > salida.txt
# Escribe "hola" en salida.txt, PISANDO el contenido anterior
echo "chau" >> salida.txt
# Agrega "chau" al final de salida.txt, sin borrar lo que ya habíaPermisos y sudo
Cada archivo tiene permisos de lectura, escritura y ejecución para tres grupos: el dueño, el grupo, y el resto. chmod los cambia. sudo ejecuta un comando con permisos de administrador (equivalente a "Ejecutar como administrador" en Windows).
ls -l archivo.sh
# -rwxr-xr-- 1 claudio claudio 220 jul 15 10:00 archivo.sh
# \__/\_/\_/
# | | |
# | | resto del mundo: puede leer (r), no escribir, no ejecutar
# | grupo: puede leer y ejecutar
# dueño: puede leer, escribir y ejecutar
chmod +x archivo.sh
# Agrega permiso de ejecución para poder correrlo como ./archivo.sh
sudo apt update
# Corre "apt update" con permisos de administrador (te va a pedir tu contraseña)Pedir ayuda sin salir de la terminal
man ls
# Abre el manual completo del comando ls
ls --help
# Muestra un resumen rápido de las opciones disponiblescomando --help cuando hace falta algo puntual.