Comando ls de Linux

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ámetrosDescripción
-ao--allMuestra todos los archivos (incluidos los que empiezan por.los archivos ocultos al comienzo).
-Ao--almost-allMuestra todos los archivos excepto.y..todos los archivos que están fuera (incluidos los archivos ocultos).
-lLista los archivos en formato largo (información detallada) (permisos, propietario, tamaño, hora de modificación, etc.).
-ho--human-readabley-lCuando se usan juntos, muestra el tamaño de los archivos en formato legible para humanos (como KB, MB).
-tOrdenar por hora de modificación (los más recientes primero).
-ro--reverseOrden inverso (junto con-t、-Setc.).
-SOrdenar por tamaño de archivo (los más grandes primero).
-Ro--recursiveLista recursivamente el contenido de los subdirectorios.
-Fo--classifyAgrega un identificador después del nombre del archivo (como/indica directorio,*indica archivo ejecutable).
--colorSalida en color (generalmente habilitada por defecto,--color=auto)。
-io--inodeMuestra el número de inode del archivo.
-no--numeric-uid-gidMuestra UID y GID en forma numérica (en lugar de nombre de usuario y nombre de grupo).
-do--directoryMuestra solo el directorio en sí, no su contenido (a menudo se usa junto con-l)。
-1Muestra solo un archivo por línea (se habilita automáticamente cuando el ancho de la terminal es insuficiente por defecto).
-mMuestra los archivos en una lista separada por comas.
-Qo--quote-nameEncierra los nombres de archivo entre comillas (apropiado para nombres con espacios).
--group-directories-firstMuestra 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 -l                    # Muestra archivos y directorios en el directorio actual en formato largo
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.

Linux 命令大全Referencia completa de comandos de Linux

Otras extensiones