ทำการศึกษาเกี่ยวกับคำสั่ง Unix พื้นฐานและพยายามรับตัวอย่างเมื่อฉันต้องการใช้ตัวเลือกบรรทัดคำสั่งต่อไปนี้--attributes-only
สำหรับคำสั่งcp
นี่คือจากcp
หน้าคน
--attributes-only
don't copy the file data, just the attributes
ทำการศึกษาเกี่ยวกับคำสั่ง Unix พื้นฐานและพยายามรับตัวอย่างเมื่อฉันต้องการใช้ตัวเลือกบรรทัดคำสั่งต่อไปนี้--attributes-only
สำหรับคำสั่งcp
นี่คือจากcp
หน้าคน
--attributes-only
don't copy the file data, just the attributes
คำตอบ:
สมมติว่าคุณมีไฟล์file1
ที่คุณรู้ว่าควรมีแอ็ตทริบิวต์เหมือนกันfile2
(คุณรู้ว่าfile2
มีคุณสมบัติที่ถูกต้อง)
$ stat file{1,2}
File: 'file1'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 1fh/31d Inode: 2326956 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ chris) Gid: ( 1000/ chris)
Access: 2013-12-24 09:53:20.248720441 +0800
Modify: 2013-12-24 09:53:20.248720441 +0800
Change: 2013-12-24 09:53:31.011984772 +0800
Birth: -
File: 'file2'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 1fh/31d Inode: 2326957 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ chris) Gid: ( 1000/ chris)
Access: 2013-12-24 09:53:21.045382001 +0800
Modify: 2013-12-24 09:53:21.045382001 +0800
Change: 2013-12-24 09:53:21.045382001 +0800
Birth: -
วิธีหนึ่งในการตรวจสอบให้แน่ใจว่าตรงกันคือไปและตรวจสอบfile2
และใช้แอตทริบิวต์ด้วยตนเอง:
$ chmod 644 file1
อย่างไรก็ตามนี่เป็นเรื่องยุ่งยากที่จะทำให้เป็นอัตโนมัติและสคริปต์ มันจะง่ายกว่าที่จะได้รับคุณลักษณะfile2
และนำไปใช้กับfile1
โปรแกรม
$ cp --attributes-only --preserve file2 file1
$ stat file1
File: 'file1'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 1fh/31d Inode: 2326956 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ chris) Gid: ( 1000/ chris)
Access: 2013-12-24 09:53:21.045382001 +0800
Modify: 2013-12-24 09:53:21.045382001 +0800
Change: 2013-12-24 09:57:06.320604649 +0800
Birth: -
--attributes-only
ไม่ได้ทำอะไรด้วยตัวเอง จำเป็นต้องรวมกับการตั้งค่าสถานะการสงวนคุณลักษณะอื่น จากinfo cp
:
--attributes-only
Copy only the specified attributes of the source file to the
destination. If the destination already exists, do not alter its
contents. See the `--preserve' option for controlling which
attributes to copy.
--preserve
--preserve=mode,ownership,timestamps
ถูกนำมาใช้ข้างต้นซึ่งเป็นเอกสารที่เป็นเทียบเท่ากับ ภายในคุณสามารถคิดว่านี่เป็น "อย่าคัดลอกข้อมูล" แทนที่จะเป็น "คัดลอกคุณลักษณะเท่านั้น" ซึ่งเป็นสาเหตุที่คุณต้องผ่าน--preserve
โดยไม่คำนึงถึง
หากคุณมีสมาร์ทโฟนคุณสามารถเลือกเพลงจากพีซีเมื่อคุณอยู่ห่างไกล:
$ cp -rn --attributes-only ~/Music smartphone/Music
เมื่อคุณอยู่ห่างจากพีซีให้ลบไดเรกทอรีคุณต้องการคัดลอกในอนาคต
$ cp -rn ~/Music smartphone/Music
คุณได้รับเลือกเพลงและไฟล์ที่ว่างเปล่า