Ls

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.

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.

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. 1 2 MacKenzie,, p. 85.

Bibliografía

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

Enlaces externos