คำถามติดแท็ก cp

cp - เครื่องมือบรรทัดคำสั่งเพื่อคัดลอกไฟล์

2
ฉันจะใช้ cp --attribute-only เมื่อใด
ทำการศึกษาเกี่ยวกับคำสั่ง Unix พื้นฐานและพยายามรับตัวอย่างเมื่อฉันต้องการใช้ตัวเลือกบรรทัดคำสั่งต่อไปนี้--attributes-onlyสำหรับคำสั่งcp นี่คือจากcpหน้าคน --attributes-only don't copy the file data, just the attributes
10 files  cp 

5
ระบบไฟล์จะสามารถคัดลอกได้อย่างไร
ฉันมีระบบไฟล์สำหรับอุปกรณ์ที่ฉันกำลังเขียนโปรแกรมซึ่งฉันต้องการทำสำเนาอย่างถูกต้อง โดยอุดมคติแล้วฉันต้องการให้สำเนานี้เหมือนกับโฟลเดอร์ที่คัดลอกมา ฉันพยายามใช้cp -r cp -aและrsync -azvPพยายามทำให้สำเร็จ แต่ละอันมีผลในโฟลเดอร์ที่มีขนาดแตกต่างกัน (โดยใช้du -s) และท้ายที่สุดแม้ว่าอุปกรณ์ของฉันจะหมดไปจากโฟลเดอร์ดั้งเดิม แต่มันจะไม่หายไปจากโฟลเดอร์ที่ฉันคัดลอก อะไรคือสิ่งที่ทำให้คำสั่งที่ฉันใช้ไม่ได้ผล? เป็นไปได้ไหมที่จะทำให้ทุกอย่างเหมือนกันเมื่อทำการคัดลอกระบบไฟล์ / โฟลเดอร์? ถ้าเป็นเช่นนั้นฉันจะทำยังไงต่อไป? PS ฉันโพสต์คำถามที่คล้ายกันในStackOverflowแต่รู้ได้อย่างรวดเร็วว่าฉันได้ถามมันในการแลกเปลี่ยนที่ไม่ถูกต้อง แก้ไข: สิ่งนี้อาจไม่เป็นประโยชน์ แต่ไม่ว่าฉันจะใช้วิธีการใดในการคัดลอกไดเรกทอรีจะทำให้เครื่องมีปัญหากับ Kernel Panic ด้วยผลลัพธ์ต่อไปนี้ VFS: ไม่สามารถเมานท์รูท fs ผ่าน NFS ลองฟลอปปี้ VFS: ไม่สามารถเปิดอุปกรณ์รูท "nfs" หรือ unknown-block (2,0) โปรดผนวกตัวเลือกการบูต "root =" ที่ถูกต้อง นี่คือพาร์ติชั่นที่มีอยู่: 1f00 64 mtdblock0 (ไดรเวอร์?) 1f02 64 mtdblock2 (ไดรเวอร์?) …
10 linux  filesystems  rsync  cp 

