ฉันจะคัดลอกไฟล์ซ้ำโดยไม่เขียนทับสิทธิ์ที่มีอยู่ได้อย่างไร


9

เมื่อฉันคัดลอกไฟล์จากไดเรกทอรีหนึ่งไปยังอีกไดเรกทอรีสิทธิ์ในการได้รับการรีเซ็ต (เช่นจาก 0755 ถึง 0775) และสิ่งนี้ทำให้เกิดปัญหาบังคับให้ฉันกลับไปและรีเซ็ตสิทธิ์ไดเรกทอรีด้วยตนเอง ฉันกำลังทำcp -r /source/directory /destination/directory

ฉันต้องการคัดลอกไฟล์และไดเรกทอรีใหม่ทั้งหมด แต่ไม่เขียนทับสิทธิ์ของไดเรกทอรีที่มีอยู่

คำตอบ:


5

เพื่อรักษาลิงก์ที่คุณอาจจะใช้cp( manpage สำหรับซีพี ) กับธงซึ่งเทียบเท่ากับ-d--no-dereference --preserve=links

การรวมนี้ด้วย-pและธงคุณสามารถใช้ข้อมูลที่เก็บธง-R-a



2

ฉัน~/.bashrcได้รับการแก้ไขเพื่อให้มี

alias cp='cp -i --preserve=all'

ซึ่งหมายความว่าเมื่อฉันใช้cpมันจะแจ้งให้ทราบก่อนที่จะเขียนทับ ( -i) และเก็บรักษาทั้งหมด (เช่นโหมดความเป็นเจ้าของการประทับเวลาและหากมีคุณสมบัติเพิ่มเติมที่เป็นไปได้: บริบทลิงก์ xattr)

คุณก็สามารถเปลี่ยนได้เพียงแค่modeแทนallถ้าคุณต้องการ cpแต่ฉันทำเหมือนมีนามแฝงนี้เพื่อเปลี่ยนค่าเริ่มต้นของ

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