Saya tidak mengerti mengapa pemikiran tentang masalah sederhana ini menjadi begitu rumit - tetapi mungkin saya hanya menjawab pertanyaan itu dengan cara yang salah. Anyways: ketika saya membutuhkan fungsi serupa, saya menggunakan:
ls -lL
Itu berhasil dalam kasus saya. Dari ls
halaman 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
Sebagai contoh, saya telah membuat saya jalan /media/stick
pintas untuk mengakses data pada stik USB saya. ls -l /media/stick
akan menampilkan tautan yang sebenarnya, sementara ls -lL /media/stick
akan menampilkan konten pada stik USB.
Setelah beberapa penelitian yang lebih mendalam tentang perbedaan antara inner -H
dan -L
, saya akhirnya menemukan artikel yang bagus tentang hal ini di blog Dangkal Pikiran (bahkan menampilkan beberapa trik skrip shell rapi untuk kesenangan Anda!)
Ini menunjukkan perbedaan halus antara dua opsi (jauh lebih baik daripada manual asli!) Sebagai berikut:
-H
- hanya dereferensi tautan-tautan yang secara eksplisit disebutkan di baris perintah
-L
- tautan dereferensi meskipun tidak disebutkan pada baris perintah
(Ketika keduanya digunakan dengan tugas sehari-hari yang sederhana , seharusnya tidak ada perbedaan dalam output secara umum.)
Selain itu: Jika Anda lebih suka mengingat bentuk panjang ( --option
), kemungkinan besar tidak rumit untuk dihafal --dereference
daripada monster yang terlalu panjang --dereference-command-line-symlink-to-dir
.