Ini akan secara traverse melintasi /path/to/folder
direktori dan daftar hanya tautan simbolik:
ls -lR /path/to/folder | grep ^l
Jika niat Anda adalah untuk mengikuti tautan simbolik juga, Anda harus menggunakan find
perintah Anda tetapi Anda harus menyertakan -L
opsi; sebenarnya find
halaman manual mengatakan:
-L Follow symbolic links. When find examines or prints information
about files, the information used shall be taken from the prop‐
erties of the file to which the link points, not from the link
itself (unless it is a broken symbolic link or find is unable to
examine the file to which the link points). Use of this option
implies -noleaf. If you later use the -P option, -noleaf will
still be in effect. If -L is in effect and find discovers a
symbolic link to a subdirectory during its search, the subdirec‐
tory pointed to by the symbolic link will be searched.
When the -L option is in effect, the -type predicate will always
match against the type of the file that a symbolic link points
to rather than the link itself (unless the symbolic link is bro‐
ken). Using -L causes the -lname and -ilname predicates always
to return false.
Kemudian coba ini:
find -L /var/www/ -type l
Ini mungkin akan bekerja: Saya menemukan di find
halaman manual berlian ini: jika Anda menggunakan -type
opsi Anda harus mengubahnya ke -xtype
opsi:
l symbolic link; this is never true if the -L option or the
-follow option is in effect, unless the symbolic link is
broken. If you want to search for symbolic links when -L
is in effect, use -xtype.
Kemudian:
find -L /var/www/ -xtype l
find -L /var/www/ -xtype l
). Menggunakan-xtype
bukannya-type
harus melakukan trik dalam menemukan Anda. Semoga berhasil!ls -laR /path/to/folder | grep ^l
jika Anda juga ingin memproses folder dot "tersembunyi" ...-xtype
tidak tersedia.find . -type l
tampaknya memeriksa secara rekursif.Satu perintah, tidak ada pipa
Penjelasan:
find
dari direktori saat ini.
dan seterusnya semua referensi-type l
tinta dan daftar-ls
secara rinci. Biasa dan sederhana ...Memperluas jawaban ini, berikut adalah beberapa
find
perintah terkait tautan simbolik :Temukan tautan simbolis ke target tertentu
Perhatikan bahwa
link_target
ini adalah pola yang mungkin berisi karakter wildcard.Temukan tautan simbolis yang terputus
The
-L
pilihan menginstruksikanfind
untuk mengikuti link simbolik, kecuali bila rusak.Temukan & ganti tautan simbolis yang rusak
Lebih banyak menemukan contoh
Lebih banyak
find
contoh dapat ditemukan di sini: https://hamwaves.com/find/sumber
find
memiliki-ls
opsi. Jadifind . -type l -ls
harus sama dengan di atas.find -lname '*/dir/*' -printf '%P -> %l\n'
. Perlu disebutkan bahwa link_target adalah sebuah pola.find
sudah terlihat secara rekursif secara default:sumber
find
kambuh secara default? Saya kira tidak;)-L
flag untuk menemukan tanpa keberuntungan - tebakan?Untuk melihat sendiri symlinks, Anda dapat menggunakan
sementara jika Anda ingin melihat juga file mana yang mereka targetkan, tambahkan saja ls
sumber
Ini adalah hal terbaik yang saya temukan sejauh ini - menunjukkan kepada Anda symlink di direktori saat ini, secara rekursif, tetapi tanpa mengikuti mereka, ditampilkan dengan path lengkap dan informasi lainnya:
output terlihat seperti ini:
sumber
Apa yang saya lakukan adalah membuat skrip di direktori bin saya yang seperti alias. Misalnya saya punya skrip bernama lsd ls-l | grep ^ d
Anda bisa membuat satu lsl ls -lR | grep ^ l
Hanya chmod mereka + x dan Anda baik untuk pergi.
sumber