ls, dir, vdir - listan los contenidos de directorios
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] [--]
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.
- -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.
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.
- -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.
- --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.
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.
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.
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.