Entendiendo la salida de ls -l: guía paso a paso

DUGLAS MORENODUGLAS MORENO 👁 17

Introducción

El comando ls -l es una de las herramientas más usadas en la línea de comandos de sistemas Unix‑like para obtener un listado detallado de archivos y directorios. En este tutorial desglosaremos cada columna de su salida y veremos qué información nos brinda.

Sintaxis básica

ls -l [ruta]

Si no se indica una ruta, se lista el contenido del directorio actual.

Desglose de columnas

La salida típica de ls -l tiene nueve columnas separadas por espacios:

  1. Permisos (modo)
  2. Número de enlaces
  3. Propietario
  4. Grupo
  5. Tamaño (en bytes)
  6. Mes
  7. Día
  8. Hora (o año)
  9. Nombre

A continuación explicamos cada una.

1. Permisos (modo)

El primer campo tiene 10 caracteres: el primero indica el tipo de archivo (- regular, d directorio, l enlace simbólico, etc.) y los nueve siguientes se agrupan en tres tríos: permisos de usuario, grupo y otros. Cada trío consiste en r (lectura), w (escritura) y x (ejecución); un guión - indica que el permiso está denegado.
Ejemplo: -rw-r--r-- → archivo regular, usuario puede leer y escribir, grupo y otros solo lectura.

2. Número de enlaces

Indica cuántos nombres duros (hard links) apuntan al mismo inodo. Para directorios, este número incluye la entrada . y cada subdirectorio.

3. Propietario

Nombre del usuario que posee el archivo.

4. Grupo

Nombre del grupo asociado al archivo.

5. Tamaño

Tamaño en bytes del contenido del archivo. Para directorios muestra el tamaño de la metadata que los contiene (usualmente 4096 bytes en ext4).

6‑8. Fecha y hora

Mes, día y hora o año. Si el archivo fue modificado dentro de los últimos seis meses se muestra la hora; de lo contrario se muestra el año.

9. Nombre

Nombre del archivo o directorio. Los enlaces simbólicos aparecen seguido de -> ruta destino.

Ejemplos en distintos directorios

Directorio vacío

$ ls -l total 0

Directorio con varios tipos de archivos

$ ls -l
 total 24
 drwxr-xr-x 2 usuario grupo 4096 Sep 10 10:15 docs
 -rw-r--r-- 1 usuario grupo 1234 Sep 10 09:00 informe.pdf
 lrwxrwxrwx 1 usuario grupo   10 Sep 10 08:30 link -> informe.pdf
 -rwx------ 1 usuario grupo  512 Sep  5 12:00 script.sh

Interpretación:

  • docs es un directorio (d) con permisos rwxr-xr-x, 2 enlaces, tamaño 4096 bytes.
  • informe.pdf es un archivo regular, permisos de lectura para todos, 1 enlace, 1234 bytes.
  • link es un enlace simbólico (l) con permisos completos, apunta a informe.pdf.
  • script.sh es ejecutable solo por su propietario (rwx------).

Listado de un directorio del sistema (ej. /etc)

$ ls -l /etc | head -5
total 120
-rw-r--r-- 1 root root  1123 Sep 10 08:00 hosts
drwxr-xr-x 2 root root  4096 Sep 10 07:55 cron.d
drwxr-xr-x 3 root root  4096 Sep 10 07:55 dbus-1
-rw-r--r-- 1 root root   512 Sep 10 07:55 debian_version

Aquí vemos que el propietario y grupo son root en la mayoría de los archivos del sistema.

Conclusión

Conocer el significado de cada columna de ls -l te permite inspeccionar rápidamente permisos, propiedad y tamaño de archivos, facilitando la administración del sistema y la depuración de problemas. Practica ejecutando ls -l en distintos contextos y observa cómo cambian los valores según el tipo de archivo y su contexto.

Comentarios (0)

Sé el primero en comentar.

Dejá tu comentario