Comando ls de Linux
Referencia completa de comandos de Linux
Linux ls(En inglés: list directory contents) El comando se usa para mostrar el contenido del directorio de trabajo especificado (lista los archivos y subdirectorios contenidos en el directorio de trabajo actual).
Sintaxis
ls [-alrtAFR] [name...]
Parámetros:
| Parámetros | Descripción |
|---|---|
-ao--all | Muestra todos los archivos (incluidos los que empiezan por.los archivos ocultos al comienzo). |
-Ao--almost-all | Muestra todos los archivos excepto.y..todos los archivos que están fuera (incluidos los archivos ocultos). |
-l | Lista los archivos en formato largo (información detallada) (permisos, propietario, tamaño, hora de modificación, etc.). |
-ho--human-readable | y-lCuando se usan juntos, muestra el tamaño de los archivos en formato legible para humanos (como KB, MB). |
-t | Ordenar por hora de modificación (los más recientes primero). |
-ro--reverse | Orden inverso (junto con-t、-Setc.). |
-S | Ordenar por tamaño de archivo (los más grandes primero). |
-Ro--recursive | Lista recursivamente el contenido de los subdirectorios. |
-Fo--classify | Agrega un identificador después del nombre del archivo (como/indica directorio,*indica archivo ejecutable). |
--color | Salida en color (generalmente habilitada por defecto,--color=auto)。 |
-io--inode | Muestra el número de inode del archivo. |
-no--numeric-uid-gid | Muestra UID y GID en forma numérica (en lugar de nombre de usuario y nombre de grupo). |
-do--directory | Muestra solo el directorio en sí, no su contenido (a menudo se usa junto con-l)。 |
-1 | Muestra solo un archivo por línea (se habilita automáticamente cuando el ancho de la terminal es insuficiente por defecto). |
-m | Muestra los archivos en una lista separada por comas. |
-Qo--quote-name | Encierra los nombres de archivo entre comillas (apropiado para nombres con espacios). |
--group-directories-first | Muestra primero los directorios y luego los archivos. |
--time-style=<格式> | Personaliza el formato de visualización de la hora (por ejemplo,+%Y-%m-%d)。 |
Ejemplo
ls -a # Muestra todos los archivos y directorios del directorio actual, incluidos los ocultos
ls -lh # Muestra el tamaño de los archivos y directorios del directorio actual de forma legible para humanos
ls -t # Muestra archivos y directorios del directorio actual ordenados por hora de modificación
ls -R # Muestra recursivamente todos los archivos y subdirectorios del directorio actual
ls -l /etc/passwd # Muestra la información detallada del archivo /etc/passwd
Ejemplo
Lista detalladamente todos los archivos del directorio actual (incluidos los ocultos):
ls -la
Ordena los archivos en orden inverso por tamaño (los más grandes primero):
ls -lShr
Lista recursivamente el contenido del directorio /var/log y muestra el tamaño de archivo legible para humanos:
ls -lhR /var/log
Muestra solo información detallada del directorio (sin recursión):
ls -ld /etc
Ordena por hora de modificación (los archivos más recientes se muestran al final):
ls -ltr
Lista todos los directorios del directorio raíz:
# ls / bin dev lib media net root srv upload www boot etc lib64 misc opt sbin sys usr home lost+found mnt proc selinux tmp var
Lista los detalles de todos los directorios y archivos bajo el directorio /bin:
ls -lR /bin
Cuando el nombre de un archivo contiene espacios, caracteres especiales o comienza con un guión, se puede usar la barra invertida (\) para escapar, o usar comillas para encerrar el nombre del archivo. Por ejemplo:
ls "my file.txt" # 列出文件名为"my file.txt"的文件 ls my\ file.txt # 列出文件名为"my file.txt"的文件 ls -- -filename # 列出文件名为"-filename"的文件
El comando ls también puede usar comodines para la coincidencia de patrones, por ejemplo*significa coincidir cualquier carácter,?significa coincidir un solo carácter,[...]significa coincidir caracteres dentro de un rango especificado. Por ejemplo:
ls *.txt # 列出所有扩展名为.txt的文件 ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符 ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件
Lista todos los archivos en el directorio de trabajo actual cuyos nombres comienzan con s, los más recientes al final:
ls -ltr s*
Al usarls -lel comando, el primer carácter de la primera columna indica el tipo y los permisos del archivo o directorio. El primer carácter indica el tipo de archivo, por ejemplo:
- - indica un archivo normal
- d indica un directorio
- l indica un enlace simbólico
- c indica un archivo de dispositivo de caracteres
- b indica un archivo de dispositivo de bloques
- s indica un archivo de socket
- p indica un archivo de tubería (pipe)
Al usarls -lel comando, los 9 caracteres restantes de la primera columna representan los permisos de acceso del archivo o directorio, correspondiendo respectivamente a grupos de tres caracteresrwxpermisos. Por ejemplo
:- r indica permiso de lectura
- w indica permiso de escritura
- x indica permiso de ejecución
- - indica que no hay permiso correspondiente
Los primeros tres caracteres representan los permisos del propietario, los tres del medio representan los permisos del grupo y los tres últimos representan los permisos de otros usuarios. Por ejemplo:
-rw-r--r-- 1 user group 4096 Feb 21 12:00 file.txt
Indica que el archivo llamado file.txt tiene propietario con permisos de lectura y escritura, mientras que el grupo y otros usuarios solo tienen permiso de lectura.
Buscar los archivos modificados más recientemente:
ls -lt | head -5
Muestra los 5 archivos modificados más recientes.
Contar el número de archivos:
ls | wc -l
Cuenta el número de archivos en el directorio actual (sin incluir archivos ocultos).
Notas
El color de salida del comando ls se puede controlar con la opción --color:
- Azul: directorio
- Verde: archivo ejecutable
- Rojo: archivo comprimido
- Cian: archivo de enlace
- Amarillo: archivo de dispositivo
Al usar ls en scripts, hay que tener en cuenta que analizar directamente la salida de ls puede no ser fiable; se recomienda usar otros métodos.
El comando ls puede tener diferencias sutiles entre distintas distribuciones de Linux; se puedeman lsconsultar el documento de ayuda específico.