ฉันกำลังมองหาความแตกต่างระหว่างและcp -r cp -a"เรียกซ้ำ" หมายถึงอะไรในแง่ของการคัดลอกไฟล์จากโฟลเดอร์
ฉันกำลังมองหาความแตกต่างระหว่างและcp -r cp -a"เรียกซ้ำ" หมายถึงอะไรในแง่ของการคัดลอกไฟล์จากโฟลเดอร์
คำตอบ:
หมายถึงการเรียกซ้ำที่cpคัดลอกเนื้อหาของไดเรกทอรีและหากไดเรกทอรีมีไดเรกทอรีย่อยก็จะถูกคัดลอก (เรียกซ้ำ) ด้วย โดยไม่ต้อง-Rที่cpไดเรกทอรีคำสั่งข้าม -rเหมือนกันกับ-Rบน Linux มันแตกต่างกันในบางกรณีของขอบในรูปแบบ unix อื่น ๆ
โดยค่าเริ่มต้นcpสร้างไฟล์ใหม่ที่มีเนื้อหาเหมือนกับไฟล์เก่าและการอนุญาตเดียวกัน แต่ จำกัด โดยumask ; การคัดลอกนั้นมาจากวันที่ในการทำสำเนาและเป็นของผู้ใช้ที่ทำการทำสำเนา ด้วย-pตัวเลือกการคัดลอกจะมีเวลาแก้ไขเหมือนกันเวลาเข้าถึงเดียวกันและการอนุญาตเดียวกันกับต้นฉบับ นอกจากนี้ยังมีเจ้าของและกลุ่มเดียวกันกับต้นฉบับหากผู้ใช้ทำสำเนามีสิทธิ์ในการสร้างไฟล์ดังกล่าว
-aตัวเลือกหมายความ-Rและ-pบวกไม่กี่ตัวเลือกการรักษาอื่น ๆ มันพยายามที่จะทำสำเนาที่ใกล้เคียงกับของดั้งเดิมที่สุดเท่าที่จะเป็นไปได้: แผนผังไดเรกทอรีเดียวกัน, ประเภทไฟล์เดียวกัน, เนื้อหาเดียวกัน, ข้อมูลเมตาเดียวกัน (เวลา, สิทธิ์, คุณลักษณะเพิ่มเติม ฯลฯ )
-rเพราะ-a(สำหรับarchive) นั้นปลอดภัยที่สุดและอาจเป็นสิ่งที่คุณคาดว่าจะเกิดขึ้นเสมอ
-rเป็นเพราะคุณอยู่ในบางส่วนที่แตกต่างยูนิกซ์ลินุกซ์อื่น ๆ นอกเหนือจากที่ไม่ได้และโดยทั่วไปคุณต้องการใช้-a หรือcp -rp rsync -a
ตัวเลือก -r หรือ -R สำหรับ "recursive" หมายความว่ามันจะคัดลอกไฟล์ทั้งหมดรวมถึงไฟล์ที่อยู่ในโฟลเดอร์ย่อย
ตัวเลือก - ตามที่ระบุไว้เป็นเช่นเดียวกับ -dR ซึ่งหมายความว่ามันจะรักษาลิงค์เช่นเดียวกับการคัดลอกเนื้อหาของไดเรกทอรีย่อย ความหมายของการรักษาลิงก์คือมันจะไม่ติดตามลิงก์ในขณะที่คัดลอกซ้ำ