Lista el contenido de los directorios (por defecto ordena la salida alfabéticamente).
Su sintaxis es de la forma:
ls [opciones] [fichero...]
Alguna de sus opciones son:
-a todos los archivos, incluso los que comienzan con punto (.).
-A Lista todos los ficheros en los directorios, excepto los que comienzan con punto . (.) y los que comienzan con doble punto (..).
-F indica tipo: / directorio, * ejecutable, @ enlace simbólico.
-h indicará el tamaño en KB, MB, etc.
-l listado en formato largo (o detallado).
-S clasifica los contenidos de los directorios por tamaños, con los ficheros más grandes en primer lugar.
-r invierte el orden de la salida.
-R Lista recursivamente los subdirectorios encontrados.
-t ordenar por fecha de última modificación.
-u ordenar por fecha de último acceso.
-x presenta los ficheros por columnas.
-i precede la salida con el número de i-node (ver el comando ln).
En una salida del tipo ls -l
# ls -l total 12 -rw-r--r-- 1 root root 100 abr 6 21:19 archivo.txt drwxr-xr-x 3 root root 4096 abr 7 01:44 carpeta2 drwxr-xr-x 2 root root 4096 abr 6 22:19 carpeta3
El primer carácter de cada línea indica el tipo de fichero pudiendo ser:
- indica fichero regular.
d indica directorio.
l enlace simbólico (ver el comando ln).
c dispositivos de caracteres.
b dispositivos de bloques.
s conexiones con el dominio local.
p conexiones.
Los siguientes de a 3 caracteres, indican los permisos del: dueño u, grupo g y de los otros o.
Si la x del propietario es sustituida por una ese s indican que el bit de setuid (4000) está activado.
Si la x del grupo es sustituida por una s indican que el bit de setgid (2000) está activado.
Si la x del propietario es sustituida por una T indican que el bit de stick (1000) está activado.
Si no se han activado los bit de ejecución aparecerán en mayúsculas la letras S o la T
El segundo campo indica el contador de enlaces físicos de archivo.
El tercer y cuarto campo indican el propietario y el grupo propietario del fichero respectivamente.
El quinto campo indica el tamaño del fichero en kbs.
El sexto campo indica la fecha y hora de última modificación del fichero.
Ejemplos de salidas:
ls sin parámetros.
# ls archivo.txt carpeta2 carpeta3
ls con el parámetro -l
# ls -l total 12 -rw-r--r-- 1 root root 100 abr 6 21:19 archivo.txt drwxr-xr-x 3 root root 4096 abr 7 01:44 carpeta2 drwxr-xr-x 2 root root 4096 abr 6 22:19 carpeta3
ls con los parámetro -lh
# ls -lh total 12K -rw-r--r-- 1 root root 100 abr 6 21:19 archivo.txt drwxr-xr-x 3 root root 4,0K abr 7 01:44 carpeta2 drwxr-xr-x 2 root root 4,0K abr 6 22:19 carpeta3
ls -d */ lista solamente directorios que estén en el directorio actual.
# ls -d */ carpeta2/ carpeta3/
ls -AR ./ | wc -l cuenta la cantidad de archivos existentes en el directorio actual y en los subdirectorios. Cuenta incluso las carpetas y archivos que empiezan por punto. Un comando similar es find . -type f | wc -l
# ls -AR ./ | wc -l 4633
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' lista solamente carpetas en modo árbol.
# ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' . |-carpeta2 |---supcarpeta2 |-carpeta3
Ver el comando: chmod para cambiar los permisos de ficheros y directorios y ver lsattr para listar los atributos especiales y alias para poder crear alias como alias ll='ls -f'
que hace el comando $ ls -l | grep archivo.txt