GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menemukan semua file yang di-hardlink pada sistem file?

Anda dapat menjalankan perintah berikut :

find / -type f -printf '%n %p\n' | awk '$1 > 1{$1="";print}'

untuk menemukan semua file yang ditautkan.

Atau versi @mbafford:

find / -type f -links +1 -printf '%i %n %p\n'

find . -type f -links +1 2>/dev/null

memberikan daftar semua file yang memiliki lebih dari satu tautan, yaitu file yang memiliki tautan keras. Mengulangi ini kemudian relatif mudah – solusi peretasan jika Anda tidak memiliki banyak file adalah

for i in $(find . -type f -links +1 2>/dev/null); do find -samefile $i | awk '{printf "%s ", $1}'; printf "\n"; done | sort | uniq

Tapi saya sangat berharap ada solusi yang lebih baik, misalnya dengan membiarkan find pertama panggil nomor inode cetak lalu gunakan find -inum opsi untuk menampilkan semua file yang terkait dengan inode ini.


Linux
  1. Bagaimana menemukan semua file yang jarang di Linux

  2. Bagaimana saya bisa mendaftar hanya file yang tidak kosong menggunakan ls?

  3. Bagaimana saya bisa secara rekursif menghapus semua file dan direktori kosong di Linux?

  1. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  2. Bagaimana Menemukan Semua File Yang Berhubungan Dengan Perangkat Lunak?

  3. Bagaimana cara mendaftar semua file partisi di linux?

  1. Bagaimana Menemukan Semua File yang Dimiliki oleh Pengguna Tertentu di Unix/Linux?

  2. Cara mendaftar semua file dan direktori secara rekursif

  3. Bagaimana menemukan semua file yang diakhiri dengan .rb dengan Linux?