Cara menghapus jenis file di Linux secara rekursif dalam direktori dan semua subdirektorinya

Hapus jenis file secara berulang

Tentunya pada beberapa kesempatan Anda telah memverifikasi bahwa Anda memiliki jenis file yang tidak berguna di beberapa folder, yang memakan sedikit ruang tetapi Anda tidak menginginkannya ada di komputer Anda. Misalnya, di macOS beberapa file dibuat .DS_Toko yang menyimpan informasi tentang ikon folder, ukuran dan posisinya, dan di Windows ada desktop.ini yang setara. Apa yang harus kita lakukan jika kita memiliki direktori yang penuh dengan subdirektori dan kita ingin menghapus file ini atau jenis lainnya? Yang harus kita lakukan adalah menghapus secara rekursif Masing-masing dari mereka.

Ini adalah sesuatu yang dapat kami lakukan dengan semua jenis file. Misalnya, jika kita memiliki hard drive yang penuh dengan musik, kita memiliki pemutar yang telah mengunduh sampulnya dan kita tidak ingin menyimpannya, kita dapat menggunakan perintah yang sama dengan yang akan dijelaskan di bawah untuk menghapusnya. Tentu saja, dengan mempertimbangkan bahwa kami akan secara rekursif menghapus file direktori dan subdirektorinya dengan terminal dan ini akan hilang selamanya, tidak ada salahnya berhati-hati dan / atau lakukan tes sebelum menghapus semua yang ingin kita hapus.

Hapus file sejenis dari terminal secara rekursif

Perintah untuk contoh file macOS .DS_Store adalah sebagai berikut:

cd ruta/a/directorio
find . -name '*.DS_Store' -type f -delete

Dari perintah sebelumnya, yang pertama akan menempatkan kita di folder tempat kita ingin memulai, yaitu yang berisi semua file .DS_Store yang ingin kita hapus. Yang kedua adalah yang akan menghapus semua file .DS_Store dari folder pertama dan subfoldernya atau direktori. Jika yang kita inginkan adalah menghapus foto dari folder musik yang disebutkan sebelumnya, kita harus meletakkan tipe ekstensi di antara tanda kutip, seperti '* .jpg'.

Sejujurnya 100%, ini adalah sesuatu yang akan saya lakukan pada hari saya berhenti menggunakan Cantata sebagai pemutar musik default. Cantata membuat dan menyembunyikan file informasi dengan nama yang sama dengan lagu yang memiliki titik dan bilah rendah di depannya (misalnya, ._Song). Ketika saya membutuhkannya, perintah yang harus saya gunakan adalah Temukan. -name '._ *' -type f -delete.

Apakah panduan kecil ini membantu Anda menghapus file dari terminal secara rekursif?

Perintah grep
Artikel terkait:
Perintah Grep: alat yang ampuh untuk menemukan teks dari Terminal

Komentar, tinggalkan punyamu

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Sebastian Castro dijo

    Terima kasih, tetapi ada kesalahan dalam kode Anda. Anda perlu menggunakan ekspresi reguler '*', yaitu '* .DS_STORE'. Saya menyarankan Anda untuk memperbaikinya. Nah, bagi yang memiliki pengetahuan kurang tentang bash, kode yang Anda berikan tidak akan berfungsi. Salam pembuka!