Artículo original escrito por Bolaji Ayodeji
Artículo original The Linux LS Command – How to List Files in a Directory + Option Flags
Traducido y adaptado por Rafael D. Hernandez

Desde la creación de Unix en la década de 1970, muchos sistemas operativos lo han utilizado como base. Muchos de estos sistemas operativos fallaron, mientras que otros tuvieron éxito.

Linux es uno de los sistemas operativos basados en Unix más populares. Es de código abierto y se utiliza en todo el mundo en muchas industrias.

Una característica sorprendente del sistema operativo Linux es la Interfaz de Línea de Comandos (CLI) que permite a los usuarios interactuar con su computadora desde un shell. El shell de Linux es un entorno REPL (Lectura, Evaluación, Impresión, Bucle) donde los usuarios pueden introducir un comando y el shell lo ejecuta y devuelve un resultado.

El comando ls es uno de los muchos comandos de Linux que permiten a un usuario listar archivos o directorios desde la CLI.

En este artículo, profundizaremos en el comando ls y algunas de las banderas más importantes que necesitarás en el día a día.

Requisitos

  • Una computadora con directorios y archivos
  • Tener instalada una de las distribuciones de Linux
  • Conocimientos básicos de navegación por el CLI
  • Una sonrisa en tu cara :)

El Comando Linux ls

El comando ls se utiliza para listar archivos o directorios en Linux y otros sistemas operativos basados en Unix.

Al igual que navegas en tu explorador de archivos o finder con una interfaz gráfica de usuario, el comando ls te permite enumerar todos los archivos o directorios en el directorio actual de forma predeterminada, e interactuar con ellos a través de la línea de comandos.

Inicia tu terminal y escribe ls para ver esto en acción:

Screenshot-2020-08-20-at-9.40.29-PM

Cómo listar archivos en un directorio con opciones

El comando ls también acepta algunos indicadores (también conocidos como opciones) que son información adicional que cambia la forma en que se listan los archivos o directorios en su terminal.

En otras palabras, los indicadores cambian el funcionamiento del comando ls:

 ls [indicadores] [directorio]
PD: ¿La palabra contenido utilizado en todo el artículo se refiere a los archivos y directorios que se listan, no al contenido real de los archivos/directorios?

Lista de archivos en el directorio de trabajo actual

Escriba el comando ls para listar el contenido del directorio de trabajo actual:

Screenshot-2020-08-20-at-9.40.29-PM

Lista de archivos en otro directorio

Escribe el comando ls [ruta de directorio aquí] para listar el contenido de otro directorio:

Screenshot-2020-08-20-at-10.32.52-PM

Lista de archivos en el directorio raíz

Escriba el comando ls / para listar el contenido del directorio raíz:

Screenshot-2020-08-20-at-10.46.10-PM

Lista de archivos en el directorio padre

Escribe el ls .. comando para listar el contenido del directorio padre un nivel más arriba. Usa ls ../.. para contenidos dos niveles arriba:

Screenshot-2020-08-20-at-10.48.22-PM

Lista de archivos en el directorio personal del usuario (/home / user)

Escribe el comando ls ~ para listar el contenido en el directorio personal del usuario:

Screenshot-2020-08-20-at-10.51.19-PM

Listar solo directorios

Escriba el comando ls -d */ para listar solo los directorios:

Screenshot-2020-08-21-at-12.53.05-PM

Lista de archivos con subdirectorios

Escriba el comando ls * para listar el contenido del directorio con sus subdirectorios:

Screenshot-2020-08-21-at-1.07.54-PM

Lista de archivos recursivamente

Escribe el comando ls -R para listar todos los archivos y directorios con sus subdirectorios correspondientes hasta el último archivo:

Screenshot-2020-09-01-at-9.04.56-AM
Si tiene muchos archivos, puede tardar mucho tiempo en completarse, ya que se imprimirán todos los archivos de cada directorio. En su lugar, puedes especificar un directorio para ejecutar este comando, de la siguiente manera: ls Downloads -R

Lista de archivos con sus tamaños

Escriba el comando ls -s (la s es minúscula) para listar archivos o directorios con sus tamaños:

Screenshot-2020-08-21-at-12.30.19-PM

Lista de archivos en formato largo

Escriba el comando ls -l para listar el contenido del directorio en un formato de tabla con columnas incluidas:

  • permisos de contenido
  • número de enlaces al contenido
  • propietario del contenido
  • propietario del grupo del contenido
  • tamaño del contenido en bytes
  • fecha / hora de la última modificación del contenido
  • nombre de archivo o directorio
Screenshot-2020-08-20-at-10.52.37-PM

Lista de archivos en formato largo con tamaños de archivo legibles

Escribe el comando ls -lh para listar los archivos o directorios en el mismo formato de tabla anterior, pero con otra columna que represente el tamaño de cada archivo/directorio:

Screenshot-2020-08-21-at-12.14.33-PM

Ten en cuenta que los tamaños se enumeran en bytes (B), megabytes (MB), gigabytes (GB) o terabytes (TB) cuando el tamaño del archivo o directorio es superior a 1024 bytes.

Lista de archivos, incluidos los archivos ocultos

Escribe el comando ls -a para listar archivos o directorios, incluidos archivos o directorios ocultos. En Linux, cualquier cosa que comience con un . se considera un archivo oculto:

Screenshot-2020-08-21-at-11.12.26-AM

Lista de archivos en formato largo, incluidos los archivos ocultos

Escriba el comando ls -l -a o ls -a -l o ls -la o ls -al para listar archivos o directorios en un formato de tabla con información adicional, incluidos archivos o directorios ocultos:

Screenshot-2020-08-21-at-12.17.01-PM

Listar archivos y ordenar por fecha y hora

Escribe el comando ls -t para listar archivos o directorios y ordenar por fecha de última modificación en orden descendente (de mayor a menor).

También puedes agregar el indicador -r para invertir el orden de clasificación de la siguiente manera: ls -tr:

Screenshot-2020-08-21-at-12.20.09-PM

Lista de archivos y ordenar por tamaño de archivo

Escribe el comando ls -S (la S es mayúscula) para listar archivos o directorios y ordenar por tamaño en orden descendente (de mayor a menor).

También puedes agregar un indicador -r para invertir el orden de clasificación de la siguiente manera: ls -Sr:

Screenshot-2020-08-21-at-12.20.38-PM

Listar archivos y generar el resultado en un archivo

Escriba la salida ls > output.txt para imprimir el resultado del comando anterior en un archivo output.txt. Puedes usar cualquiera de los indicadores discutidos antes como -la — el punto clave aquí es que el resultado se generará en un archivo y no se registrará en la línea de comandos.

A continuación, puede usar el archivo como mejor le parezca, o registrar el contenido del archivo con cat output.txt:

Screenshot-2020-09-01-at-9.12.59-AM
.

Conclusion

Hay toneladas de otros comandos y combinaciones que puedes explorar para enumerar archivos y directorios en función de tus necesidades. Una cosa a recordar es la capacidad de combinar varios comandos a la vez.

Imagina que deseas enumerar un archivo en formato largo, incluyendo los archivos ocultos, y ordenarlos por tamaño de archivo. El comando ls -alS, que es una combinación de ls -l, ls -a y ls -S.

Si olvidas algún comando o no estás seguro de qué hacer, puedes ejecutar ls --help o man ls, que mostrará un manual con todas las opciones posibles para el comando ls:

Screenshot-2020-09-01-at-9.57.37-AM

Gracias por leer!