Isso usará o comando find
para recuperar arquivos de ponto e arquivos com o conjunto de sinalizadores "oculto".
Os arquivos correspondentes são alimentados como uma lista de argumentos em ls
via sed
(para remover o resultado ".", bem como os prefixos "./") e xargs
. Isso permite a especificação de parâmetros adicionais de ls
(por exemplo, -l
).
alias l.="find . \( -flags +hidden -or -name '.*' \) -maxdepth 1 | sed 's/^\.\/*//' | xargs ls -d"
A construção inteira é projetada para listar apenas o diretório atual ( -maxdepth 1
parameter para find
); se isso não for desejado, uma condicional precisará ser introduzida para verificar a opção -R
e suprimir a opção maxdepth
para find
de acordo.
Exemplo:
$ ls -alO
total 8
drwxr-xr-x 9 guido staff - 306 Apr 13 22:43 .
drwxr-xr-x+ 6 guido staff - 204 Apr 13 19:00 ..
drwxr-xr-x 2 guido staff - 68 Apr 13 22:43 .hiddendir
-rw-r--r-- 1 guido staff - 0 Apr 13 21:48 .xx
-rw-r--r-- 1 guido staff - 0 Apr 13 21:17 file
-rw-r--r-- 1 guido staff - 18 Apr 13 21:03 file.b
drwxr-xr-x@ 2 guido staff hidden 68 Apr 13 22:43 hidden2
-rw-r--r--@ 1 guido staff hidden 0 Apr 13 22:35 hide
drwxr-xr-x 2 guido staff - 68 Apr 13 21:51 tst
$ l.
.hiddendir .xx hidden2 hide
$ l. -alO
drwxr-xr-x 2 guido staff - 68 Apr 13 22:43 .hiddendir
-rw-r--r-- 1 guido staff - 0 Apr 13 21:48 .xx
drwxr-xr-x@ 2 guido staff hidden 68 Apr 13 22:43 hidden2
-rw-r--r--@ 1 guido staff hidden 0 Apr 13 22:35 hide