เป็นไปได้หรือไม่ที่จะตัดสินความคืบหน้าของคำสั่ง rm?


18

การใช้rm -rf LargeDirectoryเพื่อลบไดเรกทอรีขนาดใหญ่อาจใช้เวลานานกว่าจะเสร็จสมบูรณ์ทั้งนี้ขึ้นอยู่กับขนาดของไดเรกทอรี

เป็นไปได้หรือไม่ที่จะได้รับการอัพเดตสถานะหรือติดตามความคืบหน้าของการลบนี้อย่างใดอย่างหนึ่งเพื่อให้การประมาณการคร่าวๆว่าในกระบวนการคำสั่งคืออะไร?


4
ลองwatch -n 5 du -s LargeDirectoryดู ดูมันจะเป็นศูนย์
Mark Plotnick

@ MarkPlotnick: บน MacOS ต้องติดตั้งbrew install watchหรือดูคำแนะนำที่นี่
smci

คำตอบ:


19

จาก

man rm 

ใช้ตัวเลือก -v:

-v, --verbose
explain what is being done

4
ที่ไม่คืบหน้าแม้ว่า “ ตอนนี้การลบ foo / bar” ช่วยให้คุณทราบได้อย่างไรว่าสิ่งทั้งหมดนั้นสมบูรณ์เพียงใด
แกะบินได้

@flyingsheep เชื่อว่ามันเอาทุกอย่างตามลำดับตัวอักษรอย่างน้อยใน OSX มันไม่จึงจะช่วยในบางวิธี ..
ทิม Baas

7

ฉันเห็นคำถามเก่า ฉันต้องการแบ่งปันสิ่งที่เหมาะกับฉันเพื่อช่วยคนอื่น

ฉันได้รับแถบความคืบหน้าโดยใช้pvบรรทัดคำสั่งPipe Viewer

นี่คือคำสั่ง

rm -rv DIR_OR_FILE_NAME | pv -l -s $ (du -a DIR_OR_FILE_NAME | wc -l)> / dev / null

หากคุณต้องการสิทธิ์รูทสำหรับไฟล์หรือไฟล์ที่จะลบ

sudo rm -rv DIR_OR_FILE_NAME | pv -l -s $ (sudo du -a DIR_OR_FILE_NAME | wc -l)> / dev / null
  • rm -rv: -rเพื่อลบ DIRs และไฟล์ซ้ำ ๆ -vอย่างละเอียดมันจะแสดงรายการไฟล์และไดเรกทอรีทั้งหมดที่จะลบ

  • pv -l -s: -lเพื่อนับบรรทัดแทนไบต์ -sตั้งค่าบรรทัดทั้งหมดที่จะถูกลบ

  • $( du -a <dir_or_file> | wc -l ): du -aส่งคืนรายการไฟล์และไดเร็กทอรีทั้งหมดจาก dir ที่ระบุ ผลตอบแทนนับจากเส้นออกมาโดยwc -ldu -a

  • > /dev/null: ส่งออกrm -rvไปยังที่ไหนเลย


ความคิดที่ดี. สิ่งนี้อาจให้ไฟล์ / ไดเรกทอรีที่ไม่ถูกต้องหากชื่อใด ๆ มีบรรทัดใหม่ find {dir} -printf . | wc -cจะปลอดภัยกว่า (แต่-printfเป็นส่วนขยาย GNU)
สกอตต์

นี่คือสิ่งที่ฉันกำลังมองหาขอบคุณ ความคิดเห็นอื่นเหลืออะไรที่ขาดไป
Hellreaver

3

คุณสามารถดูความคืบหน้าของคำสั่งที่รันอยู่ในปัจจุบันด้วย Coreutils Progress Viewer ( cv) มันไม่เหมือนกับการออกคำสั่งเดียว แต่คุณสามารถเห็นความคืบหน้าได้

ตัวอย่างของการใช้ CV

ฉันแน่ใจว่าบางคนสามารถใช้นามแฝงเพื่อเรียกใช้งานได้ด้วยคำสั่ง cp, mv, dd, tar, gzip/gunzip, cat, etc.นอกจากนี้ยังทำงานร่วมกับ รายละเอียดเพิ่มเติมเกี่ยวกับมันสามารถพบได้ที่

gitthub Xfennec / ความคืบหน้า


2
เนื่องจากความคืบหน้า (ตามที่เป็นที่รู้จักกันในปัจจุบันคือ "cv") ติดตามไฟล์ที่เปิดอยู่และ rm ไม่ได้เปิดไฟล์ที่ถูกลบมันอาจไม่ได้มีประโยชน์มากนัก
dhag

2
@dhag คุณถูกต้องฉันคิดว่านี่จะใช้งานได้สำหรับ rm ตอนนี้ฉันกำลังพิจารณาว่าจะลบคำตอบหรือไม่ อืม
Ashitakalax
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.