Android

วิธีคัดลอกไฟล์และไดเรกทอรีใน linux

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

สารบัญ:

Anonim

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

เป็นวิธีปฏิบัติทั่วไปในการใช้คำสั่ง cp เมื่อทำการคัดลอกไฟล์และคำสั่ง rsync เมื่อทำการคัดลอกไดเรกทอรี

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

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

บนระบบปฏิบัติการ Linux และ Unix คำสั่ง cp ใช้สำหรับคัดลอกไฟล์และไดเรกทอรี

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

cp file.txt file_backup.txt

หากไฟล์ปลายทางมีอยู่ไฟล์นั้นจะถูกเขียนทับ ในการรับพร้อมต์การยืนยันก่อนเขียนทับไฟล์ให้ใช้ตัวเลือก -i

cp -i file.txt file_backup.txt

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

cp -p file.txt file_backup.txt

ตัวเลือกอื่นที่มีประโยชน์คือ -v เมื่อใช้ตัวเลือกนี้คำสั่งจะพิมพ์สิ่งที่กำลังทำ:

cp -v file.txt file_backup.txt

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

คัดลอกไฟล์ไปยังไดเรกทอรี

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

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

cp file.txt /backup

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

cp file.txt /backup/new_file.txt

คำสั่งดังกล่าวจะคัดลอกไฟล์ไปยังไดเรกทอรีที่ระบุเป็น new_file.txt

คัดลอกหลายไฟล์

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

cp file.txt dir file1.txt file2.txt dir1

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

คำสั่ง cp ยังอนุญาตให้คุณใช้การจับคู่รูปแบบ ตัวอย่างเช่นในการคัดลอกไฟล์. .png ทั้งหมดจากไดเรกทอรีปัจจุบันไปยังไดเรกทอรี /backup คุณควรใช้:

cp *.png /backup

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

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

cp -R Pictures Pictures_backup

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

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

cp -RT Pictures Pictures_backup

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

การคัดลอกไฟล์และไดเรกทอรีด้วยคำสั่ง rsync

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

rsync มีตัวเลือกมากมายที่ควบคุมพฤติกรรมทุกด้านของมัน ตัวเลือกที่มีประโยชน์ที่สุดคือ -a ซึ่งคัดลอกไดเรกทอรีซ้ำโอนอุปกรณ์พิเศษและบล็อกรักษาลิงก์สัญลักษณ์เวลาแก้ไขกลุ่มความเป็นเจ้าของและสิทธิ์

ในการคัดลอกไฟล์เดียวจากที่หนึ่งไปยังอีกที่หนึ่งคุณจะต้องรันคำสั่งต่อไปนี้:

rsync -a file.txt file_backup.txt

หากไฟล์ปลายทางนั้นมีอยู่ rsync จะเขียนทับมัน

คำสั่งเดียวกันสามารถใช้เพื่อคัดลอกไดเรกทอรี:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync คุกคามไดเรกทอรีต้นทางที่ลงท้ายด้วยเครื่องหมายทับ / ต่อท้าย หากคุณเพิ่มเครื่องหมายสแลชต่อท้ายบนไดเรกทอรีต้นทางคำสั่งจะคัดลอกเฉพาะเนื้อหาของไดเรกทอรีต้นทางไปยังไดเรกทอรีปลายทาง เมื่อตัดเครื่องหมายสแลชต่อท้าย rsync จะคัดลอกไดเรกทอรีต้นทางภายในไดเรกทอรีปลายทาง ตัวเลือกที่ปลอดภัยที่สุดคือการรวมเครื่องหมายสแลชต่อท้าย / ทั้งในปลายทางและแหล่งที่มา

เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ rsync ตรวจสอบบทความต่อไปนี้:

ข้อสรุป

ในคู่มือนี้เราได้แสดงวิธีคัดลอกไฟล์และไดเรกทอรีในระบบที่ใช้ Linux และ Unix โดยใช้ยูทิลิตี้ cp และ rsync

cp rsync terminal