ตัวเลือกคำสั่ง macOS rm '-W' - ยกเลิกการลบ


22

ฉันกำลังดูหน้า man สำหรับrmคำสั่งบน MacBook ของฉันและฉันสังเกตเห็นสิ่งต่อไปนี้:

- ความพยายามที่จะยกเลิกการลบไฟล์ที่มีชื่อ ขณะนี้ตัวเลือกนี้สามารถใช้เพื่อกู้คืนไฟล์ที่มี Whiteouts เท่านั้น

สิ่งนี้หมายความว่า? "Whiteout" คืออะไร?

คำตอบ:


20

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

มีชนิดพิเศษของไฟล์ที่เป็นตัวแทนของเหล่านี้อยู่ในประเพณี BSD ว่า MacOS มาจาก: MacOS ใช้st_modeบิต 0160000 เพื่อทำเครื่องหมายพวกเขา การใช้ls -Fไฟล์เหล่านั้นจะถูกทำเครื่องหมายด้วย%เครื่องหมายและls -Wจะแสดงว่ามีอยู่ (ไม่เช่นนั้นโดยทั่วไปจะถูกละไว้จากรายชื่อ) ระบบยูเนี่ยนหลายแห่งยังสร้างไฟล์ปกติที่มีชื่อพิเศษเพื่อแสดง Whiteouts ในระบบที่ไม่รองรับไฟล์เหล่านั้น

ฉันไม่แน่ใจว่า macOS จะเปิดเผยสิ่งเหล่านี้ในทางใดทางหนึ่ง แต่ระบบอื่น ๆ ที่สืบทอดมาจาก BSD นั้นทำได้และเป็นไปได้ว่าไดรเวอร์ระบบไฟล์ภายนอกสามารถใช้งานได้


12

"Whiteout" เป็นคุณสมบัติของระบบไฟล์รวม

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

rmยูทิลิตี้สามารถที่จะเอาเบลบอยและทำให้ไฟล์ปรากฏขึ้นอีกครั้ง (ตั้งแต่มันก็ไม่เคยถูกลบออกจากระบบไฟล์ที่ต่ำกว่า)

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