NOMBRE¶
ls, dir, vdir - listan los contenidos de directorios
SINOPSIS¶
ls [opciones] [fichero...]
dir [fichero...]
vdir [fichero...]
Opciones de POSIX:
[-CFRacdilqrtu1]
Opciones de GNU (en la forma más corta):
[-1abcdfghiklmnopqrstuvwxABCDFGHLNQRSUX] [-w cols]
[-T cols] [-I patrón]
[--full-time] [--show-control-chars]
[--block-size=tamaño]
[--format={long,verbose,commas,across,vertical,single-column}]
[--sort={none,time,size,extension}]
[--time={atime,access,use,ctime,status}]
[--color[={none,auto,always}]] [--help] [--version] [--]
DESCRIPCIÓN¶
El programa
ls lista primero sus argumentos no directorios
fichero, y luego para cada argumento directorio todos los ficheros
susceptibles de listarse contenidos en dicho directorio. Si no hay presente
ningún argumento aparte de las opciones, se supone un argumento
predeterminado `.' (el directorio de trabajo). La opción -d hace que los
directorios se traten como argumentos no directorios; es decir, como ficheros
normales. Un fichero es susceptible de listarse cuando su nombre no comienza
con `.' o cuando se da la opción -a (o -A, vea más abajo).
Cada una de las listas de ficheros (las de ficheros no directorios, y para cada
directorio la lista de ficheros de dentro) se clasifica separadamente
según la secuencia de clasificación en la localización en
curso. Cuando se da la opción -l, cada lista se precede por una
línea de sumario que da el tamaño total de todos los ficheros en la
lista, medidos en semi-kilobytes (512 B).
La salida es a la salida estándar, una entrada por cada línea, a menos
que se pida una salida multi-columna mediante la opción -C. Sin embargo,
para la salida en una terminal, no está definido si la salida será
en una sola columna o en varias. Las opciones -1 y -C se pueden emplear para
forzar la salida en una o en varias columnas, respectivamente.
OPCIONES DE POSIX¶
- -C
- Lista los ficheros en columnas, ordenados
verticalmente.
- -F
- Añade tras cada nombre de directorio un `/', tras cada
nombre de FIFO un `|', y tras cada nombre de un ejecutable un `*'.
- -R
- Lista recursivamente los subdirectorios encontrados.
- -a
- Incluye en el listado ficheros cuyos nombres empiecen por
`.'.
- -c
- Emplea el tiempo de cambio de estado en vez del de
modificación para la clasificación (con -t) o el listado (con
-l).
- -d
- Lista nombres de directorios como otros ficheros, en vez de
listar sus contenidos.
- -i
- Precede la salida para el fichero por el número de
serie del fichero (número-í o número de nodo-í).
- -l
- Escribe (en formato de una sola columna) los permisos del
fichero, el número de enlaces que tiene, el nombre del propietario,
el del grupo al que pertenece, el tamaño (en bytes), una marca de
tiempo, y el nombre del fichero. De forma predeterminada, la marca de
tiempo que se muestra es la de la última modificación; las
opciones -c y -u seleccionan las otras dos que hay. Para ficheros
especiales de dispositivo el campo de tamaño se reemplaza
comúnmente por los números de dispositivo mayor y menor.
- -q
- Imprime los caracteres no imprimibles que haya en un nombre
de fichero como signos de interrogación `?'. (Se permite que esto sea
lo predeterminado cuando la salida es una terminal.)
- -r
- Invierte el orden de la clasificación.
- -t
- Clasifica por la marca de tiempo mostrada.
- -u
- Emplea el tiempo de último acceso en vez del de
modificación para la clasificación (con -t) o el listado (con
-l).
- -1
- Para la salida en una sola columna.
DETALLES DE GNU¶
Si la salida estándar es una terminal, la salida es en columnas (ordenadas
verticalmente).
dir (también instalado como
d) es equivalente a
`ls -C -b'; esto es, los ficheros se listan de forma predeterminada
en columnas, ordenadas verticalmente.
vdir (también instalado como
v) es equivalente a `ls -l -b'; esto es, los ficheros se
listan de forma predeterminada en el formato largo.
OPCIONES DE GNU¶
- -1, --format=single-column
- Lista un fichero por línea. Esto es lo predeterminadao
cuando la salida estándar no es una terminal.
- -a, --all
- Lista todos los ficheros en directorios, incluyendo todos
los ficheros cuyos nombres comiencen por `.'.
- -b, --escape, --quoting-style=escape
- Muestra los caracteres no gráficos en nombres de
ficheros empleando secuencias de escape alfabéticas y octales como
las empleadas en el lenguaje C. Esta opción es la misma que -Q
salvo que no se delimintan los nombres de fichero por comillas
dobles.
- -c, --time=ctime, --time=status
- Clasifica los contenidos del directorio de acuerdo con los
tiempos de cambio de estado de los ficheros (el `ctime' en el
nodo-í). Si el formato de listado largo se está empleando
(-l) muestra el tiempo de cambio de estado en vez del de
modificación.
- -d, --directory
- Lista nombres de directorios como otros ficheros, en vez de
listar sus contenidos.
- -f
- No ordena los contenidos del directorio; los lista en el
orden en que estén almacenados en el disco. También activa
-a y -U y desactiva -l, --color, -s y
-t si se especificaron antes de -f.
- -g
- No hace nada; por compatibilidad con otras versiones de
Unix.
- -h, --human-readable
- Añade una letra indicativa de tamaño, tal como
M para megabytes binarios (`mebibytes'), a cada tamaño. (Nueva
en fileutils-4.0.)
- -i, --inode
- Muestra el número de nodo-í (también llamado
el número de serie del fichero o el número índice o
número-í) de cada fichero a la izquierda de su nombre. (Este
número identifica de forma inequívoca a cada fichero dentro de
un sistema de ficheros particular.)
- -k, --kilobytes
- Si se están listando los tamaños de ficheros, los
muestra en kilobytes.
- -l, --format=long, --format=verbose
- Además del nombre de cada fichero, muestra el tipo del
fichero, los permisos, el número de enlaces duros, el nombre del
propietario, el del grupo al que pertenece, el tamaño en bytes, y la
marca de tiempo (el tiempo de modificación a menos que se seleccione
otro). Para ficheros con un tiempo de más de 6 meses o de más de
1 hora en el futuro, la marca de tiempo contiene el año en lugar de
la hora del día.
Para cada directorio que se liste, escribe antes de los ficheros una
línea `total bloques', donde bloques es el espacio de
disco total usado por todos los ficheros en ese directorio. Por
omisión, se emplean bloques de 1024 bytes; si la variable de entorno
POSIXLY_CORRECT está definida, se usan bloques de 512 bytes (a
menos que se haya dado la opción -k). Los bloques
computados cuentan cada enlace duro separadamente; esto es discutiblemente
una deficiencia.
Los permisos listados son similares a especificaciones de modo
simbólico, pero ls combina varios bits en el tercer
carácter de cada conjunto de permisos.
- s
- Si están activados tanto el bit SETUID o SETGID como
el correspondiente de ejecutable.
- S
- Si está activado el bit SETUID o SETGID pero no el
correspondiente de ejecutable.
- t
- Si tanto el bit pegajoso (STI) como el ejecutable para
`otros' están activados.
- T
- Si el bit STI o pegajoso está activado pero el
ejecutable para `otros' no lo está.
- x
- Si el bit ejecutable está activado y no se aplica nada
de lo anterior.
- -
- Otra cosa (no hay permiso).
- -m, --format=commas
- Lista los ficheros horizontalmente, con tantos como quepan
en cada línea, separados unos de otros por una coma y un
espacio.
- -n, --numeric-uid-gid
- Lista los UID y GID numéricos en vez de los
nombres.
- -o
- Produce listados de directorio en el formato largo, pero no
muestra información de grupo, como la opción -l antigua. Es
equivalente a emplear --format=long --no-group. Esta opción se
proporciona por compatibilidad con otras versiones de ls.
- -p, --file-type, --indicator-style=file-type
- Añade un carácter a cada nombre de fichero
indicando el tipo del fichero. Esto es como -F salvo en que los
ejecutables no se marcan. (De hecho, fileutils-4.0 trata la opción
--file-type como --classify.)
- -q, --hide-control-chars
- Muestra signos de interrogación `?' en vez de
caracteres no gráficos en nombres de ficheros. Esto es el
comportamiento predeterminado.
- -r, --reverse
- Clasifica los contenidos de directorios en orden
inverso.
- -s, --size
- Muestra el tamaño de cada fichero en bloques de 1024
bytes a la izquierda del nombre. Si la variable de entorno
POSIXLY_CORRECT está definida, se emplean en su lugar bloques
de 512 bytes, a menos que se haya dado la opción -k.
- -t, --sort=time
- Clasifica por el tiempo de modificación (el `mtime' en
el nodo-í) en vez de alfabéticamente, con los ficheros más
recientes en primer lugar.
- -u, --time=atime, --time=access, --time=use
- Clasifica los contenidos de los directorios de acuerdo con
los tiempos de último acceso de los ficheros en vez de los de
modificación (el `atime' en el nodo-í). Si se está
empleando el formato de listado largo, muestra el tiempo de último
acceso en vez del de modificación.
- -v
- Clasifica los contenidos de los directorios de acuerdo a la
versión de los ficheros. Esto tiene en cuenta el hecho de que los
nombres de los ficheros incluyen con frecuencia índices o
números de versión. Las funciones de ordenación
estándares no producen normalmente el orden que la gente espera ya
que las comparaciones se hacen carácter a carácter. La
ordenación por versión soluciona este problema, siendo
especialmente útil cuando se recorren directorios que contienen
muchos ficheros con índices/número de versión en sus
nombres. Por ejemplo:
> ls -1 > ls -1v
foo.zml-1.gz foo.zml-1.gz
foo.zml-100.gz foo.zml-12.gz
foo.zml-12.gz foo.zml-25.gz
foo.zml-25.gz foo.zml-100.gz
También dese cuenta que las partes numéricas con ceros a la
izquierda se consideran como fraccionarias:
> ls -1 > ls -1v
abc-1.007.tgz abc-1.007.tgz
abc-1.012b.tgz abc-1.01a.tgz
abc-1.01a.tgz abc-1.012b.tgz
(Nueva en fileutils-4.0.)
- -w, --width cols
- Asume que la pantalla tiene cols columnas de ancho.
El valor predeterminado se toma del controlador de terminal si es posible;
si no, se emplea la variable de ambiente COLUMNS si está
definida; de otro modo el valor predeterminado es 80.
- -x, --format=across, --format=horizontal
- Lista los ficheros en columnas, ordenados
horizontalmente.
- -A, --almost-all
- Lista todos los ficheros en los directorios, excepto `.' y
`..'.
- -B, --ignore-backups
- No lista los ficheros que acaben en `~', a menos que se den
sus nombres en la línea de órdenes como argumentos.
- -C, --format=vertical
- Lista ficheros en columnas, ordenadas verticalmente. Esto
es lo predeterminado si la salida estándar es una terminal. Siempre
es el comportamiento predeterminado también para dir y
d.
- -D, --dired
- Con el formato de listado largo (-l), imprime una
línea adicional tras la salida principal:
//DIRED// COM1 FIN1 COM2 FIN2 ...
Los COMn y FINn son enteros positivos que guardan la
posición en bytes del COMienzo y el FINal respectivamente de cada
nombre de fichero en la salida. Esto hace más fácil a Emacs
encontrar los nombres, incluso si contienen caracteres inusuales como
espacios o nuevas-líneas, sin tener que andar buscando.
Si los directorios se están listando recursivamente (-R),
muestra una línea similar tras cada subdirectorio:
//SUBDIRED// COM1 FIN1 ...
- -F, --classify, --indicator-style=classify
- Añade un carácter a cada nombre de fichero
indicando el tipo del fichero. Para ficheros regulares que sean
ejecutables, añade un `*'. Los indicadores de tipos de ficheros son
`/' para directorios, `@' para enlaces simbólicos, `|' para FIFOs,
`=' para conectores, y nada para ficheros regulares.
- -G, --no-group
- Inhibe la salida de información de grupo en un listado
de directorio en formato largo.
- -H, --si
- Hace lo mismo que -h pero usa las unidades oficiales
del SI (con potencias de 1000 en vez de 1024, por lo que M significa
1000000 en lugar de 1048576). (Nueva en fileutils-4.0.)
- -I, --ignore=patrón
- No lista los ficheros cuyos nombres concuerden con el
patrón del shell patrón (esto no es una expresión
regular) a menos que se den en la línea de órdenes como
argumentos. Como en el shell, un `.' inicial en un nombre de fichero no
concuerda con un comodín al principio de patrón.
- -L, --dereference
- Lista la información del fichero correspondiente a un
enlace simbólico en lugar de la del mismo enlace.
- -N, --literal
- No hace nada con los caracteres no gráficos en nombres
de ficheros; los muestra en la salida tal cual.
- -Q, --quote-name, --quoting-style=c
- Encierra los nombres de ficheros entre comillas dobles y
muestra los caracteres no gráficos de sus nombres como en el lenguaje
C.
- -R, --recursive
- Lista los contenidos de todos los directorios
recursivamente.
- -S, --sort=size
- Clasifica los contenidos de los directorios por los
tamaños de los ficheros en vez de alfabéticamente, con los
ficheros más grandes en primer lugar.
- -T, --tabsize=cols
- Asume que cada parada de tabulación está a
cols columnas de ancho; el valor predeterminado es 8. ls
emplea tabuladores donde es posible en la salida, por eficiencia. Si
cols es cero, no usa tabuladores para nada.
- -U, --sort=none
- No clasifica los contenidos de directorios; los lista en el
orden en que estén almacenados en el disco. (La diferencia entre
-U y -f es que el primero no desactiva o activa opciones.)
Esto es especialmente de utilidad cuando se listen directorios muy
grandes, puesto que al no efectuar ninguna ordenación puede ir
bastante más rápido.
- -X, --sort=extension
- Clasifica los contenidos del directorio
alfabéticamente por las extensiones de los ficheros (caracteres tras
el último `.'); los ficheros sin extensión se ponen en primer
lugar.
- --block-size=tamaño
- Muestra los tamaños en bloques de tamaño
bytes. (Nueva en fileutils-4.0.)
- --color[=cuándo]
- Especifica si emplear color para distinguir tipos de
ficheros. Los colores se especifican mediante la variable de entorno
LS_COLORS. Para información acerca de cómo definir esta
variable, consulte dircolors(1). cuándo puede omitirse,
o ser uno de:
- none
- No emplear color en absoluto. Esto es lo
predeterminado.
- auto
- Emplear color solamente si la salida estándar es una
terminal.
- always
- Emplear color siempre. Especificar --color y no
cuándo es equivalente a --color=always.
- --full-time
- Lista los tiempos al completo, en vez de emplear los
métodos heurísticos para las abreviaturas normales. El formato
es el mismo que el predeterminado de date(1); no es posible cambiar
esto, pero uno puede extraer la cadena de fecha con cut(1) y luego
pasar el resultado a `date -d'.
Esto es mayormente de utilidad porque la salida de tiempo incluye los
segundos. (Los sistemas de ficheros de Unix almacenan las marcas de tiempo
solamente al segundo más cercano, de forma que esta opción
muestra toda la información que hay.) Por ejemplo, esto puede ayudar
cuando uno tiene un Makefile que no esté regenerando correctamente
los ficheros.
- --quoting-style=word
- Usa el estilo word para entrecomillar los nombres de
salida. El parámetro word debe ser uno de los siguientes:
- literal
- Muestra los nombres "tal cual". Éste es el
comportamiento por omisión de ls.
- shell
- Entrecomilla los nombres para el intérprete de
órdenes si estos contienen metacaracteres del intérprete de
órdenes o si pueden producir una salida ambigüa.
- shell-always
- Entrecomilla los nombres para el intérprete de
órdenes, aunque cuando, normalmente, no necesitaran
entrecomillarse.
- c
- Entrecomilla los nombres como si fueran una cadena en C.
Esto es lo mismo que la opción -Q.
- escape
- Entrecomilla como con c pero omite las comillas
dobles que delimitan el nombre. Esto es lo mismo que la opción
-b.
Se puede especificar un valor por omisión para esta opción con la
variable de entorno QUOTING_STYLE. (Véase
ENTORNO más
abajo.)
- --show-control-chars
- Muestra los caracteres no gráficos "tal
cual" en los nombres de los ficheros. Esto es lo que suele ocurrir a
menos que la salida sea una terminal y el programa sea ls.
OPCIONES ESTÁNDARES DE GNU¶
- --help
- Muestra un mensaje en la salida estándar sobre el modo
de empleo y acaba con estado de éxito.
- --version
- Muestra en la salida estándar información sobre
la versión, y luego acaba con estado de éxito.
- --
- Termina con la lista de opciones.
ENTORNO¶
La variable POSIXLY_CORRECT determina la elección de la unidad. Si no
está definida, entonces la variable TABSIZE determina el número de
caracteres por cada parada de tabulador. La variable COLUMNS (cuando contiene
la representación de un entero en base 10) determina la anchura de
columna de salida (para el empleo con la opción -C). Los nombres de
ficheros no deben ser truncados para que quepan en una salida multi-columna.
Las variables LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES y LC_TIME tienen
los significados usuales. La variable TZ da el huso horario para cadenas de
tiempo escritas por
ls. La variable LS_COLORS se emplea para
especificar los colores empleados.
La variable QUOTING_STYLE se usa para especificar el valor por omisión para
la opción
--quoting-style. Su valor actual por omisión es
literal, aunque los autores han advertido que podría cambiar a
shell en alguna versión futura de
ls.
FALLOS¶
En sistemas BSD, la opción
-s da tamaños que son la mitad de
los valores correctos para ficheros que están montados por NFS desde
sistemas HP-UX. En sistemas HP-UX, da tamaños que son el doble de los
valores correctos para ficheros que están montados por NFS desde sistemas
BSD. Esto es debido a un defecto de HP-UX; también afecta al programa
ls de HP-UX.
POSIX 1003.2.
VÉASE TAMBIÉN¶
dircolors(1)
OBSERVACIONES¶
Esta página describe
ls según se encuentra en el paquete
fileutils-4.0; otras versiones pueden diferir un poco. Envíe por correo
electrónico correcciones y adiciones a la dirección aeb@cwi.nl.
Informe de fallos en el programa a fileutils-bugs@gnu.ai.mit.edu.