อธิบายแฟล็ก -W สำหรับ rm


8

การ-Wตั้งค่าสถานะสำหรับrmทำอะไร (บน BSD หรือ Mac OS X)

ตามหน้าเพจนั้นแฟล็กพยายามที่จะ "ยกเลิกการลบไฟล์ที่มีชื่อ" และในปัจจุบัน "ตัวเลือกนี้สามารถใช้เพื่อกู้คืนไฟล์ที่มี Whiteouts เท่านั้น" ทั้งหมดนี้เกี่ยวกับอะไรและฉันจะใช้ได้อย่างไร


ไม่rmสนับสนุนการ-Wตั้งค่าสถานะทุกรุ่น โดยเฉพาะอย่างยิ่งรุ่น GNU coreutils ที่ใช้โดยส่วนใหญ่หรือการกระจาย Linux ทั้งหมดไม่ได้ rm: invalid option -- 'W'
Keith Thompson เมื่อ

ฉันควรระบุว่าฉันอ้างถึงเวอร์ชัน BSD
Whymarrh

คำตอบ:


16

การ-Wตั้งค่าสถานะเป็นตัวเลือกที่ผู้ใช้ส่วนใหญ่BSD/OSXไม่จำเป็นต้องใช้เนื่องจากจะใช้กับ "การรวมเข้าด้วยกัน " เท่านั้น การเมาต์ชนิดนี้อนุญาตให้ติดตั้งระบบไฟล์หลาย ๆ ระบบซึ่งปรากฏเป็นระบบไฟล์เดียว เพื่ออธิบายเพิ่มเติมนี้นี่เป็นนามธรรมจากกระดาษชื่อ " Union Mounts ใน 4.4BSD-Lite " โดยผู้เขียน Jan-Simon Pendry และ Marshall Kirk McKusick:

แตกต่างจากการเมาท์ดั้งเดิมที่ซ่อนเนื้อหาของไดเรกทอรีที่วางยูเนี่ยนเมาท์นำเสนอมุมมองของการควบรวมกิจการของทั้งสองไดเรกทอรี แม้ว่าระบบไฟล์ที่ด้านบนสุดของสหภาพสแต็กเท่านั้นที่สามารถแก้ไขได้ แต่ระบบไฟล์รวมจะมีลักษณะที่อนุญาตให้ลบหรือแก้ไขอะไรก็ได้ ไฟล์ในเลเยอร์ที่ต่ำกว่าอาจถูกลบโดยมี whiteout ในเลเยอร์ด้านบน ไฟล์ที่จะแก้ไขจะถูกคัดลอกไปยังเลเยอร์ด้านบนโดยอัตโนมัติ ฟังก์ชั่นใหม่นี้ทำให้แอพพลิเคชั่นใหม่ ๆ ที่เป็นไปได้รวมถึงความสามารถในการใช้แพทช์กับ CD-ROM และกำจัดลิงก์สัญลักษณ์ที่สร้างขึ้นโดย automounter อาจเป็นไปได้คือการจัดเตรียมมุมมองต่อผู้ใช้ของระบบไฟล์ที่อนุญาตมุมมองส่วนตัวของพื้นที่ทำงานที่ใช้ร่วมกัน

กระดาษนี้ยังกล่าวถึงการดำเนินการหมดจด:

หากชื่อถูกลบออกจากเนมสเปซของเลเยอร์ล่างจะมีการสร้าง Whiteout ในเลเยอร์ด้านบน Whiteout มีผลในการปกปิดชื่อในเลเยอร์ล่าง การดำเนินการที่ทำให้เกิด Whiteout ที่จะสร้างรวมถึงการยกเลิกการเชื่อมโยง rmdir และเปลี่ยนชื่อ

นำมารวมกันrmด้วยการ-Wตั้งค่าสถานะใช้ "whiteout" สร้างขึ้นในชั้นบนสุดเพื่อเรียกคืนไฟล์ "ลบ" จากชั้นล่าง สำหรับการใช้งานโปรดดูคู่มือ

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