Introducción
El ls
es uno de los comandos básicos que cualquier usuario de Linux debería conocer. Se utiliza para enumerar información sobre archivos y directorios dentro del sistema de archivos. La ls
es parte del paquete GNU base que se instala en todas las distribuciones de Linux.
En este tutorial, le mostraremos cómo usar el ls
través de ejemplos prácticos y explicaciones detalladas de las ls
Cómo usar el comando ls
La sintaxis del ls
es la siguiente:
ls [OPTIONS] [FILES]
Cuando se usa sin opciones ni argumentos, ls
muestra una lista de los nombres de todos los archivos en el directorio de trabajo actual:
ls
Los archivos se enumeran en orden alfabético:
cache db empty games lib local lock log mail opt run spool tmp
Para listar archivos en un directorio específico, pase la ruta al directorio como un argumento para el comando ls. Por ejemplo, para enumerar el contenido del /etc
, escriba:
ls /etc
También puede pasar varios directorios y archivos al ls
separados por espacio:
ls /etc /var /etc/passwd
Si el usuario que ha iniciado sesión no tiene permisos de lectura en el directorio, se mostrará un mensaje que indica que ls
no puede abrir el directorio:
ls /root
ls: cannot open directory '/root': Permission denied
El ls
tiene varias opciones. En las siguientes secciones, exploraremos las opciones más utilizadas.
Dar formato a la lista
La salida predeterminada del ls
solo muestra los nombres de archivos y directorios, lo que no es muy informativo.
La -l
(L minúscula) le permite ver la lista de archivos en un formato de lista larga.
Cuando se usa el formato de lista larga, el ls
mostrará la siguiente información de archivo:
- El tipo de archivo
- Los permisos del archivo
- Número de enlaces físicos al archivo
- Propietario del archivo
- Grupo de archivos
- Tamaño del archivo
- Fecha y hora
- Nombre del archivo
Considere el siguiente ejemplo:
ls -l /etc/hosts
-rw-r--r-- 1 root root 445 May 5 12:11 /etc/hosts
Explicamos las columnas más importantes de la salida.
El primer carácter muestra el tipo de archivo. En nuestro ejemplo, el primer carácter es -
que indica un archivo normal. Los valores para otros tipos de archivos son los siguientes:
-
- Archivo normalb
- Bloquear archivo especialc
- Archivo de caracteres especialesd
- Directoriol
- Enlace simbólicon
- Archivo de redp
- FIFOs
- Toma
Los siguientes nueve caracteres muestran los permisos del archivo. Los primeros tres caracteres son para el usuario, los siguientes tres son para el grupo y los últimos tres son para los demás. Puede cambiar los permisos del archivo con el comando chmod
El carácter de autorización puede tener el siguiente valor:
r
- Autorización para leer el archivow
- Autorización para escribir en el archivox
: permiso para ejecutar el archivos
- bit setgidt
- un poco pegajoso
En nuestro ejemplo, rw-r--r--
significa que el usuario puede leer y escribir el archivo y el grupo y otros solo pueden leer el archivo. El número 1
después de los caracteres de autorización es el número de enlaces físicos a este archivo.
Los siguientes dos root root
muestran el propietario del archivo y el grupo, seguidos del tamaño del archivo 445
, que se muestra en bytes. Utilice la -h
si desea imprimir formatos en un formato legible por humanos. Puede cambiar el propietario del archivo mediante el chown
May 5 12:11
es la fecha y hora en que se modificó por última vez el archivo.
La última columna es el nombre del archivo.
Mostrar archivos ocultos
De forma predeterminada, el ls
no mostrará archivos ocultos. En Linux, un archivo oculto es cualquier archivo que comience con un punto ( .
).
Para ver todos los archivos, incluidos los archivos ocultos, utilice la opción -a
ls -la ~/
drwxr-x--- 11 noviello noviello 4096 Feb 11 14:28.
drwxr-xr-x 12 noviello noviello 4096 Dec 22 03:28..
-rw------- 2 noviello noviello 1630 Nov 13 2018.bash_history
drwxr-xr-x 3 noviello noviello 4096 Jul 23 2018 bin
drwxr-xr-x 3 noviello noviello 4096 Jul 22 2018 Desktop
drwxr-xr-x 4 noviello noviello 4096 Dec 11 2018.npm
drwx------ 1 noviello noviello 4096 Mar 1 2018.ssh
Ordenar la salida
Como ya se mencionó, de forma predeterminada, el ls
enumera los archivos en orden alfabético.
La --sort
permite ordenar la salida por extensión, tamaño, hora y versión:
--sort=extension
(o-X
) - ordena alfabéticamente por extensión.--sort=size
(o-S
) - ordenar por tamaño de archivo.--sort=time
(o-t
) - ordenar por hora de modificación.--sort=version
(o-v
) - Clasificación natural de los números de versión.
Si desea obtener los resultados en orden inverso, use la opción -r
Por ejemplo, para ordenar archivos en el /var
por hora de modificación en orden inverso, use:
ls -ltr /var
Cabe mencionar que el ls
no muestra el espacio total ocupado por el contenido del directorio. Para obtener el tamaño de un directorio, use el du
Lista de subdirectorios de forma recursiva
La -R
indica al ls
que muestre de forma recursiva el contenido de los subdirectorios:
ls -R
Conclusión
El ls
enumera la información de archivos y directorios. Para obtener más información sobre ls
escriba en la terminal:
man ls