ฉันจะคัดลอกไฟล์ใน Linux ได้อย่างไรเมื่อไฟล์ที่ถูกคัดลอกนั้นใหม่กว่ารุ่นที่ปลายทาง
หากไฟล์ที่ปลายทางนั้นใหม่กว่าฉันต้องการให้คัดลอกไฟล์ไม่ได้ไปข้างหน้า
ฉันจะคัดลอกไฟล์ใน Linux ได้อย่างไรเมื่อไฟล์ที่ถูกคัดลอกนั้นใหม่กว่ารุ่นที่ปลายทาง
หากไฟล์ที่ปลายทางนั้นใหม่กว่าฉันต้องการให้คัดลอกไฟล์ไม่ได้ไปข้างหน้า
คำตอบ:
การใช้ตัวเลือกการอัพเดท (-u) กับ cp ควรทำเพื่อคุณ
http://beginnerlinuxtutorial.com/help-tutorial/basic-linux-commands/cp-linux-copy-command/
ใช้rsync
rsync --progress -r -u /from/one/* /to/another/directory
-r
หมายถึงการดำเนินการซ้ำในไดเรกทอรีย่อยและ-u
เพื่อให้ไฟล์ใหม่ที่ปลายทาง (= update) --progress
แสดงข้อมูลความคืบหน้าในระหว่างการดำเนินการ
คุณไม่ได้พูดว่าคุณใช้เปลือกอะไรดังนั้นฉันจะถือว่าksh
:
if [[ file1 -nt file2 ]]; then cp file1 file2; fi
yes|cp -ruv /from/* /to/.
ใช่ - ตอบว่าใช่สำหรับคำถามทั้งหมด
r - Recursive
u - อัพเดต
v - ความคืบหน้า
ทำงานเหมือนxargs
ฉันไม่รู้วิธีอธิบายเชิงวิชาการ
-u
ตัวเลือก คุณสามารถใช้rsync --update
แทน