Skip to content

Archivos y directorios

Los sistemas operativos organizan la información mediante archivos y directorios.

Aunque habitualmente podemos gestionarlos utilizando un explorador de archivos, en entornos profesionales es frecuente trabajar también desde la terminal, especialmente al administrar sistemas, utilizar servidores o trabajar con herramientas de desarrollo.

Durante esta unidad utilizaremos la terminal para crear y organizar los archivos que posteriormente formarán parte de nuestros proyectos de documentación.

La terminal

La terminal proporciona una interfaz de línea de comandos que permite interactuar con el sistema operativo mediante instrucciones escritas.

En Ubuntu podemos abrir una terminal utilizando el atajo:

text
Ctrl + Alt + T

La terminal muestra un prompt que indica que está preparada para recibir comandos. Su aspecto puede variar según la configuración del sistema.

Por ejemplo:

text
student@ubuntu:~$

A continuación podemos escribir un comando y pulsar Enter para ejecutarlo.

Por ejemplo:

bash
pwd

TIP

Durante el módulo no será necesario memorizar todos los comandos y sus opciones.

Debemos aprender a identificar qué operación necesitamos realizar, localizar la documentación correspondiente y utilizar correctamente el comando adecuado.

Directorio de trabajo

Cuando utilizamos la terminal siempre nos encontramos situados en un determinado directorio, denominado directorio de trabajo actual.

Podemos mostrar su ruta mediante:

bash
pwd

Por ejemplo:

text
/home/student

En los sistemas GNU/Linux, el directorio personal de un usuario se representa también mediante:

text
~

Por tanto, si el usuario es student:

text
~

representa:

text
/home/student

Contenido de un directorio

El comando ls permite mostrar el contenido de un directorio:

bash
ls

Podemos obtener información adicional utilizando opciones.

Por ejemplo:

bash
ls -l

muestra información detallada sobre los archivos y directorios.

La opción -a permite incluir también los elementos ocultos:

bash
ls -a

Las opciones pueden combinarse:

bash
ls -la

Archivos ocultos

En GNU/Linux, los archivos y directorios cuyo nombre comienza por . se consideran ocultos.

Por ejemplo:

text
.git

Más adelante encontraremos este directorio cuando trabajemos con Git.

Cambiar de directorio

El comando cd permite cambiar el directorio de trabajo.

Por ejemplo:

bash
cd Documents

Para acceder al directorio padre:

bash
cd ..

Para regresar directamente al directorio personal:

bash
cd ~

o simplemente:

bash
cd

Rutas absolutas y relativas

Para identificar un archivo o directorio podemos utilizar una ruta absoluta o una ruta relativa.

Una ruta absoluta comienza desde la raíz del sistema:

text
/home/student/Documents/project

Una ruta relativa se interpreta desde el directorio de trabajo actual:

text
Documents/project

También podemos utilizar:

text
.

para representar el directorio actual y:

text
..

para representar el directorio padre.

Por ejemplo:

bash
cd ../project

Crear directorios

El comando mkdir permite crear un directorio:

bash
mkdir docs

También podemos crear una estructura de directorios utilizando la opción -p:

bash
mkdir -p projects/documentation/images

Podemos comprobar el resultado mediante:

bash
ls

Crear archivos

Una forma sencilla de crear un archivo vacío desde la terminal es utilizar:

bash
touch README.md

Podemos comprobar que se ha creado mediante:

bash
ls

touch también permite actualizar las marcas de tiempo de un archivo existente, por lo que su función no se limita a crear archivos.

Copiar archivos y directorios

El comando cp permite copiar archivos.

Por ejemplo:

bash
cp README.md README-backup.md

También podemos copiar un archivo a otro directorio:

bash
cp README.md docs/

Para copiar un directorio junto con su contenido podemos utilizar la opción -r:

bash
cp -r docs docs-backup

Mover y renombrar

El comando mv permite mover archivos y directorios.

Por ejemplo:

bash
mv README.md docs/

El mismo comando se utiliza para cambiar el nombre de un archivo:

bash
mv notes.md installation.md

También podemos renombrar directorios:

bash
mv documentation docs

Eliminar archivos y directorios

El comando rm permite eliminar archivos:

bash
rm notes.md

Para eliminar un directorio y su contenido podemos utilizar:

bash
rm -r docs

Para eliminar un directorio vacío también podemos utilizar:

bash
rmdir docs

Eliminación de archivos

Los archivos eliminados mediante rm no se envían normalmente a la papelera.

Antes de ejecutar el comando debemos comprobar cuidadosamente qué archivos o directorios vamos a eliminar.

Debemos prestar especial atención al utilizar opciones como -r.

Consultar el contenido de un archivo

Podemos mostrar el contenido completo de un archivo de texto mediante:

bash
cat README.md

Para archivos más largos podemos utilizar:

bash
less README.md

less permite desplazarnos por el documento. Podemos salir pulsando:

text
q

Autocompletado

La terminal permite completar nombres de comandos, archivos y directorios utilizando la tecla Tab.

Por ejemplo, si existe el directorio:

text
documentation

podemos comenzar escribiendo:

bash
cd doc

y pulsar Tab.

Si el nombre puede determinarse de forma inequívoca, la terminal lo completará automáticamente.

El autocompletado permite trabajar más rápidamente y reducir errores al escribir rutas.

Historial de comandos

La terminal mantiene un historial de los comandos ejecutados.

Podemos recuperar comandos anteriores utilizando las teclas:

text

También podemos consultar el historial mediante:

bash
history

Esto resulta útil cuando necesitamos repetir o modificar un comando utilizado anteriormente.

Obtener ayuda

Cuando necesitemos conocer el funcionamiento de un comando podemos consultar su manual:

bash
man ls

o utilizar su ayuda:

bash
ls --help

No debemos intentar memorizar todas las opciones disponibles. Debemos ser capaces de consultar la documentación cuando necesitemos realizar una operación concreta.

Preparación de un proyecto

El trabajo con archivos y directorios desde la terminal será la base para utilizar posteriormente Visual Studio Code, Git y GitHub.

Por ejemplo, podemos preparar un nuevo proyecto mediante:

bash
mkdir technical-documentation
cd technical-documentation
touch README.md
mkdir images

La estructura resultante será:

text
technical-documentation/
├── images/
└── README.md

A partir de este momento podremos abrir este directorio con Visual Studio Code, crear la documentación en Markdown y, posteriormente, gestionar sus cambios utilizando Git.