GNU/Linux >> Belajar Linux >  >> Linux

Temukan dan hapus semua direktori bernama test di linux

xargs melakukan semua keajaiban:

find . -name test -type d -print0|xargs -0 rm -r --

xargs mengeksekusi perintah yang diteruskan sebagai parameter, dengan argumen diteruskan ke stdin.

Ini menggunakan rm -r untuk menghapus direktori dan semua turunannya.

-- menunjukkan akhir argumen, untuk menghindari jalur yang dimulai dengan - dari diperlakukan sebagai argumen.

-print0 memberi tahu find untuk mencetak \0 karakter, bukan baris baru; dan -0 memberi tahu xargs untuk memperlakukan hanya \0 sebagai pemisah argumen.

Ini memanggil rm dengan banyak direktori sekaligus, menghindari overhead pemanggilan rm terpisah untuk setiap direktori.

Sebagai alternatif, find juga dapat menjalankan perintah untuk setiap yang dipilih berkas:

find . -name test -type d -exec rm -r {} \;

Dan yang ini, dengan kinerja yang lebih baik, karena akan memanggil rm dengan beberapa direktori sekaligus :

find . -name test -type d -exec rm -r {} +

(Perhatikan + pada akhirnya; yang ini setara dengan xargs solusi.)


find /path/to/dir -name "test" -type d -delete
  • -nama: mencari nama yang dilewati. Anda dapat menggunakan -regex untuk memberikan nama berdasarkan ekspresi reguler

  • -ketik: mencari jenis file. d hanya mencari direktori

  • -hapus: tindakan yang menghapus daftar yang ditemukan.

Atau:

find /path/to/dir -name "test" -type d -exec rm -rf {} \;

Sebagai J.F. Sebastian dinyatakan dalam komentar:

Anda dapat menggunakan + bukannya \; untuk melewati lebih dari satu direktori sekaligus.


cara lain untuk melakukannya adalah

find . -name test -exec rm -R "{}" \;

Tautan bermanfaat tentang temukan:http://www.softpanorama.info/Tools/Find/using_exec_option_and_xargs_in_find.shtml


Linux
  1. Temukan file dan direktori terbesar di Linux

  2. Linux Hapus File dan Direktori

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

  1. Temukan file dan direktori di Linux dengan perintah find

  2. Cara Mencari dan Menghapus Direktori Secara Rekursif di Linux

  3. Panduan untuk Perintah "Temukan" Linux

  1. Bagaimana menemukan semua file yang jarang di Linux

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

  3. Apa perbedaan antara 'temukan' dan 'temukan' di Linux?