วัตถุประสงค์ของ cp -x (อยู่ในระบบไฟล์)


25

หากฉันต้องการอยู่ในระบบไฟล์เดียวกันฉันไม่สามารถระบุพา ธ เอาต์พุตสำหรับระบบไฟล์เดียวกันได้หรือไม่

หรือเพื่อป้องกันการออกจากระบบไฟล์ปัจจุบันโดยไม่ตั้งใจ?


1
-x ในบริบทที่แตกต่าง: unix.stackexchange.com/a/358331/30851แต่เหมือนกันสำหรับ cp: -x ข้ามสิ่งต่าง ๆ หากคุณต้องการย้ายระบบไฟล์และต้องการให้มันเป็นสำเนาที่สมบูรณ์ คุณภาพเต็ม
frostschutz

1
คุณสามารถถามเหมือนกันเกี่ยวกับการตั้งค่าสถานะจำนวนมากเช่น-i: "ทำไมไม่เพียงระบุปลายทางที่ไม่มีอยู่"
JigglyNaga

1
@ JigglyNaga ฉันก็คิดอย่างนั้นเช่นกัน แต่ -x ไม่ได้เป็นประโยคที่ดีในเอกสารและชัดเจนน้อยกว่ามาก
neverMind9

คำตอบ:


59

มัน จำกัด ที่ไฟล์จะถูกคัดลอกมาจากไม่ได้ที่พวกเขากำลังถูกคัดลอกไป มันมีประโยชน์กับสำเนาแบบเรียกซ้ำเพื่อควบคุมวิธีการcpสืบทอดไปยังไดเรกทอรีย่อย ดังนั้น

cp -xr / blah

จะคัดลอกระบบไฟล์รูทเท่านั้นไม่ใช่ระบบไฟล์อื่นที่เมาท์

ดูเอกสาร (แม้ว่าความแตกต่างของมันเป็นที่ลึกซึ้ง)cp -x


3
โอ้ใช่คุณอาจไม่ต้องการคัดลอกแชร์เครือข่ายภายใต้ / mnt หรือที่เก็บ RCS ระยะไกลที่ติดตั้งอยู่ใต้ไดรฟ์ในบ้านของคุณ
mckenzm

1
@ mckenzm ยัง/mntเป็นเพราะบางครั้งการประชุมของมนุษย์ถูกบังคับใช้โดยการตั้งค่าของ distro แต่ไม่ใช่ความต้องการของระบบปฏิบัติการ บางครั้งฉันติดตั้งระบบไฟล์เครือข่ายเพื่อติดตั้ง/var/somewebsite/www/sessionsโหลดบาลานซ์ของเว็บเซิร์ฟเวอร์
slebetman

อันที่จริงการตั้งค่าสถานะนี้ป้องกันการคัดลอกแชร์เครือข่ายขนาดใหญ่หรือสื่อที่ถอดได้โดยไม่ตั้งใจซึ่งคุณลืมว่าติดตั้งไว้ และคุณไม่จำเป็นต้องให้--excludeตัวเลือกในการบล็อกแต่ละรายการด้วยตนเอง มีประโยชน์มากกับ rsync
Lassi

3
นอกจากนี้ยังหลีกเลี่ยงการคัดลอกไฟล์ระบบเช่น/dev, /proc, /sysฯลฯ ที่คุณมักจะไม่ต้องการที่จะอ่าน“ว่อน”
สตีเฟ่น Kitt

28

การ-xตั้งค่าสถานะเพื่อcpเป็นส่วนขยาย GNU เมื่อคัดลอกไฟล์เดียวตัวเลือกนี้จะไม่มีผลกระทบ แต่เมื่อคัดลอกลำดับชั้นไฟล์ทั้งหมด-xตัวเลือกจะป้องกันการคัดลอกไฟล์และไดเรกทอรีที่ไม่ได้อยู่บนระบบไฟล์เดียวกับต้นฉบับ

ยกตัวอย่างเช่นในระบบแฟ้มที่มีการติดตั้งจุด/usrและ/usr/localใช้จะไม่คัดลอกลำดับชั้นภายใต้cp -xR /usr /some-dest/usr/local

มีสาธารณูปโภคอื่น ๆ ที่มีเป็น-xตัวเลือกที่มีความหมายคล้ายกันเช่นduและfind(ธงที่เรียกว่า-xdevสำหรับfind) rsyncและ

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