Não entendo por que o pensamento sobre esse problema simples tem que ser tão complexo - mas talvez eu tenha entendido a pergunta da maneira errada. Enfim: quando eu precisava de uma funcionalidade semelhante, eu usava:
ls -lL
Isso fez o truque no meu caso. Na ls
página do manual:
-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, criei um /media/stick
atalho para acessar os dados no meu pen drive. ls -l /media/stick
mostrará o link real, enquanto ls -lL /media/stick
mostrará o conteúdo no pen drive.
Depois de uma pesquisa mais profunda sobre a diferença entre o funcionamento interno de -H
e -L
, finalmente encontrei um excelente artigo sobre esse assunto no blog Shallow Thoughts (mesmo apresentando alguns truques de script de shell para seu prazer!)
Isso aponta as diferenças sutis entre as duas opções (muito melhores que o manual original!) Da seguinte maneira:
-H
- desreferenciar apenas os links mencionados explicitamente na linha de comando
-L
- links dereference mesmo que sejam não mencionados na linha de comando
(Quando esses dois são usados com tarefas cotidianas simples , não deve haver diferença na saída em geral.)
Além disso: Se você preferir se lembrar da forma longa ( --option
), provavelmente é menos complicado de memorizar do --dereference
que o monstro excessivamente longo de --dereference-command-line-symlink-to-dir
.