ถ่ายโอนไฟล์ระหว่าง Windows กับลีนุกซ์ ด้วย pscp

ในหลายๆ ครั้ง เรามีไฟล์อยู่บน Windows ต้องการถ่ายโอนไปยังลีนุกซ์ หรือในทำนองกลับกัน ต้องการดาวน์โหลดไฟล์จากลีนุกซ์กลับมาไว้บน Windows

บทนี้จะแนะนำการใช้โปรแกรม pscp รันบน Windows เพื่อใช้ถ่ายโอนไฟล์ (transfer) กับเครื่องที่รันลีนุกซ์ ผ่านทาง Secure Shell ได้

ดาวน์โหลดโปรแกรม pscp

โปรแกรม pscp เป็นส่วนหนึ่งของชุดโปรแกรม PuTTY แต่สามารถใช้งานได้โดยลำพัง ไม่จำเป็นต้องติดตั้งโปรแกรมทั้งชุด เพียงแค่ดาวน์โหลดไฟล์ pscp.exe

ในหน้า PuTTY Download Page ภายใต้หัวข้อ For Windows on Intel x86 คลิ้กดาวน์โหลดไฟล์ pscp.exe เซฟลงบน Desktop ของ Windows

 

สร้างไฟล์ทดสอบบน Windows ชื่อไฟล์ “win-data.txt” เซฟไว้บน Desktop

 

คลิ้กปุ่ม start เลือก Run

 

หน้าจอ Run เราสามารถพิมพ์คำสั่งบน Windows ที่ต้องการจะรันในช่อง Open ได้

พิมพ์ cmd แล้วกดปุ่ม [OK] หรือ [Enter] เพื่อเข้าสู่ command prompt ของ Windows

 

หน้าจอ command prompt ของ Windows

 

พิมพ์คำสั่ง cd Desktop เข้าสู่ Desktop ของผู้ใช้งานบน Windows

พิมพ์คำสั่ง dir เพื่อแสดงไฟล์ จะมีไฟล์ pscp.exe, putty.exe และ win-data.txt

 

ถ่ายโอนไฟล์จาก Windows ไปยังลีนุกซ์

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

ตัวอย่าง ถ้าต้องการถ่ายโอนไฟล์จาก Windows เช่นในตัวอย่างนี้คือไฟล์ win-data.txt ไปยังลีนุกซ์ IP Address  192.168.5.62 ล็อกอินด้วย root สามารถทำได้โดย

pscp win-data.txt root@192.168.5.62:

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

หากเป็นการล็อกอินเข้าไป IP นั้นเป็นครั้งแรก จะมีข้อความเตือนเกี่ยวกับ key เหมือนกับตอนใช้ putty

 

ไฟล์จะถูกถ่ายโอนไปไว้ใน HOME ของ root สามารถตรวจสอบได้โดยการใช้ PuTTY ล็อกอินเข้าไป ใช้คำสั่ง ls แสดงไฟล์ที่ถูกส่งไป

โหลดจากลีนุกซ์ ลง Windows

หากไฟล์อยู่บนลีนุกซ์ เช่นอยู่ใน HOME ของ root ก็สามารถใช้คำสั่ง pscp เพื่อถ่ายโอนไฟล์มาใส่ใน Windows ได้

โดยระบุต้นทางเป็นไฟล์ที่อยู่บนลีนุกซ์ เว้นวรรคตามด้วยปลายทางคือไดเร็คทอรีบน Windows หากต้องการโหลดไฟล์มาใส่ในไดเร็คทอรีที่พิมพ์คำสั่ง (Desktop) ก็ระบุเป็นเครื่องหมายจุด .

เช่นต้องการโหลดไฟล์ชื่อ linux-file.txt ใน HOME ของ root บนลีนุกซ์ มายังไดเร็คทอรีปัจจุบัน พิมพ์คำสั่ง

pscp root@192.168.5.62:linux-file.txt .

หากไฟล์อยู่ในพาธอื่นเช่นต้องการโหลดไฟล์ /etc/passwd จากลีนุกซ์ สามารถระบุต้นทางเป็นพาธเต็ม เช่น root@192.168.5.62:/etc/passwd

ตัวอย่าง และผลลัพท์ที่ได้

ข้อมูลอ้างอิง

 

Leave a Reply

Your email address will not be published.