Listar archivos con el comando ls de Linux de un modo fácil y comprensible

De sobra es conocido que todo, absolutamente todo lo que se puede hacer con un ordenador con Linux puede hacerse desde su terminal, también conocida como consola. Hoy vamos a adentrarnos en el que es probablemente uno de los comandos más utilizados dentro de la terminal: listar archivos con el comando ls de Linux. El comando ls proviene de la palabra inglesa list, que significa algo así como listar o hacer un listado. Esta no es la primera vez que analizamos temas relacionados con la terminal, pero en las otras ocasiones fue de un modo un poco un poco más friki. Por ejemplo, haciendo que un tren se mueva, ver una película de Star Wars, obtener el efecto Matrix o directamente que te insulte al escribir mal código.

Como nota curiosa, y muy relevante dentro del misma comunidad del software libre, este comando ls fue escrito por el mismísimo Richard Stallman y por David MacKenzie. Como sería completamente esperable, su licencia de publicación es GPLv3+.

Listar archivos con el comando ls de Linux

Quiero leer...

¿Para qué sirve el comando ls de la terminal de Linux?

Pues muy fácil, el comando ls de nuestra consola vale para poner una lista de los archivos que tenemos en una carpeta cualquiera de nuestro sistema Linux. Ni más ni menos. Vereis que listar archivos con el comando ls de Linux es tan sencillo de utilizar, que pocas veces más recurriréis a la versión gráfica.

¿Es fácil de usar en la terminal el comando ls?

Muy sencillo. Vamos a poner a continuación muchos ejemplos para que veáis cuál es su potencialidad y así aprendáis correctamente su uso y aplicaciones. Lo primero, obviamente, es ir a la carpeta  de la que queremos hacer un listado de todos los archivos.

Comando básico para listar archivos con el comando ls de Linux (ls)

Escribimos ls en la terminal de Linux y presionamos Enter.

ls

En esta ocasión aparece la lista de los archivos, en una columna, y sin más información que su nombre. Además, los archivos ocultos no se muestran. Por lo tanto, ls es el comando más básico que existe en Linux.

Comando para mostrar archivos ocultos (ls -a)

Si lo que queremos es mostrar, aparte de los archivos visibles en una carpeta, los archivos ocultos, que se identifican porque tienen un punto (.) por delante del nombre, introducimos en la terminal el siguiente comando:

ls -a

De modo similar al caso anterior, aparecen listados en una columna y sin información extra.

Mostrar la lista de archivos en varias columnas (ls -x)

Si solo queremos listar archivos con el comando ls de Linux situados en una carpeta, pero su número hace que dispuestos en una columna ésta sea muy larga, podemos mostrarlos en varias columnas. Para ello, ejecutamos el siguiente comando:

ls -x

Igual que en los casos anteriores, la información mostrada será exclusivamente el nombre y el formato del archivo, sin ninguna información extra. Es importante mencionar que se muestran tantas columnas de archivos como anchura tenga la terminal. Es decir, que si la ventana de la terminal es muy estrecha, es probable que solo aparezca una columna, pero si la maximizamos a toda la pantalla, habrá tantas columnas como espacio tenga vuestro monitor.

Listar información adicional (tamaño, permisos…) (ls -l)

En esta ocasión estamos interesados en que aparezca una lista en la que se detallen:

  1. Los permisos de cada archivo.
  2. El número de archivos contenidos dentro de un directorio.
  3. El propietario del archivo.
  4. El tamaño de cada archivo.
  5. Fecha y hora de última modificación.
  6. Nombre y formato del archivo.

Para mostrar la información extra anteriormente mencionada, tenemos que ejecutar el siguiente comando:

ls -l

Sin embargo, es interesante mencionar que este comando es incompatible con ls -x. Me explico. No se puede hacer una combinación de información extra mostrada en varias columnas. Veamos los dos siguientes ejemplos:

(1) ls -x -l 
(2) ls -l -x

Es reseñable que ante los dos casos anteriormente citados, el resultado final que se mostrará en la terminal es el último atributo del comando. Por lo tanto, ejecutando (1) se verá en pantalla una lista con la información extra, y ejecutando (2) se observarán los datos mostrados en columnas. Pero nunca una combinación de ambos.

Mostrar el tamaño en bytes (B, KB, GB…) modificando el comando ls de la terminal Linux (ls -lh)

