Android

คำสั่ง Cp ใน linux (คัดลอกไฟล์)

पृथà¥?वी पर सà¥?थित à¤à¤¯à¤¾à¤¨à¤• नरक मंदिर | Amazing H

पृथà¥?वी पर सà¥?थित à¤à¤¯à¤¾à¤¨à¤• नरक मंदिर | Amazing H

สารบัญ:

Anonim

เมื่อทำงานกับระบบ Linux และ Unix การคัดลอกไฟล์และไดเรกทอรีเป็นหนึ่งในงานที่พบบ่อยที่สุดที่คุณต้องทำในแต่ละวัน

cp เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งสำหรับการคัดลอกไฟล์และไดเรกทอรีบนระบบ Unix และ Linux

เราจะอธิบายวิธีใช้คำสั่ง cp

วิธีใช้คำสั่ง cp

ไวยากรณ์ทั่วไปสำหรับคำสั่ง cp มีดังนี้:

cp SOURCE… DESTINATION

SOURCE สามารถมีไฟล์หรือไดเรกทอรีหนึ่งไฟล์หรือมากกว่าเป็นอาร์กิวเมนต์และอาร์กิวเมนต์ DESTINATION อาจเป็นไฟล์หรือไดเรกทอรีเดียว

  • เมื่ออาร์กิวเมนต์ SOURCE และ DESTINATION เป็นทั้งไฟล์คำสั่ง cp คัดลอกไฟล์แรกไปยังไฟล์ที่สอง หากไฟล์ไม่มีอยู่คำสั่งจะสร้างขึ้นเมื่อ SOURCE มีหลายไฟล์หรือไดเรกทอรีเป็นอาร์กิวเมนต์อาร์กิวเมนต์ DESTINATION จะต้องเป็นไดเรกทอรี ในสถานการณ์นี้ไฟล์และไดเร็กทอรี SOURCE จะถูกย้ายไปยังไดเร็กทอรี DESTINATION อาร์กิวเมนต์ SOURCE และ DESTINATION เป็นทั้งสองไดเร็กทอรีคำสั่ง cp คัดลอกไดเร็กทอรีแรกไปยังไดเร็กทอรีที่สอง

ในการคัดลอกไฟล์และไดเรกทอรีคุณต้องมีสิทธิ์ในการอ่านอย่างน้อยในไฟล์ต้นฉบับและได้รับอนุญาตให้เขียนในไดเรกทอรีปลายทาง มิฉะนั้นจะแสดงข้อผิดพลาดการอนุญาตที่ถูกปฏิเสธ

คัดลอกไฟล์ด้วยคำสั่ง cp

สถานการณ์พื้นฐานที่สุดของการใช้ cp คือการคัดลอกไฟล์ในไดเรกทอรีการทำงานปัจจุบัน ตัวอย่างเช่นหากต้องการคัดลอกไฟล์ชื่อ file.txt ไปยัง file_backup.txt คุณต้องรันคำสั่งต่อไปนี้:

cp file file_backup

หรือ

cp file{, _backup}

หากต้องการคัดลอกไฟล์ไปยังไดเรกทอรีอื่นให้ระบุสัมบูรณ์หรือเส้นทางสัมพัทธ์ไปยังไดเรกทอรีปลายทาง

เมื่อระบุเฉพาะชื่อไดเรกทอรีเป็นปลายทางไฟล์ที่คัดลอกจะมีชื่อเหมือนกับไฟล์ต้นฉบับ

ในตัวอย่างต่อไปนี้เรากำลังคัดลอกไฟล์ file.txt ไปยังไดเรกทอรี /backup :

cp file.txt /backup

cp file.txt /backup/new_file.txt

ตามค่าเริ่มต้นหากไฟล์ปลายทางนั้นมีอยู่ไฟล์นั้นจะถูกเขียนทับ อ็อพชัน -n บอกให้ cp ไม่เขียนทับไฟล์ที่มีอยู่

หากต้องการบังคับให้ cp พร้อมต์เพื่อยืนยันให้ใช้ตัวเลือก -i

cp -i file.txt file_backup.txt

cp -u file.txt file_backup.txt

เมื่อคัดลอกไฟล์ไฟล์ใหม่จะเป็นของผู้ใช้ที่รันคำสั่ง ใช้อ็อพชัน -p เพื่อสงวนโหมดไฟล์ความเป็นเจ้าของและการประทับเวลา:

cp -p file.txt file_backup.txt

ตัวเลือกอื่นที่มีประโยชน์คือ -v ซึ่งบอกให้ cp พิมพ์เอาต์พุต verbose:

cp -v file.txt file_backup.txt

'file.txt' -> 'file_backup.txt'

คัดลอกไดเรกทอรีด้วยคำสั่ง cp

ในการคัดลอกไดเรกทอรีรวมถึงไฟล์และไดเรกทอรีย่อยทั้งหมดให้ใช้ตัวเลือก -R หรือ -r

ในตัวอย่างต่อไปนี้เรากำลังคัดลอกไดเรกทอรีไปที่ Pictures_backup :

cp -R Pictures Pictures_backup

คำสั่งด้านบนสร้างไดเรกทอรีปลายทางและคัดลอกไฟล์และไดเรกทอรีย่อยทั้งหมดซ้ำจากแหล่งข้อมูลไปยังไดเรกทอรีปลายทาง

หากไดเรกทอรีปลายทางมีอยู่แล้วไดเรกทอรีต้นทางเองและเนื้อหาทั้งหมดจะถูกคัดลอกภายในไดเรกทอรีปลายทาง หากต้องการคัดลอกเฉพาะไฟล์และไดเรกทอรีย่อย แต่ไม่ใช่ไดเรกทอรีเป้าหมายให้ใช้ตัวเลือก -T :

cp -RT Pictures Pictures_backup

อีกวิธีในการคัดลอกเฉพาะเนื้อหาของไดเรกทอรี แต่ไม่ใช่ไดเรกทอรีเองคือใช้อักขระตัวแทน ( * ) ข้อเสียของคำสั่งต่อไปนี้คือมันไม่ได้คัดลอกไฟล์และไดเรกทอรีที่ซ่อนอยู่ (ไฟล์ที่ขึ้นต้นด้วยจุด):

cp -RT Pictures/* Pictures_backup/

ตัวเลือกทั้งหมดที่เราใช้ในส่วนก่อนหน้านี้เมื่อคัดลอกไฟล์ยังสามารถใช้เมื่อคัดลอกไดเรกทอรี ความแตกต่างที่สำคัญคือเมื่อคัดลอกไดเรกทอรี คุณจำเป็นต้องใช้ตัวเลือก -R

คัดลอกหลายไฟล์และไดเรกทอรี

หากต้องการคัดลอกหลายไฟล์และไดเรกทอรีพร้อมกันให้ระบุชื่อและใช้ไดเรกทอรีปลายทางเป็นอาร์กิวเมนต์สุดท้าย:

cp file.txt dir file1.txt dir1

เมื่อคัดลอกหลายไฟล์ปลายทางจะต้องเป็นไดเรกทอรี

ข้อสรุป

การคัดลอกไฟล์และไดเรกทอรีด้วยคำสั่ง cp เป็นเรื่องง่าย สำหรับข้อมูลเกี่ยวกับตัวเลือก cp ทั้งหมดที่มีให้พิมพ์ man cp ในเทอร์มินัลของคุณ

ในการคัดลอกไฟล์ผ่านเครือข่ายให้ใช้ยูทิลิตี้ rsync และ scp

cp terminal