cp บอกว่ามันเป็นการลบไฟล์ แต่ไม่ควรจะเป็น


10

ทำการสำรองข้อมูลอย่างรวดเร็ว:

root@guilmon:/mnt/backup/guilmon/home# cp -uvfrx --preserve=all /home/rena/ .

ผลลัพธ์เป็นสิ่งที่น่าประหลาดใจ - ไฟล์บางไฟล์ถูกลบออกไป!

removed ‘./rena/dev/lua/conkybitcoin/conkybitcoin.lua’

ดูเหมือนว่าไฟล์ที่ถูกลบจะสุ่มและไม่เปลี่ยนแปลง ทำไมถึงบอกว่าเอาออกไป แม้แต่คนแปลกหน้าดูเหมือนว่าจะไม่ได้ลบไฟล์นั้นจริง ๆ (หรือแหล่งที่มา) เกิดอะไรขึ้น?

คำตอบ:


15

cpด้วย--forceและ--verboseตัวเลือก ( -fและ-vในบรรทัดคำสั่งของคุณ) จะส่งข้อความ "ลบ" เมื่อใดก็ตามที่มันจะลบไฟล์ปลายทางก่อนที่จะคัดลอก ( --forceบอกcpให้ลบไฟล์ปลายทางหากไม่สามารถเปิดได้ก่อนลองคัดลอกอีกครั้ง)

ในตัวอย่างของคุณหมายความว่า./rena/dev/lua/conkybitcoin/conkybitcoin.luaไม่สามารถเปิดเพื่อเขียนได้ให้cpลบออกแล้วคัดลอกมา/home/renaใหม่


ฉันเห็น. ดังนั้นคำถามคือทำไมมันไม่สามารถเปิดได้ ...
เรน่า

มันเป็นแบบอ่านอย่างเดียวหรือไม่
Stephen Kitt

1
คำถามจริงคือมันเป็น (ไฟล์ที่มีอยู่แล้วในไดเรกทอรีปลายทาง) อ่านอย่างเดียวก่อนที่คุณจะรันcpคำสั่งหรือไม่
G-Man กล่าวว่า 'Reinstate Monica'

ทั้งคู่เป็นโหมด 0644 และฉันรัน cp ในฐานะรูทดังนั้นควรปรับได้ ปลายทางที่มีอยู่ควรใช้ได้เช่นกันเนื่องจากฉันใช้คำสั่งเดียวกันเพื่อคัดลอกทั้งหมด/homeไปยังดิสก์สำรองข้อมูลเมื่อวานนี้หลังจากสร้างระบบไฟล์ใหม่ที่ว่างเปล่าบนมัน btrfs scrubรายงานข้อผิดพลาดบนดิสก์ทั้งสอง
Rena
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.