GNU/Linux >> Belajar Linux >  >> Linux

Linux Temukan Dan Hapus Semua Symlinks Yang Berkaitan Dengan Direktori?

Jadi, saya memiliki sedikit situasi di mana saya membuat banyak symlink dalam upaya membuatnya berfungsi, mencoba semua jenis kombinasi .. sekarang saya memiliki kesalahan ini:

ls: cannot access /etc/sv/me: Too many levels of symbolic links

Tidak ada symlink di /service/ atau /etc/sv/
Satu-satunya cara yang dapat saya temukan untuk mengatasi kesalahan ini adalah dengan menghapus semua symlink yang berkaitan dengan /service/ atau /etc/sv/ tapi saya tidak' bahkan tidak melihat symlink?

Jawaban yang Diterima:

Anda dapat mengidentifikasi symlink siklik dengan sedikit find tipu daya, coba ini:

find /path/to/search -type l -a ! \( -xtype b -o -xtype c -o -xtype d -o -xtype p -o -xtype f -o -xtype s -o -xtype l \) 2>/dev/null

Ini bekerja dengan memfilter symlink, lalu mengecualikan apa pun di mana jenis target symlink adalah salah satu jenis inode yang mungkin. Satu-satunya yang tersisa adalah yang find tidak dapat menentukan jenis target, yang hanya terjadi untuk symlink siklik (yang rusak cocok dengan -xtype l )


Linux
  1. Linux:Temukan semua symlink dari file 'asli' yang diberikan? (membalikkan 'tautan baca')

  2. temukan dan hapus file dengan ruang menggunakan perintah find di Linux

  3. temukan dan salin semua gambar dalam direktori menggunakan terminal linux mint, mencoba memahami sintaks

  1. Ganti Nama Semua File dan Nama Direktori menjadi Huruf Kecil di Linux

  2. Cara Mencari dan Menghapus Direktori Secara Rekursif di Linux

  3. Bagaimana cara memutuskan tautan semua symlink di bawah direktori?

  1. Cara Menemukan dan Menghapus Foto Duplikat di Linux

  2. Temukan dan ganti nama direktori

  3. Temukan semua file nol-byte di direktori dan subdirektori