เหตุใดการลบออกจากบรรทัดคำสั่งจึงใช้เวลาน้อยกว่าอย่างมากจาก GUI


26

บางสิ่งที่ฉันสงสัยเกี่ยวกับขณะลบภาพจากคอมพิวเตอร์ของฉันเป็นโหลหรือมากกว่านั้น: ด้วยrm -rfคำสั่งที่รวดเร็วในเนื้อหาของไดเรกทอรีภาพทั้งหมดก็หายไปอย่างรวดเร็ว เมื่อฉันลากภาพโหลเดียวกันหรือมากกว่านั้นไปยังถังขยะสามารถ / รีไซเคิลแบนบางครั้งมันใช้เวลา 10 วินาทีหรือมากกว่านั้น

ตอนนี้ฉันแน่ใจว่าบางอย่างมาจากค่าใช้จ่ายของ GUI และเช่นนั้นและบางส่วนอาจเป็นความจริงที่ว่าไฟล์ยังคง "มีอยู่" ในบางรูปแบบถ้ามันใส่ลงในถังรีไซเคิล แต่มีอะไรอีกที่ บัญชีสำหรับความแตกต่างครั้งใหญ่เช่นนี้? "rm" และ "ลบ" เป็นเพียงคำสั่งที่แตกต่างกันโดยพื้นฐานดังนั้นฉันจึงพยายามเปรียบเทียบแอปเปิ้ลและส้ม


1
มันเป็นความจริงบนหน้าต่างเช่นกันด้วยเหตุผลเดียวกันที่ระบุด้านล่าง
Chris H

คำตอบ:


38

ตามที่คุณสังเกตเห็นถูกต้อง GUI ทำมากกว่า "ลบ" ไฟล์

$ rm -rf 

เพียงแค่เรียกใช้ซ้ำในโฟลเดอร์การลบไฟล์และโฟลเดอร์ที่พบในนั้น

GUI แรกสแกนต้นไม้ทั้งหมดเพื่อหาว่ามีอะไรอยู่บ้าง (เพื่อให้รู้ว่าต้องทำอย่างไรเพื่อวาดแถบสวย) จากนั้นมันจะวนซ้ำผ่านต้นไม้อีกครั้งเพื่อย้ายไฟล์จากตำแหน่งปัจจุบันไปยังตำแหน่งของ ถังขยะสามารถไฟล์สำหรับ GUI เฉพาะของคุณ การย้ายนั้นใช้เวลานานขึ้นเนื่องจากจะต้องสร้างชื่อไฟล์ที่ไม่ซ้ำใหม่ก่อนเชื่อมโยงไฟล์ในโฟลเดอร์ถังขยะจากนั้นยกเลิกการลิงก์จากโฟลเดอร์ปัจจุบันและอัปเดตดัชนีที่มาของไฟล์เพื่อให้สามารถ "เลิกทำ" - การดำเนินการหลายอย่างแทนที่จะเป็นเพียงหนึ่งเดียว

ตัวอย่างเช่นใน Gnome 3 ไฟล์จะถูกย้ายไปที่ตำแหน่ง:

~/.local/share/Trash/files/<filename>[.<version>]

filenameชื่อไฟล์ต้นฉบับอยู่ที่ไหนและversionเป็นหมายเลขเวอร์ชันที่เพิ่มขึ้นเพื่อให้แน่ใจว่าไฟล์นั้นไม่ซ้ำกัน (อินสแตนซ์ไฟล์แรกไม่มีหมายเลขเวอร์ชัน) เชื่อมโยงกับ.trashinfoไฟล์นั้นถูกเก็บไว้ในโฟลเดอร์:

~/.local/share/Trash/info/<filename>[.<version>].trashinfo

ไฟล์นี้มีเส้นทางดั้งเดิมของไฟล์ก่อนที่จะลบเช่นเดียวกับวันที่และเวลาที่ไฟล์นี้ถูกลบ

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

ไม่มีสิ่งใดที่ทำด้วยคำสั่งง่ายๆrmหรือmvคำสั่ง


1
เฮ้ใครเป็นคนลบความคิดเห็นทั้งหมด? เราเพิ่งรู้ว่าคำตอบนี้อาจผิด อย่างน้อยtrash-cliก็ดูเหมือนจะไม่ทำซ้ำ เมื่อลบโฟลเดอร์ Gnome 3 จะวาง.trashinfoไฟล์ซ้ำสำหรับโฟลเดอร์ย่อยแต่ละโฟลเดอร์และมีไฟล์ทั้งหมดหรือไม่
mb21

คิดว่ามันเกะกะเกินไปสำหรับพวกเขา! ;-)
Jordan Plahn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.