No entiendo por qué el pensamiento sobre este simple problema tiene que ser tan complejo, pero quizás acabo de responder la pregunta de manera incorrecta. De todos modos: cuando necesitaba una funcionalidad similar, usaba:
ls -lL
Eso hizo el truco en mi caso. Desde la ls
página del 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 ejemplo, me hice un /media/stick
acceso directo para acceder a los datos en mi memoria USB. ls -l /media/stick
mostrará el enlace real, mientras ls -lL /media/stick
que mostrará el contenido en la memoria USB.
Después de una investigación más profunda sobre la diferencia entre el funcionamiento interno de -H
y -L
, finalmente encontré un excelente artículo sobre este tema en el blog Shallow Thoughts (¡incluso con algunos trucos de script de shell para su placer!)
Esto señala las diferencias sutiles entre las dos opciones (¡mucho mejor que el manual original!) De la siguiente manera:
-H
- solo desreferencia esos enlaces mencionados explícitamente en la línea de comando
-L
- enlaces dereference incluso si están no mencionan en la línea de comandos
(Cuando estos dos se usan con tareas cotidianas simples , no debería haber diferencia en el resultado en general).
Además: si prefieres recordar la forma larga ( --option
), lo más probable es que sea menos engorroso de memorizar --dereference
que el monstruo excesivamente largo de --dereference-command-line-symlink-to-dir
.