En informática , lses un comando para listar archivos y directorios de computadoras en sistemas operativos Unix y similares . Está especificado por POSIX y la Especificación Única de UNIX .
Está disponible en el shell EFI , [1] como un paquete separado para Microsoft Windows como parte de la colección UnxUtils de puertos Win32 nativos de utilidades comunes tipo Unix de GNU , [2] o como parte de las herramientas MSX-DOS2 de ASCII para MSX-DOS versión 2. [3]
Los entornos de cálculo numérico MATLAB y GNU Octave incluyen una ls
función con funcionalidad similar. [4] [5]
En otros entornos, como DOS , OS/2 y Microsoft Windows , el comando proporciona una funcionalidad similar dir.
Historia
Una lsutilidad apareció en la primera versión de AT&T UNIX , el nombre heredado de un comando similar en Multics también llamado 'ls', abreviatura de la palabra "lista". [6] [7] [8] ls es parte de la Guía de Portabilidad X/Open desde la edición 2 de 1987. Fue heredado en la primera versión de POSIX.1 y la Especificación Única Unix . [9]
Comportamiento
Los sistemas operativos Unix y similares mantienen la idea de un directorio de trabajo . Cuando se invoca sin argumentos , lsenumera los archivos en el directorio de trabajo. Si se especifica un directorio como argumento, se enumeran los archivos en ese directorio; si se especifica un archivo, se enumera ese archivo. Se pueden especificar múltiples directorios y archivos.
En muchos sistemas similares a Unix, los nombres que comienzan con un punto ( .) están ocultos . Algunos ejemplos son ., que hace referencia al directorio de trabajo, y .., que hace referencia a su directorio padre. Los nombres ocultos no se muestran de forma predeterminada. Con -a, se muestran todos los nombres, incluidos los nombres ocultos. Con , -Ase muestran todos los nombres, incluidos los nombres ocultos, excepto .y ... Los nombres de archivo especificados explícitamente (por ejemplo ls .secret) siempre se enumeran.
Sin opciones, lssolo muestra los nombres. Las distintas implementaciones tienen distintas opciones, pero las más comunes son:
-lFormato largo, que muestra los tipos de archivos Unix , permisos, número de enlaces físicos , propietario, grupo, tamaño, fecha y hora de la última modificación y nombre. Si la fecha de modificación es anterior a 6 meses, la hora se reemplaza por el año. Algunas implementaciones agregan indicadores adicionales a los permisos. El tipo de archivo puede ser uno de los 8 caracteres siguientes:-, archivo normal;d, directorio;l, enlace simbólico (suave) ;n, archivos de red ;s, socket ;p, canalización con nombre (FIFO);c, archivo especial de caracteres ;b, archivo especial de bloques .-hTamaños de salida en formato legible para humanos (por ejemplo, 1K ( kilobytes ), 234M ( megabytes ), 2G ( gigabytes )). Esta opción no es parte del estándar POSIX, aunque se implementó en varios sistemas, por ejemplo, GNU coreutils en 1997, [10] FreeBSD 4.5 en 2002, [11] y Solaris 9 en 2002. [12]
Las opciones adicionales que controlan cómo se muestran los elementos incluyen:
-RListar recursivamente elementos en subdirectorios.-tOrdenar la lista por hora de modificación (el orden predeterminado es alfabético).-uOrdenar la lista por hora del último acceso.-cOrdenar la lista por hora del último cambio del atributo (estado).-rInvierta el orden, por ejemplo, la hora más reciente, la última.--full-timeMuestra los tiempos hasta el segundo y milisegundo en lugar de sólo el minuto.-1Una entrada por línea.-mFormato de flujo; enumera elementos a lo largo de la página, separados por comas.-gIncluye grupo pero no propietario.-oIncluye propietario pero no grupo (cuando se combina con-ggrupo y propietario se suprimen).-dMuestra información sobre un directorio o enlace simbólico, en lugar del contenido de un directorio o el destino del enlace.-FAgregue un "/" a los nombres de directorio y un "*" a los archivos ejecutables.
Es posible resaltar distintos tipos de elementos con distintos colores. Esta es un área en la que las implementaciones difieren:
- GNU
lsutiliza la--coloropción [13] ; verifica el tipo de archivo Unix, los permisos de archivo y la extensión de archivo y utiliza su propia base de datos para controlar los colores mantenidos mediante dircolors. - FreeBSD
lsutiliza esta-Gopción; solo verifica el tipo de archivo Unix y los permisos de archivo y utiliza la base de datos termcap [14]
Cuando se selecciona la opción de usar color para indicar los tipos de elementos, el resultado podría verse así:
-rw-r--r-- 1 tsmitt nregion 26650 20 dic 11:16 audio.ogg brw-r--r-- 1 tsmitt nregion 64 27 ene 05:52 bd-block-device crw-r--r-- 1 tsmitt nregion 255 26 ene 13:57 cd-character-device -rw-r--r-- 1 tsmitt nregion 290 26 ene 14:08 image.png drwxrwxr-x 2 tsmitt nregion 48 26 ene 11:28 di-directory -rwxrwxr-x 1 tsmitt nregion 29 26 ene 14:03 ex-ejecutable -rw-r--r-- 1 tsmitt nregion 0 dic 20 09:39 fi-regular-file lrwxrwxrwx 1 tsmitt nregion 3 26 ene 11:44 ln-soft-link -> dir lrwxrwxrwx 1 tsmitt nregion 15 dic 20 10:57 or-orphan-link -> mi-missing-link drwxr-xrwx 2 tsmitt nregion 4096 dic 20 10:58 ow-other-writeable-dir prw-r--r-- 1 tsmitt nregion 0 26 ene 11:50 pi-pipe -rwxr-sr-x 1 tsmitt nregion 0 dic 20 11:05 sg-setgid srw-rw-rw- 1 tsmitt nregion 0 26 ene 12:00 so-socket drwxr-xr-t 2 tsmitt nregion 4096 20 dic 10:58 st-sticky-dir -rwsr-xr-x 1 tsmitt nregion 0 20 dic 11:09 su-setuid -rw-r--r-- 1 tsmitt nregion 10240 20 dic 11:12 compression.gz drwxrwxrwt 2 tsmitt nregion 4096 20 dic 11:10 tw-sticky-other-writeable-dir
Ejemplo de uso
El siguiente ejemplo demuestra la salida del comando:
$ ls -l
drwxr--r-- 1 fjones editors 4096 2 mar 12:52 borradores
-rw-r--r-- 3 fjones editors 30405 2 mar 12:52 edición-32
-r-xr-xr-x 1 fjones contables 8460 16 ene 2022 edit.sh
Cada línea muestra el indicador d(directorio) o -(archivo), la notación de permisos de archivo de Unix , la cantidad de enlaces duros (1 o 3), el propietario del archivo, el grupo del archivo, el tamaño del archivo, la fecha y hora de modificación y el nombre del archivo. En el directorio de trabajo, el propietario fjonestiene un directorio llamado drafts, un archivo normal llamado edition-32y un ejecutable llamado edit.shque es "antiguo", es decir, modificado hace más de 6 meses, como lo indica la visualización del año.
┌─────────── archivo (no un directorio)
|┌─────────── permisos de lectura y escritura (sin ejecución) para el propietario
|│ ┌───────── permisos de solo lectura para el grupo
|│ │ ┌─────── permisos de solo lectura para otros
|│ │ │ ┌── número de enlaces físicos
|│ │ │ │ ┌── propietario
|│ │ │ │ │ ┌── grupo de usuarios
|│ │ │ │ │ │ ┌── tamaño del archivo en bytes
|│ │ │ │ │ │ │ ┌── última modificación el
|│ │ │ │ │ │ │ │ ┌── nombre de archivo
-rw-r--r-- 3 fjones editores 30405 2 de marzo 12:52 edición-32
Véase también
- estadística (Unix)
- chown
- grupo de cambios
- de (Unix)
- mdls
- Identificador de usuario (Unix)
- Identificador de grupo (Unix)
- Lista de comandos de Unix
- Estructura de directorios de Unix
Referencias
- ^ "EFI Shells and Scripting". Intel . Archivado desde el original el 27 de septiembre de 2013 . Consultado el 25 de septiembre de 2013 .
- ^ "Puertos Win32 nativos de algunas utilidades GNU". unxutils.sourceforge.net .
- ^ "Manual del usuario de herramientas MSX-DOS2 - HERRAMIENTAS MSX-DOS2 ユ ー ザ ー ズ マ ニ ュ ア ル". 1 de abril de 1993 - vía Internet Archive.
- ^ "Listar el contenido de la carpeta - MATLAB ls".
- ^ "Referencia de función: Ls". Octave Forge .
- ^ "Página del manual de Multics para el comando ls o list". 14 de febrero de 1985.
- ^ Fischer, Eric. "Una breve historia del comando 'ls'". Proyecto de documentación de Linux .
- ^ "Manual del programador de Multics - Comandos y funciones activas" (PDF) . pág. 397.
- ^ – Referencia de shell y utilidades, La especificación única de UNIX , versión 4 de The Open Group
- ^ "(decode_switches): -h y -H anulan las unidades de salida". coreutils.git. 31 de diciembre de 1997.
- ^ "[base] Registro de /stable/10/bin/ls/ls.c". 28 de diciembre de 2001.
- ^ Novedades en el entorno operativo Solaris 9, Sun Microsystems, 2002
- ^ "Formato de salida general (GNU Coreutils 9.1)". www.gnu.org . Consultado el 7 de enero de 2023 .
- ^ "Páginas del manual de FreeBSD — ls" . Consultado el 23 de junio de 2013 .
Enlaces externos
- – Referencia de shell y utilidades, la especificación única de UNIX , versión 4 de The Open Group
- – Manual de comandos generales de FreeBSD
- – Manual de comandos generales de NetBSD
- – Manual de comandos generales de OpenBSD
- – Manual de referencia de comandos de usuario de Solaris 11.4
- – Manual de usuario de Linux – Comandos de usuario
- – Manual del programador de Plan 9 , volumen 1
- – Manual de comandos generales de Inferno
- Código fuente de GNU ls (como parte de coreutils)
- ls en la wiki de LinuxQuestions.org