Kecualikan Direktori dalam Linux Find

Kecualikan Direktori Dalam Linux Find



Apabila bekerja dengan Linux, anda mungkin mendapat contoh di mana anda ingin mencari fail dalam mesin anda dengan cepat. Linux menawarkan arahan carian yang berbeza termasuk arahan 'cari' yang membolehkan anda mencari fail tertentu. Satu-satunya kelemahan ialah arahan mengeluarkan banyak kekacauan dan fail. Walau bagaimanapun, jika anda pasti bahawa fail sasaran tidak berada dalam direktori tertentu, anda boleh mengecualikannya dalam arahan 'cari' untuk mengurangkan output carian.

Siaran ini merangkumi apa itu arahan 'cari' dan cara ia berfungsi. Selanjutnya, kita akan melihat bagaimana anda boleh menggunakan arahan sambil mengecualikan direktori dalam Linux. Teruskan membaca!

Bekerja dengan Perintah Cari

Perintah 'cari' dalam Linux membantu mencari fail dan direktori untuk mengelakkan daripada mencarinya secara manual. Ia menggunakan sintaks berikut:







cari

Berikut ialah contoh di mana kami cuba mencari fail bernama 'linuxhint.c' dalam direktori utama:





Output memberikan laluan mutlak untuk mencari fail sasaran. Katakan kita ingin mencari fail menggunakan corak. Katakan kita mahu mencari sebarang fail teks dalam Dokumen/ pada sistem Linux kami. Kami menentukan arahan kami seperti yang digambarkan dalam yang berikut:





Perhatikan bagaimana arahan 'cari' mengeluarkan semua direktori yang mengandungi fail teks. Itulah contoh mudah menggunakan perintah 'cari' Linux.



Cara Mengecualikan Direktori dalam Carian Linux

Apabila anda melaksanakan perintah 'cari', ia mencari direktori dan subdirektori yang ditentukan. Gunakan mana-mana daripada tiga kaedah berikut untuk mengecualikan subdirektori dalam carian:

1. Pilihan Prun

Untuk demonstrasi, kami menggunakan linuxhint/ . Kita dapat melihat bahawa ia mempunyai tiga subdirektori seperti yang dipaparkan dalam imej berikut:

Apabila digunakan dengan -print, pilihan 'prun' membantu untuk mengecualikan mana-mana subdirektori tertentu apabila bekerja dengan arahan 'cari'. Dalam imej sebelumnya, kita boleh menggunakan arahan 'cari' dan memberikan laluan ke direktori Linuxhint. Kemudian, tentukan untuk mengecualikan dir2 daripada output carian.

Kami melaksanakan arahan kami seperti berikut:

cari /home/kyle/Desktop/linuxhint/ -path /home/kyle/Desktop/linuxhint/dir2 -prune -o -print

Perhatikan bagaimana dir2 tidak dipaparkan di mana-mana dalam output yang mengesahkan bahawa kami berjaya mengecualikannya.

Kami juga boleh melaksanakan arahan yang sama dalam versi yang dipendekkan seperti yang dipaparkan dalam yang berikut:

Anda juga boleh mengecualikan banyak direktori. Untuk itu, kami menggunakan pilihan -o. Contoh berikut mengecualikan dir1 dan dir3 untuk meninggalkan dir2 sahaja. Jika anda pasti bahawa fail atau folder yang anda ingin cari tiada dalam direktori lain, pilihan ini mengurangkan output carian.

2. Melalui Pilihan 'Tidak'.

Dalam pertanyaan cari, anda boleh menambah 'bukan' untuk menentukan direktori yang hendak dikecualikan. Pelaksanaannya lebih mudah daripada pilihan prun.

Berikut ialah sintaks untuk digunakan:

cari [path] -type f -not -path '*/directory-to-exclude/*'

Katakan kami ingin mengecualikan dir1 dalam output carian 'cari' yang kami laksanakan dengan pilihan prun. Kami melaksanakan arahan seperti berikut:

cari . -type f -not -path '*/dir2/*'

Kami mendapat output yang sama seperti semasa menggunakan pilihan prun. Direktori yang ditentukan dikecualikan; hanya subdirektori yang tinggal muncul dalam output carian.

3. Melalui “!” Pilihan

Kaedah terakhir untuk mengecualikan direktori dalam perintah 'cari' Linux ialah menambah '!' pengendali. Ia berfungsi seperti pengendali 'bukan', dan sintaksnya hampir sama.

cari [path] -type f ! -laluan '*/direktori-untuk-kecualikan/*'

Katakan kita mengulangi contoh terdahulu untuk mengecualikan dir2 menggunakan '!' pengendali. Kami masih mendapat output yang sama. Hanya sebahagian daripada arahan yang kami gunakan telah berubah.

Itulah tiga cara untuk mengecualikan direktori dalam perintah 'cari' Linux.

Kesimpulan

Perintah 'cari' Linux berguna untuk mengesan fail dan folder dengan cepat. Ia menjadi lebih baik kerana anda boleh mengecualikan direktori dalam arahan carian anda untuk mengurangkan output carian. Untuk mengecualikan direktori, anda boleh menggunakan 'pangkas', 'tidak', atau '!' pilihan. Siaran ini membincangkan cara ketiga-tiga pilihan berfungsi dengan contoh yang diberikan untuk mengecualikan direktori. Cubalah!