ls
A opção --group-directories-first
faz com que os diretórios sejam listados na parte superior, o que torna a saída ls
agradável e limpa:
ls -l --group-directories-first
No entanto, ele não age sobre symlinks
, que são, na verdade symlinks
aos diretórios. Existe a possibilidade de usar
ls -l -L --group-directories-first
que listará ambos os tipos de diretórios na parte superior, mas não fará distinção entre o diretório apropriado e o diretório vinculado, o que é novamente confuso.
Pode ls
exibir diretórios com links simbólicos na parte superior, mantendo-os distintos dos diretórios regulares?
EDIT:
eu estou usando bash
.
ls
. De acordo com astat()
chamada do sistema, um link simbólico para um diretório ainda é um diretório (S_ISDIR(st_mode)
retornará verdadeiro). Evidencialmentels
desconta os links simbólicos antes de verificar isso.ls
fazlstat()
(ereadlink
para links simbólicos) a menos que você use a-L
opção (caso em que ele usastat()
)S_ISLNK(st_mode)
também retornava verdadeiro viastat()
, mas isso não acontece - apenas o faz vialstat()
. Além disso, o ISLNK não retorna true via stat, mesmo que o link seja um link para um link. O que significa queISLNK
talvez nunca retorna true via stat, apesar de que é tipo de não especificada ...stat
fornece as propriedades do arquivo no final dos links simbólicos. Se isso não existir ou não estiver acessível,stat
retornará ENOENT; portanto, o que é retornadostat
nunca será um link simbólico.stat()
nunca vai dizer nada sobre links simbólicos, comoopen
nunca vai abrir o link simbólico, ouchmod()
não vai alterar as permissões de um link simbólico ... etc.Respostas:
Não, mas se estiver usando
zsh
, você pode fazer:Você também pode definir uma ordem de classificação globbing como:
e use-o como:
Dessa forma, você pode usá-lo para outros comandos que não sejam
ls
ou comls
opções diferentes, ou para padrões diferentes, como:ou:
Se você precisar usar
bash
, o equivalente seria o seguinte:bash
não possui qualificadores de globbing ou qualquer maneira de afetar a ordem de classificação dos globs, ou qualquer maneira de ativar o nullglob em uma base por glob ou ter contexto local para opções (exceto iniciar um subshell, portanto, em()
vez de{}
acima) AFAIK .fonte
bash
?