GNU/Linux >> Belajar Linux >  >> Linux

Apakah ada cara untuk memeriksa apakah ada tautan simbolik yang mengarah ke direktori?

Sebenarnya tidak ada cara langsung untuk memeriksa symlink semacam itu. Pertimbangkan bahwa Anda mungkin memiliki sistem file yang tidak terpasang sepanjang waktu (mis. drive USB eksternal), yang dapat berisi symlink ke volume lain di sistem.

Anda dapat melakukan sesuatu dengan:

for a in `find / -type l`; do echo "$a -> `readlink $a`"; done | grep destfolder

Saya perhatikan bahwa find FreeBSD tidak mendukung -lname opsi, itulah sebabnya saya berakhir dengan yang di atas.


Saya akan menggunakan perintah find.

find . -lname /particular/folder

Itu akan secara rekursif mencari direktori saat ini untuk symlink ke /particular/folder . Perhatikan bahwa itu hanya akan menemukan symlink absolut. Perintah serupa dapat digunakan untuk mencari semua symlink yang menunjuk ke objek yang disebut "folder":

find . -lname '*folder'

Dari sana, Anda perlu membuang semua positif palsu.


find . -type l -printf '%p -> %l\n'

Anda dapat mengaudit symlink dengan symlinks program yang ditulis oleh Mark Lord -- ini akan memindai seluruh sistem file, menormalkan jalur symlink ke bentuk absolut dan mencetaknya ke stdout.


Linux
  1. Pwd Tanpa Symlink?

  2. Temukan Kecualikan Direktori?

  3. Apa Cara Terbaik Untuk Menghitung Jumlah File Dalam Direktori?

  1. Apakah Ada Kelemahan Dari Menggunakan Mount –bind Sebagai Pengganti Tautan Simbolik?

  2. Dhcpd:Adakah Cara Untuk Memeriksa Status Kumpulan Dhcp?

  3. Linux Temukan Dan Hapus Semua Symlinks Yang Berkaitan Dengan Direktori?

  1. Apakah ada cara untuk membuat mv membuat direktori untuk dipindahkan jika tidak ada?

  2. Apakah ada cara untuk menemukan waktu berjalan dari perintah yang terakhir dieksekusi di shell?

  3. Periksa apakah direktori kosong menggunakan C di Linux