2
ทำไม `cp 'และ` rm` จึงดูแลไดเรกทอรีต่างกัน
ทำไมเครื่องมือที่ชอบcpและrmปฏิบัติต่อไดเรกทอรีแยกจากไฟล์ปกติ? พวกเขาทั้งสองต้องการให้ผู้ใช้ระบุอย่างชัดเจนว่าเธอต้องการพฤติกรรมแบบเรียกซ้ำมิฉะนั้นพวกเขาจะไม่จัดการกับไดเรกทอรีเลย การโต้ตอบครั้งแรกของฉัน (กลับมาอีกครั้ง) กับคอมพิวเตอร์อยู่ในสภาพแวดล้อม Windows / GUI / จุดและคลิก / ลากและวาง พฤติกรรมนี้ทำให้ฉันผิดหวังเมื่อฉันให้คำสั่งด้วย wildcard หากฉันต้องการที่จะลบทุกอย่างในไดเรกทอรี ( *) ยกเว้นsubdirs ไม่ว่างเปล่า ? ฉันสามารถจินตนาการได้ว่านี่เป็นคุณลักษณะด้านความปลอดภัยบางอย่างที่จะป้องกันไม่ให้ผู้ใช้ยิงตัวเองด้วยการเดินเท้า แต่สิ่งนี้ขัดแย้งกับความเข้าใจของฉันเกี่ยวกับหลักการ Unix สองสามข้อ: Unix มักจะไม่ปกป้องผู้ใช้จากตัวเอง มีการสันนิษฐานเสมอว่าผู้ใช้รู้ว่าเธอกำลังทำอะไรอยู่ สำหรับ Unix ทุกอย่างเป็นไฟล์ ไดเรกทอรีไม่ใช่ไฟล์อื่นใช่หรือไม่ ทำไมพวกเขาถึงได้รับการปฏิบัติต่างกัน? คำถามของฉัน: พฤติกรรมนี้เกิดจากข้อ จำกัด ทางเทคนิคหรือเป็นตัวเลือกโดยเจตนาหรือไม่? และในกรณีหลัง มีเรื่องราวทางประวัติศาสตร์เกี่ยวกับเหตุผลที่กระตุ้นตัวเลือกนี้หรือไม่?
10 rm  cp 

2
tar ไฟล์จากไดเรกทอรีอื่นโดยไม่คัดลอก
นี่ควรจะง่ายมากสำหรับผู้เชี่ยวชาญที่นี่ ฉันมีบัญชี Linux พร้อมโควต้าดิสก์ผู้ใช้เพียง 6GB มีโฟลเดอร์ข้อมูลบางส่วนที่มีข้อมูล/optประมาณ 3GB เมื่อบีบอัดขึ้นมา 1GB data-folderมีบางอย่างที่เชื่อมโยงสัญลักษณ์อยู่ภายใน โดยปกติแล้วสำหรับการสำรองข้อมูลการทำงานฉันใช้ในการทำดังต่อไปนี้ cp -rvfL /opt/data-folder ~/ cd ~/ tar -zcvf data-folder.tar.gz data-folder rm -rvf data-folder ตอนนี้ผมมีการบริโภคอยู่แล้ว 2.5GB ในโควต้าของฉันดิสก์ของผู้ใช้ผมมีพื้นที่พอเพียงที่จะคัดลอกไฟล์ไปที่บ้านของฉัน แต่ไม่ถึงtarมันอีกครั้ง มีวิธีการ tar และคัดลอกโฟลเดอร์ด้วยคำสั่งเดียวพูดโดยใช้ไพพ์ PS ฉันไม่สามารถน้ำมันดินใน/optเพราะฉันมีเพียง /optแต่การเข้าถึงการอ่านเพื่อ
10 files  tar  cp 

5
วิธีการคัดลอกไฟล์ทำธุรกรรม?
ฉันต้องการคัดลอกไฟล์จาก A ถึง B ซึ่งอาจอยู่ในระบบไฟล์ที่แตกต่างกัน มีข้อกำหนดเพิ่มเติมบางประการ: การคัดลอกนั้นมีทั้งหมดหรือไม่มีไฟล์ไม่มีไฟล์ B บางส่วนหรือเสียหายที่เกิดความผิดพลาด อย่าเขียนทับไฟล์ที่มีอยู่ B; อย่าแข่งขันกับการดำเนินการพร้อมกันของคำสั่งเดียวกันอย่างมากหนึ่งสามารถประสบความสำเร็จ ฉันคิดว่านี่เข้าใกล้: cp A B.part && \ ln B B.part && \ rm B.part แต่ 3. ถูกละเมิดโดย cp จะไม่ล้มเหลวหาก B.part มีอยู่ (แม้จะมีแฟล็ก -n) ต่อมา 1. อาจล้มเหลวหากกระบวนการอื่น 'ชนะ' cp และไฟล์ที่ลิงก์เข้าที่ไม่สมบูรณ์ B.part อาจเป็นไฟล์ที่ไม่เกี่ยวข้อง แต่ฉันยินดีที่จะล้มเหลวโดยไม่ลองใช้ชื่ออื่นที่ซ่อนอยู่ในกรณีนั้น ฉันคิดว่า bash noclobber ช่วยได้ทำงานได้อย่างสมบูรณ์หรือไม่ มีวิธีรับโดยไม่มีข้อกำหนดรุ่น bash หรือไม่ …
9 linux  bash  cp 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.