Ahora bien, si estamos interesados en mostrar la información del tamaño del archivo en bytes, con sus correspondientes prefijos (bytes, kilobytes, gigabytes, terabytes, etc.), tenemos que ejecutar el siguiente comando, siempre dentro de ls -l:

ls -lh

Mostrando primero los directorios o carpetas (ls –group-directories-first)

De forma predeterminada, ls te ordena los archivos por orden alfabético de su nombre. Por lo tanto, pueden aparecer mezclados archivos y formatos de muy diversa índole, respondiendo exclusivamente a su letra inicial. Si queremos mostrar en el listado primero los directorios (o carpetas), y después el resto de archivos ejecutamos el siguiente comando:

ls --group-directories-first

Ahora bien, este comando lo podemos personalizar como se ve a continuación:

ls -lh --group-directories-first

Donde se le indica que, aparte de mostrar primero los directorios, aparezca toda la información extra y que muestre el tamaño de los archivos en bytes.

Ordenando los archivos y carpetas por fecha de última modificación (ls -t)

Si lo que nos interesa es ordenar los archivos y carpetas de nuestro directorio según la fecha de última modificación, bien porque queramos saber con qué archivo último hemos trabajado, o bien por cualquier otra situación, podemos hacerlo de un modo muy sencillo añadiendo -t a nuestro comando ls, tal y como podemos ver aquí:

ls -t

Sin embargo, ejecutando el comando anterior solo veremos los nombres de los archivos ordenados por esa fecha. Si queremos ver la fecha, tenemos que combinar el comando con uno que vimos anteriormente:

ls -t -l

Em ambos casos, los archivos y directorios están ordenados de fecha más reciente a fecha más tardía.

¿Se pueden escribir los comandos anteriores de otro modo?

Sí. Cuando existen funciones extras añadidas al comando ls, éstas pueden escribirse con guión y su letra, como hemos visto hasta ahora, o bien, pueden juntarse todas las letras delante de un único guión. Veamos este ejemplo escrito de modo «tradicional»:

ls -a -t -l

Ya sabemos que el comando anterior va a mostrar un listado de nuestros archivos y carpetas incluyendo archivos ocultos (-a), ordenados por fecha de última modificación (-t) y mostrando detalles extras de cada uno (-l). ¿Cómo podemos simplicarlo? Pues escribamos un único guión seguido de todas las letras, como veremos ahora mismo:

ls -atl 
ls -alt 
ls -lta 
ls -tla

Como podemos apreciar, podemos combinar las letras a nuestro antojo, que el resultado final no se verá modificado.

Un dato de interés para geeks sobre el comando ls

Muchas de las funciones extras que tiene el comando ls, y que se representan con un guión y una letra, tienen un equivalente con dos guiones y más de una letra, que suele ser una palabra o conjunto de palabras. Veamos lo siguiente:

ls -a
ls --all

La ejecución de los dos comandos anteriores dan exactamente el mismo resultado. Digamos que la letra se utiliza como una abreviación de la función a ejecutar. Espero que al menos listar archivos con el comando ls de Linux os haya parecido sencillo.

¿Queréis saber más sobre cómo listar archivos con el comando ls de Linux?

En esta entrada os he hecho un resumen de cómo listar archivos con el comando ls de Linux, reseñando algunas funciones que pueden ser de interés inmediato. Sin embargo, no he hecho un «listado» (valga la redundancia) de todo lo que se puede hacer con ls. Si queréis saber TODO, absolutamente todo lo que se puede hacer con este comando ls se encuentra en su ayuda. ¿Y cómo accedemos a la ayuda de ls?

Escribimos en la terminal:

man ls

Y ahí podréis ver todas las funciones, todas las equivalencias, y podréis jugar como auténticos profesionales de Linux, al igual que en esta página web o esta otra. Os dejo ahora para que vosotros las descubrais y jugueis con ellas. ¿A qué estáis esperando para empezar a usar la terminal?

4 comentarios en «Listar archivos con el comando ls de Linux de un modo fácil y comprensible»

    • El concepto para buscar archivos o directorios que empiezan por una letra, número ó carácter se llaman «wildcards» o «comodínes» como ejemplo, para buscar un archivo o directorio que empieza con a:

      ls a* (esto es para archivos o directorios que empiezan por a)

      si por ejemplo quieres buscar palabaras que terminan con «s» es :
      ls *s

      Responder

Deja un comentario