find . | grep -v "excluded files criteria" | xargs rm
Ini akan mencantumkan semua file di direktori saat ini, kemudian daftar semua yang tidak sesuai dengan kriteria Anda (waspadalah dengan nama direktori yang cocok) dan kemudian hapus.
Pembaruan : berdasarkan hasil edit Anda, jika Anda benar-benar ingin menghapus semuanya dari direktori saat ini kecuali file yang Anda daftarkan, ini dapat digunakan:
mkdir /tmp_backup && mv textfile.txt backup.tar.gz script.php database.sql info.txt /tmp_backup/ && rm -r && mv /tmp_backup/* . && rmdir /tmp_backup
Ini akan membuat direktori cadangan /tmp_backup
(Anda punya hak root, kan?), Pindahkan file yang Anda daftarkan ke direktori itu, hapus semua secara rekursif dalam direktori saat ini (Anda tahu bahwa Anda berada di direktori yang benar, bukan?), Pindah kembali ke direktori sekarang semuanya dari /tmp_backup
dan akhirnya, hapus /tmp_backup
.
Saya memilih direktori cadangan untuk di-root, karena jika Anda mencoba menghapus semuanya secara rekursif dari root, sistem Anda akan memiliki masalah besar.
Tentunya ada cara yang lebih elegan untuk melakukan ini, tetapi yang ini cukup mudah.