คุณสามารถใช้rm -v
เพื่อrm
พิมพ์หนึ่งบรรทัดต่อไฟล์ที่ถูกลบ วิธีนี้คุณจะเห็นได้ว่าใช้งานrm
ได้จริงในการลบไฟล์ แต่ถ้าคุณมีไฟล์หลายพันล้านไฟล์คุณก็จะเห็นว่าrm
มันยังใช้งานได้ คุณจะไม่ทราบว่ามีไฟล์ถูกลบไปแล้วกี่ไฟล์และเหลือกี่ไฟล์
เครื่องมือpv
สามารถช่วยคุณประเมินความคืบหน้าได้
http://www.ivarch.com/programs/pv.shtml
นี่คือวิธีที่คุณจะเรียกrm
ด้วยpv
ด้วยตัวอย่างการส่งออก
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
ในตัวอย่างที่ประดิษฐ์นี้ฉันบอกpv
ว่ามี1000
ไฟล์ ผลลัพธ์จากการpv
แสดงให้เห็นว่า 562 จะถูกลบไปแล้วเวลาที่ผ่านไปคือ 7 วินาทีและการประมาณให้เสร็จสมบูรณ์คือ 5 วินาที
คำอธิบายบางอย่าง:
pv -l
ทำให้pv
นับขึ้นบรรทัดใหม่แทนไบต์
pv -s number
บอกpv
ว่ายอดรวมคือเท่าไหร่เพื่อให้การประมาณ
- การเปลี่ยนเส้นทางไป
logfile
ยังจุดสิ้นสุดมีไว้เพื่อผลลัพธ์ที่สะอาด มิฉะนั้นบรรทัดสถานะจากได้รับการขึ้นผสมกับเอาท์พุทจากpv
rm -v
โบนัส: คุณจะมี logfile ของสิ่งที่ถูกลบ แต่ระวังไฟล์จะใหญ่ขึ้น คุณสามารถเปลี่ยนเส้นทางไปยัง/dev/null
หากคุณไม่ต้องการบันทึก
ในการรับจำนวนไฟล์คุณสามารถใช้คำสั่งนี้:
$ find dirname | wc -l
สิ่งนี้อาจใช้เวลานานหากมีไฟล์เป็นพันล้านไฟล์ คุณสามารถใช้pv
ที่นี่เช่นกันเพื่อดูว่ามีการนับจำนวนเท่าใด
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
นี่มันบอกว่ามันใช้เวลา 4 วินาทีในการนับ 278k ไฟล์ จำนวนที่แน่นอนในตอนท้าย ( 278044
) wc -l
เป็นเอาท์พุทจาก
หากคุณไม่ต้องการรอการนับคุณสามารถเดาจำนวนไฟล์หรือใช้pv
โดยไม่มีการประมาณ:
$ rm -rv dirname | pv -l > logfile
เช่นนี้คุณจะไม่มีการประมาณค่าให้เสร็จ แต่อย่างน้อยคุณจะเห็นว่ามีไฟล์ถูกลบไปแล้วกี่ไฟล์ เปลี่ยนเส้นทางไปที่/dev/null
หากคุณไม่ต้องการ logfile
nitpick:
- คุณต้องการจริงๆ
sudo
เหรอ?
- มัก
rm -r
จะเพียงพอที่จะลบแบบเรียกซ้ำ rm -f
ไม่จำเป็นต้องให้