Captura de pantalla de comando ls -la

(del inglés list, cuya traducción es lista, listado o listar) es un comando del sistema operativo Unix y derivados que muestra un listado con los archivos y directorios de un determinado directorio. Los resultados se muestran ordenados alfabéticamente.[1]

Los archivos y directorios cuyo nombre comienza con . (punto) no se muestran con la instrucción ls, por lo que están ocultos. La opción -a de ls inhibe este comportamiento, y muestra todos los archivos y subdirectorios, incluso los que tienen punto.

ls es una de las herramientas más básicas de los sistemas operativos Unix, por lo que forma parte del paquete GNU Coreutils.[1]

Sintaxis

Opciones más comunes

Al igual que en la mayoría de las órdenes unix, las opciones se pueden agrupar, de manera que es lo mismo poner ls -li que ls -l -i . O también es lo mismo ls -ltra que ls -l -t -r -a

Ejemplos

Un listado del directorio actual se obtendría así:

$ ls
Manual.txt.gz  archivo1.txt  hosts  servidores  syslog.0

El listado largo sería:

$ ls -l
total 1424
-rw-r--r--  1 mail   bin       40661 May 13 22:27 Manual.txt.gz
-rw-r--r--  1 nobody nogroup       0 May 13 22:26 archivo1.txt
-rw-r--r--  1 root   root        825 May 13 22:26 hosts
lrwxrwxrwx  1 user1  grp1          5 May 13 22:31 servidores -> hosts
-rw-r-----  1 sys    sys     1405600 May 13 22:27 syslog.0

Y con archivos ocultos:

$ ls -la
total 1444
drwxr-xr-x   3 user1  grp1       4096 May 13 22:34 .
drwxrwxrwt  56 root   root       8192 May 13 22:35 ..
-rw-r--r--   1 user1  grp1        176 May 13 22:29 .data
-rw-r--r--   1 mail   bin       40661 May 13 22:27 Manual.txt.gz
-rw-r--r--   1 nobody nogroup       0 May 13 22:26 archivo1.txt
-rw-r--r--   1 root   root        825 May 13 22:26 hosts
lrwxrwxrwx   1 user1  grp1          5 May 13 22:31 servidores -> hosts
-rw-r-----   1 sys    sys     1405600 May 13 22:27 syslog.0

El listado del contenido del directorio datos en formato largo, entre ellos el número de i-nodo al principio de cada línea y ordenados por fechas en orden descendente:

$ ls -litr datos
total 45928
37844 -rw-r--r--  1 user1 grp1       30 Jan 23 23:01 datos1.txt
37847 -rw-r--r--  1 user1 grp1      460 Apr 13 21:36 índice.datos
37845 -rw-r--r--  1 user1 grp1 46967296 May 13 22:34 datos2.txt

Si se usa la opción -d se muestra solo la información del directorio:

ls -lid datos
37843 drwxr-xr-x  2 user1  grp1 4096 May 13 22:35 datos

El listado largo de todos los archivos cuyo nombre empiece por d y luego contenga una t:

$ ls -l d*t*
-rw-r--r--  1 user1  grp1       30 Jan 23 23:01 datos1.txt
-rw-r--r--  1 user1  grp1  46967296 May 13 22:34 datos2.txt

Ordenar por fecha descendentemente

 ls -lt

Ordenar por fecha ascendentemente

 ls -ltr

Ordenar por tamaño descendentemente

 ls -l --sort=size

Ordenar por tamaño ascendentemente

 ls -lr --sort=size

Referencias

  1. a b MacKenzie,, p. 85.

Bibliografía

MacKenzie, David (Febrero de 2020). «GNU Coreutils». Gnu.org. Consultado el 1 de junio de 2020.