- Un árbol para organizarlos a todos
- ¿Carpetas? Aquí les llamamos directorios
- Ver información sobre archivos
- Cuidado con las mayúsculas
- Todo es un archivo (casi todo)
- Estructura estándar del sistema: FHS
- Archivos ocultos
- Tipos de archivos
- Diferencias importantes con Windows
Cuando empezamos a trabajar con sistemas basados en Unix (como Linux o macOS), una de las primeras cosas que debemos aprender es su estructura de archivos. Esta se ve muy diferente a la que usamos en Windows, así que vale la pena entenderla bien desde el comienzo.
Vamos a recorrer juntos, paso a paso, cómo funciona esta estructura, para que te sientas más cómodo y puedas moverte por ella como todo un pro.
Un árbol para organizarlos a todos
Imaginemos la estructura de archivos como un gran árbol:
🌳 En las ramas tenemos los directorios (lo que en Windows llamamos “carpetas”).
🌳 En las hojas están los archivos (documentos, imágenes, programas, etc.).
Este árbol inicia desde un solo punto: la raíz /. A partir de ahí, todo se organiza en una jerarquía ordenada.
¿Carpetas? Aquí les llamamos directorios
Un detalle importante: en Windows tenemos un árbol diferente por cada disco (C:, D:, etc.). En *nix, solo hay un árbol, y todo vive dentro de él, incluso otros discos y dispositivos.
Por ejemplo:
- Un disco duro externo puede estar en
/mnt/usb1. - La configuración del sistema puede estar en
/etc.
Todo está conectado dentro del mismo árbol.
Ver información sobre archivos
Ya que sabemos qué es un archivo, ¿cómo vemos los detalles?
Usamos el comando stat. Este nos muestra mucha información útil sobre un archivo:
stat .bashrc
Salida (abreviada):
File: '.bashrc'
Size: 3771 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 259234 Links: 1
Access: 2024-03-10 ...
No te preocupes si no entiendes todos los datos todavía. Iremos explicándolos en otras lecciones.
🎬 Puedes ver este comando en acción:
Cuidado con las mayúsculas
En Windows, los nombres de los archivos no distinguen entre mayúsculas y minúsculas. Por ejemplo, foto.JPG y FOTO.jpg serían el mismo archivo.
Pero en *nix, esto sí importa. Son archivos distintos:
Index.html → válido
index.html → otro diferente
INDEX.HTML → otro más
Así que siempre presta atención a cómo escribes los nombres.
Todo es un archivo (casi todo)
En Unix decimos que todo es un archivo. Hasta los directorios. También los dispositivos como teclados, impresoras o discos duros.
✅ Esto tiene una ventaja: desde el punto de vista del sistema operativo y los programas, muchas cosas se controlan escribiendo y leyendo archivos, lo cual simplifica el desarrollo de software.
Algunos ejemplos:
| Elemento en el sistema | Representación como archivo |
|---|---|
| Archivo normal | /home/usuario/nota.txt |
| Directorio | /etc/ |
| Disco | /dev/sda1 |
| Impresora | /dev/lp0 |
Estructura estándar del sistema: FHS
Aquí van algunos de los más comunes y útiles:
| Directorio | Función |
|---|---|
/etc |
Archivos de configuración de programas |
/home |
Directorios personales de los usuarios del sistema |
/root |
Directorio personal del superusuario root |
/usr |
Aplicaciones y utilidades del sistema |
/var |
Archivos variables (logs, colas de impresión, etc.) |
Archivos ocultos
En Windows podemos ocultar archivos marcándolos como invisibles. En Unix es mucho más simple: si un archivo empieza con un punto (.), es oculto.
Ejemplos:
🫥 .bashrc → oculto
😐 documento.txt → visible
Para ver todos los archivos, incluyendo los ocultos, usamos:
ls -a
Salida posible:
. .. .bashrc .profile archivo.txt
.→ el directorio actual..→ el directorio anterior (nivel superior)
Estos dos aparecen siempre.
Tipos de archivos
En Unix no todo son archivos “normales”. Aquí algunos tipos comunes:
| Tipo de archivo | Descripción |
|---|---|
| Archivo regular | Un archivo común y corriente |
| Directorio | Contenedor de archivos y otros directorios |
Enlace duro (Hard Link) |
Otro nombre para el mismo archivo, apunta al mismo contenido |
Enlace simbólico (Symbolic Link) |
Similar a los accesos directos en Windows |
| Socket | Archivo especial usado para comunicación entre procesos |
Vamos a ver algunos ejemplos más adelante, cuando comencemos a trabajar con comandos como ln, touch y otros.
Diferencias importantes con Windows
Aquí un resumen de las principales diferencias entre Unix y Windows que ya vimos:
| Característica | Windows | Unix (*nix) |
|---|---|---|
| Sistema de archivos | Varios árboles (C:, D:) | Un solo árbol, raíz en / |
| Carpetas ocultas | Marcadas por propiedades | Nombre inicia con punto (.) |
| Diferenciación de mayúsculas/minúsculas | No hay distinción (A.jpg = a.jpg) |
Distinción total (A.jpg ≠ a.jpg) |
| Extensiones | Importantes para abrir archivos | No determinantes técnicamente |
Resumen
- En sistemas Unix, la estructura de archivos es un único árbol con raíz en
/. - Usamos el término "directorio" en lugar de "carpeta".
- Todo, incluso los dispositivos, se maneja como archivos.
- El comando
statnos da detalles de cualquier archivo. - Los nombres distinguen mayúsculas de minúsculas.
- Un archivo oculto empieza con un punto (
.). - Existen diferentes tipos de archivos: regulares, directorios, enlaces, sockets.
- La estructura del sistema sigue un estándar conocido como FHS.
Ahora que tenemos una buena base sobre cómo se organiza el sistema de archivos en Unix, estamos listos para movernos y trabajar en él usando comandos y scripts. ¡Manos a la obra!
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.