Eu não entendo bem por que o pensamento sobre este problema simples tem que ser tão complexo - mas talvez eu tenha acabado de fazer a pergunta do jeito errado. De qualquer forma: quando eu precisava de uma funcionalidade semelhante, usei:
ls -lL
Isso fez o truque no meu caso.
Na página ls
man:
-L, --dereference
when showing file information for a symbolic link,
show information for the file the link references
rather than for the link itself
Por exemplo, eu criei um atalho /media/stick
para acessar os dados no meu pendrive. ls -l /media/stick
mostrará o link real, enquanto ls -lL /media/stick
mostrará os conteúdos no pendrive.
Após uma pesquisa mais profunda sobre a diferença entre o funcionamento interno de -H
e -L
, finalmente encontrei um excelente artigo sobre esse assunto em Slowow Thoughts (até mesmo apresentando alguns truques de script de shell para o seu prazer!)
Isso aponta as diferenças sutis entre as duas opções (melhor do que o manual original faz!) como segue:
-
-H
- somente desreferencia os links explicitamente mencionados na linha de comando
-
-L
- links de referência, mesmo que não sejam mencionados na linha de comando
(Quando estes dois são usados com tarefas diárias simples, não deve haver diferença na saída em geral).
Além disso: Se você preferir lembrar-se da forma longa ( --option
), provavelmente é menos complicado memorizar --dereference
do que o monstro excessivamente longo de --dereference-command-line-symlink-to-dir
.