GNU/Linux >> Belajar Linux >  >> Linux

bash - hapus semua direktori (dan konten) tetapi bukan file di pwd

Saya menemukan ini di suatu tempat:

rm -r */

Tampaknya cara termudah untuk pergi. Dengan contoh Anda, Anda harus mengonfirmasi setiap kasus, jika Anda memiliki 5 file tidak apa-apa, tetapi dengan struktur file yang lebih besar, mode interaktif bukanlah cara yang tepat ... Sama seperti saran, jika itu informasi penting, buat cadangan...


Tidak, itu akan memberi Anda "operan yang hilang" karena Anda tidak menentukan apa pun. Menempatkan * akan meminta juga untuk file.

Saya akan mencoba untuk:

find -mindepth 1 -maxdepth 1 -type d -exec rm -r {} \;

mindepth 1 akan mengecualikan . dari hasil, maxdepth 1 akan mengecualikan mencoba melakukan di bawah direktori yang tetap akan dihapus (oleh karena itu membuat peringatan). Namun dalam praktiknya Anda dapat mengabaikan keduanya jika Anda setuju untuk memiliki beberapa peringatan "tidak bersalah".


Gunakan

rm -rf ./*/

Itu menghindari mode interaktif dan hanya menghapus direktori di direktori lokal Anda.


Linux
  1. Bandingkan Direktori Tapi Bukan Isi File?

  2. Cara Menghapus File dan Direktori di Command Line Linux [Tutorial Pemula]

  3. Ganti nama file dan direktori secara rekursif di bawah ubuntu / bash

  1. Hapus semua karakter khusus dan huruf besar-kecil dari string di bash

  2. Berikan izin eksekusi ke direktori tetapi tidak ke file

  3. Bagaimana cara menemukan semua file dan direktori yang dapat ditulis oleh pengguna tertentu?

  1. Linux Hapus File dan Direktori

  2. Cara mendaftar semua file dan direktori secara rekursif

  3. Skrip Bash untuk menghapus semua file kecuali N saat diurutkan menurut abjad