Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Estructura de archivos Fundamentos de la línea de comandos

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.

Estructura de archivos en Unix

¿Carpetas? Aquí les llamamos directorios

En el mundo Unix, no usamos la palabra carpeta; aquí se les llama directorios. Aunque significan lo mismo, el término correcto en este contexto es "directorio".

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

En los sistemas *nix hay una organización estándar para los directorios principales. A esto se le llama FHS (Filesystem Hierarchy Standard).

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.jpga.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 stat nos 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.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY