ตามที่คุณสังเกตเห็นถูกต้อง 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
คำสั่ง