rm -rf *
จะลบไฟล์และโฟลเดอร์ทั้งหมด แต่จะไม่ถูกซ่อน
rm -rf .*
จะลบไฟล์และโฟลเดอร์ที่ซ่อนทั้งหมด แต่ไม่ใช่ไฟล์ที่ไม่ถูกซ่อนถูกต้องหรือไม่
คำสั่งประเภทใดที่ควรลบไฟล์และโฟลเดอร์ทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่? (ยกเว้น. และ .. ); ?
rm -rf *
จะลบไฟล์และโฟลเดอร์ทั้งหมด แต่จะไม่ถูกซ่อน
rm -rf .*
จะลบไฟล์และโฟลเดอร์ที่ซ่อนทั้งหมด แต่ไม่ใช่ไฟล์ที่ไม่ถูกซ่อนถูกต้องหรือไม่
คำสั่งประเภทใดที่ควรลบไฟล์และโฟลเดอร์ทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่? (ยกเว้น. และ .. ); ?
คำตอบ:
rm -rf * .*
จะทำเคล็ดลับ
find
กับ-delete
ธง ...
rm
ควรพิมพ์rm: "." and ".." may not be removed
ข้อความในกรณีนั้น - มันจะไม่ลบไดเรกทอรีหลักโดยอัตโนมัติ
ลองสิ่งนี้:
find . -mindepth 1 -delete
ฉันไม่แน่ใจว่า-mindepth
ได้รับการสนับสนุนจากการใช้งานทั้งหมดของfind
; หากคุณไม่มีมัน-path
ควรให้วิธีอื่นในการป้องกันไม่ให้พยายามลบ.
:
find . -path "*/*" -delete
find
ก็มีตัวเลือกเช่นกัน yup
เพียงใช้คำสั่งนี้เพื่อกำจัดไฟล์ / ไดเรกทอรีตามเกณฑ์เฉพาะ:
# tmpwatch -fauv 0 .
shopt -s dotglob
ยังทำให้*
รวมไฟล์ที่ขึ้นต้นด้วยจุด
.*
จะขยายไปยังรายการที่มองไม่เห็นทั้งหมดในไดเรกทอรีปัจจุบันรวมถึง..
- ซึ่งหมายความว่าการใช้.*
เป็นอาร์กิวเมนต์เพื่อrm -rf
จะพยายามลบไดเรกทอรีด้านบนไดเรกทอรีที่คุณอยู่ในปัจจุบันและเนื้อหาทั้งหมด rm จะปฏิเสธที่จะทำ แต่ฉันไม่คิดที่จะใช้ความปลอดภัยนี้ ...