Saya telah membuat banyak tautan simbolis pada berbagai jalur untuk file atau direktori tertentu. Saya ingin seluruh daftar jalur tautan simbolik yang dibuat (lokasi).
Contoh:
Saya membuat tautan simbolis untuk ~/Pictures
direktori pada banyak direktori. Bagaimana cara mendaftar semua symlink ke ~/Pictures
direktori itu?
Apakah itu mungkin? Jika ya, lalu bagaimana?
command-line
symbolic-link
Avinash Raj
sumber
sumber
Jawaban:
Berikut ini sebuah contoh:
atau, mungkin lebih baik:
untuk menghilangkan beberapa kesalahan seperti
Permission denied
,,Too many levels of symbolic links
atauFile system loop detected
yangfind
melemparnya ketika tidak memiliki izin yang tepat atau situasi lain.-L
- Ikuti tautan simbolis.-xtype l
- File adalah tautan simbolis-samefile name
- File mengacu pada inode yang sama denganname
. Ketika-L
berlaku, ini bisa termasuk tautan simbolik.Catatan:
-xtype l
, bukan angka 1.-xtype
adalah-type
.sumber
Sangat sederhana, gunakan opsi
-lname
:Dari
man find
:Catatan : Ingatlah bahwa tautan simbolis bisa berada di mana saja, yang mencakup sistem jarak jauh (jika Anda berbagi file), jadi Anda mungkin tidak dapat menemukan semuanya.
sumber
../dir
maka itu tidak akan menemukan yang absolut/path/to/original/dir
Anda malah dapat menggunakan pola dan menghilangkan positif palsu-lname \*dir
Coba ini :
find . -follow -inum 277566
(temukan direktori dengan nomor inode yang sama )Ini akan menampilkan semua jalur tautan simbolisnya.
sumber
Saya sangat suka one-liner ini:
find . -maxdepth 1 -type l -exec readlink -f '{}' \;
referensi:
https://unix.stackexchange.com/questions/22128/how-to-get-full-path-of-original-file-of-a-soft-symbolic-link
https://unix.stackexchange.com/questions/21984/list-symlinks-in-current-directory
sumber