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
does lstat()
(y readlink
para enlaces simbólicos) a menos que use la -L
opción (en cuyo caso usa stat()
)
S_ISLNK(st_mode)
también devolvió la vía verdadera stat()
, pero no lo hace, solo lo hace a través de lstat()
. 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 que ISLNK
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 devuelve stat
nunca será un enlace simbólico. stat()
nunca le dirá nada sobre los enlaces simbólicos, al igual open
que nunca abrirá el enlace simbólico, o chmod()
no cambiará los permisos de un enlace simbólico ... etc.
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.