ls
La opción --group-directories-first
hace que los directorios aparezcan en la parte superior, lo que hace que la salida sea ls
agradable y limpia:
ls -l --group-directories-first
Sin embargo, no actúa symlinks
, que en realidad son symlinks
directorios. Existe la posibilidad de usar
ls -l -L --group-directories-first
que enumerará ambos tipos de directorios en la parte superior, pero no distinguirá entre el directorio adecuado y el directorio con enlace simbólico, lo que nuevamente es confuso.
¿Puede ls
mostrar directorios enlazados en la parte superior, mientras los mantiene distintos de los directorios normales?
EDITAR:
estoy usando bash
.
ls
. Según lastat()
llamada al sistema, un enlace simbólico a un directorio sigue siendo un directorio (S_ISDIR(st_mode)
devolverá verdadero). Evidentementels
descuenta los enlaces simbólicos antes de comprobar esto.ls
doeslstat()
(yreadlink
para enlaces simbólicos) a menos que use la-L
opción (en cuyo caso usastat()
)S_ISLNK(st_mode)
también devolvió la vía verdaderastat()
, pero no lo hace, solo lo hace a través delstat()
. Además, que ISLNK no devuelve verdadero a través de estadísticas, incluso si el enlace es un enlace a un enlace. Lo que significa queISLNK
la fuerza nunca se devuelve verdadero a través de estadísticas, a pesar de que es una especie de no especificados ...stat
le brinda las propiedades del archivo al final de los enlaces simbólicos. Si eso no existe o no es accesible,stat
devuelve ENOENT, por lo que lo que devuelvestat
nunca será un enlace simbólico.stat()
nunca le dirá nada sobre los enlaces simbólicos, al igualopen
que nunca abrirá el enlace simbólico, ochmod()
no cambiará los permisos de un enlace simbólico ... etc.Respuestas:
No, pero si lo usa
zsh
, podría hacer:También podría definir un orden de clasificación global como:
y úsalo como:
De esa manera, puede usarlo para otros comandos que no sean
ls
ols
con diferentes opciones, o para diferentes patrones como:o:
Si tiene que usar
bash
, el equivalente sería como:bash
no tiene calificadores de globbing ni ninguna forma de afectar el orden de clasificación de los globs, ni ninguna forma de convertir nullglob en una base por glob, o no tiene un contexto local para las opciones (aparte de comenzar una subshell, por lo tanto, en()
lugar de lo{}
anterior) AFAIK .fuente
bash
?