การใช้งานคำสั่ง scp เป็นวิธีที่ง่ายและปลอดภัยที่สุดวิธีหนึ่งในการคัดลอกไฟล์หรือโฟลเดอร์ระหว่างเครื่องคอมพิวเตอร์ผ่านระบบเครือข่าย โดยทำงานบนพื้นฐานของโปรโตคอล SSH ทำให้ข้อมูลที่รับส่งมีการเข้ารหัสไว้เสมอ
รูปแบบคำสั่งพื้นฐาน
หัวใจสำคัญของ scp คือการระบุ “ต้นทาง” และ “ปลายทาง” โดยมีรูปแบบดังนี้scp [ตัวเลือก] [ต้นทาง] [ปลายทาง]
ตัวอย่างการใช้งานที่พบบ่อย
การคัดลอกไฟล์จากเครื่องเรา ไปยัง Server
สมมติว่าคุณต้องการส่งไฟล์ชื่อ document.pdf ไปไว้ที่ Home directory ของ Serverscp document.pdf [email protected]:/home/user/
การคัดลอกไฟล์จาก Server มายังเครื่องเรา
หากต้องการดึงไฟล์ backup.sql จาก Server มาไว้ที่โฟลเดอร์ปัจจุบันในเครื่องเราscp [email protected]:/var/www/db/backup.sql .
การคัดลอกทั้งโฟลเดอร์
หากต้องการส่งโฟลเดอร์ชื่อ my_project ไปทั้งโฟลเดอร์ ต้องใช้ Option -r scp -r my_project/ [email protected]:/home/user/
Option ที่ใช้บ่อยและควรรู้
| Option | คำอธิบาย |
-r | ใช้สำหรับคัดลอกทั้ง Directory |
-P [port] | ระบุหมายเลข Port ของ SSH |
-C | บีบอัดข้อมูลระหว่างส่ง ช่วยให้ส่งไฟล์ขนาดใหญ่ได้เร็วขึ้น |
-v | Verbose mode แสดงรายละเอียดการทำงานอย่างละเอียด |
-i [identity_file] | ระบุไฟล์ Private Key สำหรับการเข้าสู่ระบบ |
ข้อควรระวังและการเตรียมตัว
การตรวจสอบสิทธิ์
ก่อนใช้งาน scp คุณต้องแน่ใจว่า
- เครื่องปลายทางมีการติดตั้งและเปิดใช้งาน SSH Server แล้ว
- คุณมีสิทธิ์ Read ในไฟล์ต้นทาง และสิทธิ์ Write ในโฟลเดอร์ปลายทาง
- หากมีการระบุปลายทางผิดและมีไฟล์ชื่อซ้ำอยู่แล้ว
scpจะทำการ เขียนทับ ทันทีโดยไม่แจ้งเตือน
การสำรองข้อมูล
เช่นเดียวกับการจัดการ Server ในส่วนอื่น ๆ ก่อนจะทำการย้ายไฟล์สำคัญหรือแก้ไข Config ของระบบ ควรทำการ Snapshot หรือคัดลอกไฟล์ต้นฉบับเก็บไว้เป็นชื่ออื่นก่อนเสมอ เพื่อป้องกันความผิดพลาดที่อาจเกิดขึ้นระหว่างการส่งข้อมูล
สรุป
คำสั่ง scp เป็นเครื่องมือพื้นฐานที่ทรงพลังสำหรับ Admin และ Developer เพราะไม่ต้องติดตั้งโปรแกรมเสริมเพิ่มเติม เพียงแค่มี SSH ก็สามารถจัดการไฟล์ข้ามเครื่องได้อย่างรวดเร็วและปลอดภัยครับ
อ่านเพิ่มเติม