วิธีคัดลอกไฟล์ไปยังเครื่องอื่นผ่านเทอร์มินัล


39

ฉันใช้ Ubuntu 10.04 ผ่าน VMPlayer และฉันมีเครื่องอื่น (เราเตอร์ Asus RT-N16) ฉันสามารถเชื่อมต่อกับเราเตอร์ด้วย telnet และดูระบบไฟล์ของมัน ฉันจะคัดลอกไฟล์จากเครื่องภายใน (ไฟล์คือ/ home / user / helloworld-c ) ไปยังเราเตอร์ (โฟลเดอร์ * / tmp / mnt / discb_1 *) ได้อย่างไร

คำตอบ:


76

มีความเป็นไปได้ที่จะเชื่อมต่อผ่าน SSH หรือไม่? บางทีคุณควรพิจารณา "scp" utitlity ง่ายมากดูที่หน้าคู่มือ :

man scp

การใช้งานขั้นพื้นฐานมาก:

scp remote_user@remote_host:/path/to/remote/file /path/to/local/file

และในทางกลับกัน:

scp /path/to/local/file remote_user@remote_host:/path/to/remote/file

ขอบคุณมันใช้งานได้! ฉันจะทำเช่นเดียวกันกับโฟลเดอร์ทั้งหมดได้อย่างไร
LA_

4
ใช้ตัวเลือก "-r": scp -r user @ host: / path / file / path / local โปรดทำเครื่องหมายคำตอบว่ายอมรับถ้าใช้งานได้
Pavel S.

เพียงมองไปที่หน้าคู่มือสำหรับ scp (ในเทอร์มินัลให้พิมพ์ "man scp") มีตัวเลือกเพิ่มเติมมากมาย
Pavel S.

ฉันจะคัดลอกโฟลเดอร์ด้วยไฟล์ได้อย่างไรคำสั่งนี้เพียงคัดลอกไฟล์เท่านั้น
amit_game

@LA_ คุณสามารถซิปไฟล์ทั้งหมด
Silvio Delgado

12

ในการคัดลอกไดเรกทอรีที่ไม่ว่างจากคอมพิวเตอร์ระยะไกลไปยังคอมพิวเตอร์ของคุณ:

scp -r remoteusername@192.168.1.56:/home/vrc/Desktop/www /home/ourusername/Desktop

หากต้องการคัดลอกไฟล์เพียงไม่รวม-rตัวเลือก:

scp remoteusername@192.168.1.56:/home/vrc/Desktop/file1 /home/ourusername/Desktop

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


10

อีกวิธีที่คุณสามารถทำได้: (ผ่านไฟล์ pem)

หากคุณต้องการใช้pemไฟล์และคุณเป็นROOTผู้ใช้:

1. ผู้ใช้รูท:

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt root@00.00.00.11:/you-server-destination-path/

บันทึกเครื่องหมายจุดคู่:ระหว่างเซิร์ฟเวอร์IPและเส้นทางปลายทาง

หากฉันไม่สามารถลงชื่อเข้าrootใช้ด้วยผู้ใช้ให้ดูขั้นตอนที่ 2

2. ผู้ใช้มาตรฐาน:

สมมติว่าคุณเป็นubuntuผู้ใช้ที่มีสิทธิ์มาตรฐาน

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt ubuntu@00.00.00.11:/home/ubuntu/

จะเป็นการวางไฟล์ในโฮมไดเร็กตอรี่ จากนั้นเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลกับผู้ใช้มาตรฐาน และทำ

sudo su

คุณจะเปลี่ยนเป็นrootผู้ใช้ จากนั้นย้ายไฟล์ไปยังไดเรกทอรีปลายทาง

mv /home/ubuntu/your-local-file.txt /you-server-destination-path/your-local-file.txt

ฉันมักจะพบปัญหานี้ดังนั้นการแบ่งปันทางเลือกอื่นเพื่อให้งานสำเร็จ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.