find . | grep -v "excluded files criteria" | xargs rm
วิธีนี้จะแสดงรายการไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันจากนั้นแสดงรายการไฟล์ทั้งหมดที่ไม่ตรงกับเกณฑ์ของคุณ (ระวังการจับคู่ชื่อไดเรกทอรี) แล้วลบออก
อัปเดต : ขึ้นอยู่กับการแก้ไขของคุณหากคุณต้องการลบทุกอย่างออกจากไดเรกทอรีปัจจุบันยกเว้นไฟล์ที่คุณอยู่ในรายการคุณสามารถใช้สิ่งนี้ได้:
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
มันจะสร้างไดเรกทอรีสำรอง/tmp_backup
(คุณมีสิทธิ์รูทใช่ไหม) ย้ายไฟล์ที่คุณอยู่ในไดเรกทอรีนั้นลบทุกอย่างซ้ำ ๆ ในไดเรกทอรีปัจจุบัน (คุณรู้ว่าคุณอยู่ในไดเรกทอรีที่ถูกต้องใช่ไหม?) ย้าย กลับไปทุกอย่างจากไดเรกทอรีปัจจุบันและในที่สุดก็ลบ/tmp_backup
/tmp_backup
ฉันเลือกไดเรกทอรีสำรองที่จะอยู่ในรูทเพราะถ้าคุณพยายามที่จะลบทุกอย่างจากรากซ้ำระบบของคุณจะมีปัญหาใหญ่
แน่นอนว่ามีวิธีที่สง่างามกว่าในการทำเช่นนี้ แต่อันนี้ค่อนข้างตรงไปตรงมา