GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan Dan Menghapus Symlink Rusak Di Linux

Beberapa waktu yang lalu, kami menjelaskan apa itu Soft link dan Hard link dengan contoh-contoh praktis. Terkadang Anda mungkin lupa menghapus tautan lunak atau symlink yang tidak digunakan yang tidak mengarah ke mana pun. Menyimpan tautan yang tidak digunakan pada sistem file tidak membahayakan sistem, kecuali menempati sedikit ruang disk. Jadi tidak ada gunanya menyimpannya. Temukan dan hapus symlink yang rusak di sistem Linux Anda.

Mungkin ada banyak cara untuk menemukan symlink yang rusak atau tautan lunak di Linux. Di sini saya telah memberikan dua metode.

Simlink adalah baris perintah, utilitas pemeliharaan tautan simbolik. Ini memindai direktori yang diberikan dan mencantumkan tautan simbolis jika ada.

Symlinks tersedia di repositori resmi dari banyak distribusi Linux.

Untuk menginstal Symlinks di CentOS , jalankan:

$ sudo yum install symlinks

Di Fedora :

$ sudo dnf install symlinks

Di Debian , Ubuntu , Linux Mint :

$ sudo apt-get install symlinks

Di Ubuntu , Anda harus mengaktifkan [universe] penyimpanan.

$ sudo add-apt-repository universe

Setelah menginstal Symlinks, jalankan perintah berikut untuk menemukan dan menghapus tautan simbolik yang rusak:

$ symlinks -dr <directory-path>

Perintah di atas akan memindai tautan simbolik yang rusak di direktori yang diberikan dan menghapusnya.

Di sini,

  • d - hapus tautan simbolis yang menggantung
  • r - rekursif

Mari saya tunjukkan sebuah contoh. Saya akan membuat file bernama "abc" di direktori saat ini.

$ touch abc

Selanjutnya saya membuat symlink bernama 'xyz' untuk abc berkas:

$ ln -s abc xyz

Sekarang hapus file yang sebenarnya yaitu abc .

$ rm abc

Seperti yang mungkin sudah Anda ketahui, setelah kami menghapus file yang sebenarnya, symlink tidak memiliki nilai. Karena itu hanya jalan pintas dan sekarang rusak.

Untuk menemukan symlink yang rusak, jalankan:

$ symlinks .

Harap perhatikan titiknya (. ) pada akhirnya. Artinya kita sedang mencari link yang rusak di direktori saat ini.

Contoh keluaran:

dangling: /home/sk/xyz -> abc

Di sini, xyz menggantung karena kami menghapus file sumber sebenarnya "abc" . Jadi mari kita hapus tautan yang rusak ini menggunakan perintah:

$ symlinks -dr .

Contoh keluaran:

dangling: /home/sk/xyz -> abc
deleted: /home/sk/xyz -> abc

Terakhir, jalankan symlinks perintah sekali lagi untuk memastikan jika ada sisa tautan yang rusak.

Kami juga dapat menggunakan find perintah untuk menghapus symlink yang rusak.

Untuk menemukan symlink yang rusak, tetapi tidak menghapusnya, jalankan:

$ find . -xtype l

Perintah ini akan mencantumkan symlink yang rusak di direktori saat ini. Jika Anda ingin mencari symlink yang rusak pada jalur tertentu, misalnya /usr/local/ , lakukan:

$ find /usr/local/ -xtype l

Keluaran:

Perintah di atas akan mencari tautan yang rusak di /usr/local/ dan sub-direktorinya. Seperti yang Anda lihat pada output di atas, ada banyak symlink yang rusak.

Atau, gunakan perintah berikut untuk membuat daftar symlink yang tidak digunakan:

$ find /usr/local/ -xtype l ! -exec test -e {} \; -print

Dimungkinkan juga untuk memeriksa di mana titik tautan yang rusak. Ini adalah praktik yang baik untuk memastikan bahwa kami menghapus symlink yang dimaksud.

$ find /usr/local/ -xtype l -exec ls -l {} \+

Contoh keluaran:

lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/drracket -> /home/sk/racket/bin/drracket
lrwxrwxrwx 1 root root 27 Jan 21 08:53 /usr/local/bin/gracket -> /home/sk/racket/bin/gracket
lrwxrwxrwx 1 root root 32 Jan 21 08:53 /usr/local/bin/gracket-text -> /home/sk/racket/bin/gracket-text
lrwxrwxrwx 1 root root 24 Jan 21 08:53 /usr/local/bin/mred -> /home/sk/racket/bin/mred
lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/mred-text -> /home/sk/racket/bin/mred-text
lrwxrwxrwx 1 root root 23 Jan 21 08:53 /usr/local/bin/mzc -> /home/sk/racket/bin/mzc
lrwxrwxrwx 1 root root 24 Jan 21 08:53 /usr/local/bin/mzpp -> /home/sk/racket/bin/mzpp
lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/mzscheme -> /home/sk/racket/bin/mzscheme
lrwxrwxrwx 1 root root 26 Jan 21 08:53 /usr/local/bin/mztext -> /home/sk/racket/bin/mztext
lrwxrwxrwx 1 root root 30 Jan 21 08:53 /usr/local/bin/pdf-slatex -> /home/sk/racket/bin/pdf-slatex
lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/plt-games -> /home/sk/racket/bin/plt-games
lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/plt-help -> /home/sk/racket/bin/plt-help
lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/plt-r5rs -> /home/sk/racket/bin/plt-r5rs
lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/plt-r6rs -> /home/sk/racket/bin/plt-r6rs
lrwxrwxrwx 1 root root 34 Jan 21 08:53 /usr/local/bin/plt-web-server -> /home/sk/racket/bin/plt-web-server
lrwxrwxrwx 1 root root 26 Jan 21 08:53 /usr/local/bin/racket -> /home/sk/racket/bin/racket
lrwxrwxrwx 1 root root 24 Jan 21 08:53 /usr/local/bin/raco -> /home/sk/racket/bin/raco
lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/scribble -> /home/sk/racket/bin/scribble
lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/setup-plt -> /home/sk/racket/bin/setup-plt
lrwxrwxrwx 1 root root 26 Jan 21 08:53 /usr/local/bin/slatex -> /home/sk/racket/bin/slatex
lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/slideshow -> /home/sk/racket/bin/slideshow
lrwxrwxrwx 1 root root 27 Jan 21 08:53 /usr/local/bin/swindle -> /home/sk/racket/bin/swindle

Untuk menghapus semua tautan yang rusak sekaligus, jalankan:

$ sudo find /usr/local/ -xtype l -delete

Atau,

$ sudo find /usr/local/ -xtype l ! -exec test -e {} \; -delete

Ganti /usr/local/ dengan jalan Anda sendiri.

Bacaan yang disarankan:

  • Cara Mendaftar Symlink di Linux

Semoga membantu.


Linux
  1. Cara Mencari dan Menghapus Direktori Secara Rekursif di Linux

  2. Cara Menemukan dan Membunuh Proses Zombie di Linux

  3. Cara membuat dan menghapus grup pengguna di Linux

  1. Cara Menghapus Buffer Memori dan Cache di Linux

  2. Cara Menemukan dan Menghapus Foto Duplikat di Linux

  3. Bagaimana cara menghapus direktori dan folder di Linux?

  1. Cara menemukan file di Linux

  2. Apa itu UID di Linux, Bagaimana Menemukan dan Mengubahnya

  3. Cara Menemukan dan Menghapus Direktori dan File Kosong di Linux