¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Archivos y terminal

Después de esta lección: Puedo trabajar con archivos y carpetas desde una terminal.

Lección de 50 min12 comandosLaboratorio de comandos de Linux de cada día: los treinta comandos que se escriben de memoria

Una factura perdida en el servidor

La tienda online de un cliente guarda miles de archivos en un servidor. Te piden la factura de un pedido de marzo.

El servidor no tiene escritorio ni ratón. Solo ves una ventana negra con un cursor.

La mayoría de los servidores funcionan así. Te mueves por ellos escribiendo órdenes cortas.

Al final de esta lección

Nota

Puedo trabajar con archivos y carpetas desde una terminal.

Palabras clave

PalabraQué significaEjemplo
Terminalla ventana donde escribes órdenes
Rutala dirección de un archivo o de una carpeta/home/student/projects
Directorio actualla carpeta en la que estás ahora
Redirecciónenviar la respuesta de una orden a un archivo>>
Tuberíapasar la respuesta de una orden a la siguiente|
Modolas letras que dicen quién lee, escribe o ejecuta un archivorw-r--r--

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una ruta es la dirección de un archivo

La terminal siempre está "dentro" de una carpeta. Es el directorio actual. Las órdenes actúan sobre él si no dices otra cosa.

Una ruta que empieza por / es una ruta absoluta. Sirve desde cualquier sitio.

Una ruta sin / al principio es relativa. Se busca dentro del directorio actual. Dos puntos, .., son la carpeta de arriba.

Ejemplo: adónde te lleva cd

Estás enEscribesAcabas en
/home/studentcd projects/home/student/projects
/home/student/projectscd app/home/student/projects/app
/home/student/projects/appcd ../home/student/projects
/home/student/projectscd /var/log/var/log
/var/logcd projectsUn error: esa carpeta no existe

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

¿Dónde estoy?

Comando
pwd

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

¿Qué hay aquí?

Comando
ls

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Baja dos carpetas de golpe

Comando
cd projects/app

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mira dentro

Comando
ls

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Vuelve a tu carpeta personal

Comando
cd

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error frecuente

Advertencia

Mucha gente cree que cd projects funciona desde cualquier carpeta. Solo busca dentro de la carpeta donde estás. Ejecuta pwd antes, o escribe una ruta completa que empiece por /.

mkdir, cp y mv cambian cosas

mkdir crea una carpeta. cp copia un archivo y el original se queda donde estaba. mv mueve un archivo. Si le das otro nombre en la misma carpeta, lo renombra.

rm borra un archivo. En un servidor no hay papelera: lo borrado no vuelve.

Ejecuta las cuatro siguientes en orden.

Crea una carpeta

Comando
mkdir -p pedidos

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Copia un archivo dentro

Comando
cp projects/docs/notes.txt pedidos/notes.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Cambia el nombre de la copia

Comando
mv pedidos/notes.txt pedidos/pendiente.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mira la carpeta

Comando
ls pedidos

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Redirecciones y tuberías unen órdenes

Una orden escribe su respuesta en pantalla. Una redirección la manda a un archivo. > sustituye el contenido. >> añade al final.

Una tubería, |, pasa la respuesta a otra orden. Con ls | wc -l, ls da los nombres y wc -l cuenta las líneas.

Añade una línea al archivo

Comando
echo "Pedido 2043 enviado" >> pedidos/pendiente.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lee el archivo

Comando
cat pedidos/pendiente.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Cuenta los archivos de una carpeta

Comando
ls projects/app | wc -l

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Otro error frecuente

Advertencia

Mucha gente cree que > y >> hacen lo mismo. > tira lo que había en el archivo y empieza de cero. >> lo conserva y añade al final. Usa >> salvo que quieras empezar de nuevo.

Ejemplo: un modo como tres cifras

LetrasDueñoGrupoRestoCifras
rw-r--r--rw- = 4+2 = 6r-- = 4r-- = 4644
rwxr-xr--rwx = 4+2+1 = 7r-x = 4+1 = 5r-- = 4754
rwx------rwx = 7--- = 0--- = 0700

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un grupo de letras como número

Código: python
# Un grupo de tres letras, convertido en un número.
grupo = "r-x"
total = 0
if grupo[0] == "r":
    total = total + 4
if grupo[1] == "w":
    total = total + 2
if grupo[2] == "x":
    total = total + 1
print(total)
# Cambia grupo por "rw-" y pulsa Ejecutar otra vez.

Para ir más lejos

Escríbelo tú, sin botones. Crea una carpeta facturas dentro de pedidos. Crea en ella tres archivos vacíos con una sola orden: touch acepta varios nombres.

Después cuéntalos con una tubería y usa > para guardar la cifra en pedidos/total.txt. Di qué imprimirá cat pedidos/total.txt antes de ejecutarlo.

Sobre este laboratorio y su código: Laboratorio de comandos de Linux de cada día: los treinta comandos que se escriben de memoria

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.