Conozco la ls
opción --group-directories-first
, pero eso no es exactamente lo que quiero lograr.
La salida debería ser: (ordenada por nombre ASC)
- Directorios
- Directorios ocultos
- Archivos ocultos
Respuesta1
Con GNU ls
(la -U
opción para indicar ls
que no se ordene la lista de archivos es una extensión de GNU):
ls -lUd -- *(/) .*(/) .*(^/)
Sin embargo, el problema es que si alguno de esos globos no coincide, el comando se cancelará, por lo que puedes hacer:
myls() (
setopt cshnullglob
ls -lUd -- *(/) .*(/) .*(^/)
)
Eso emula el csh
comportamiento por el cual los globos que no coinciden se expanden a nada siempre que haya al menos un globo que se expanda a algo en el comando.
Tenga en cuenta que zsh
los globos nunca se expanden .
y ..
, por lo que esos dos nunca se incluirán.