ทำไมการทิ้งถังขยะในหอยโข่งจึงใช้เวลานานมาก


15

เพื่อจุดประสงค์ของคำถามนี้ "ไดเร็กทอรีขนาดใหญ่" หมายถึงตัวอย่างที่เก็บเคอร์เนล git Linux หรือแหล่ง Chromium

ถ้าฉันrm -rfเป็นไดเร็กตอรี่ขนาดใหญ่เช่นนี้จากเชลล์, มันจะถูกลบในเวลาเพียงไม่กี่วินาที

ถ้าฉันย้ายไปที่ถังขยะก่อนแล้วจึงล้างถังขยะการดำเนินการครั้งแรกใช้เวลาไม่กี่วินาทีจากนั้นการลบจริงจะใช้เวลาหลายนาที (เรากำลังพูดถึงตัวเลขสองเท่า)

ทำไมการล้างถังขยะจึงช้ามาก มันทำอะไรเมื่อมันบอกว่า "เตรียม" ต้องใช้ความพยายามเท่าไหร่ในการเตรียมตัวrm -rf ~/.local/share/Trash/?

ฉันดูที่นี้มานานกว่า 20 นาทีแล้ว


หากคุณมีเวลาว่างคุณสามารถดูlibnautilus-private/nautilus-file-operations.cในแหล่งที่มา ( apt-get source nautilus) ฉันไม่มีความขยันและอดทนอ่านค. คำถามที่น่าสนใจ +1
phipsalabim

3
rm -rf ~/.local/share/Trashอาจจะเร็วกว่า ดูaskubuntu.com/a/468722/2273
Adam Monsen

คำตอบ:


5

เมื่อการดำเนินการครั้งแรกเกิดขึ้นเพียงแค่ย้ายไฟล์ไปที่ถังขยะ

เมื่อคุณ "ขยะ" ไฟล์เหล่านั้นมันจะโหลดไฟล์ทรีทั้งหมดลงในหน่วยความจำแล้วลบแต่ละไฟล์ทีละไฟล์ วิธีนี้ช่วยให้การคำนวณเวลารู้ว่าต้องใช้เวลานานแค่ไหนในการลบไฟล์จำนวนไฟล์ที่จะถูกลบขนาดไฟล์เหล่านั้นมีจำนวนเท่าใดถึงแม้ว่าพารามิเตอร์ส่วนใหญ่จะไม่ได้ใช้ที่นี่และช่วยให้คุณกดกากบาทสีแดงเล็ก ๆ หยุดกระบวนการ

นั่นเป็นเหตุผลที่ฉันลบออกจากเปลือกเสมอ


เมื่อฉันเข้าไปในถังขยะหอยโข่งมันจะหยุดหอยโข่งเป็นเวลานานที่ฉันไม่สามารถกดอะไรได้เลย ฉันสงสัยว่าอาจมีวิธีปิดการใช้งานหรือป๊อปอัพถ้าฉันต้องการเห็นมันบน nautilus เพราะฉันใช้มันกับสิ่งอื่น ๆ อีกมากมายและทันใดนั้นฉันต้องรอประมาณ 3 นาทีเพื่อที่จะใช้ nautilus อีกครั้งถ้าฉัน ไม่ต้องการเริ่มต้นใหม่ :(
กุมภ์ Power
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.