如何在Linux之间复制文件及文件夹

来自YTYZX有图有真相的百科
Ytyzx讨论 | 贡献2017年4月26日 (三) 16:59的版本
跳转至: 导航搜索

本例中使用scp(secure copy)命令进行复制。scp命令适用于在Linux下进行远程拷贝文件。

     本例中以以下两台主机为例,主机信息如下。
     A主机:   IP:  192.168.1.103    系统版本:CentOS release 6.7
     B主机:   IP:   192.168.1.105   系统版本:Kali GNU/Linux Rolling
1.在A主机下输入“ifconfig”查看IP地址,本例中为192.168.1.103。

SCP1.png

2.在A主机下输入“cat /etc/issue”查看系统版本,本例中为CentOS release 6.7。

SCP2.png

3.在B主机下输入“ifconfig”查看IP地址,本例中为192.168.1.105。

SCP3.png

4. 在A主机下输入“cat /etc/issue”查看系统版本,本例中为Kali GNU/Linux Rolling。

SCP4.png

5.在A主机下输入"cd /tmp"进入tmp目录,并输入“ls”查看目录内容(此步骤可省略)。

SCP5.png

6.在B主机下输入"cd /tmp"进入tmp目录,并输入“ls”查看目录内容(此步骤可省略)。

SCP6.png

7.在B主机下输入“vi scptest.txt”并按回车键,新建一个名为scptest.txt的文件。

SCP7.png

8.任意输入内容并按ESC键,输入“:x”保存并退出。
   本例中输入“This is a test for scp”。

SCP8.png

9.在B主机/tmp命令下输入“ls”查看,发现已经新建了名为scptest.txt的文件。

SCP9.png

10.在A主机下输入“ping 192.168.1.105”并按回车键确定,保证网络通信正常,确认无误后按Ctrl+c停止此命令。

SCP10.png

11.输入“scp root@192.168.1.105:/tmp/scptest.txt /tmp/scptest.txt”并按回车键确定。
     此命令意思:使用scp命令,以root用户登录主机192.168.1.105并复制B主机/tmp目录下名为scptest.txt的文件,
                         将之复制到本机(A主机)/tmp目录下,文件名任为scptest.txt。

SCP11.png

12.如为此次连接此主机(B主机),则会出现如下提示,大致意思为无法确认公钥指纹为ec:09:f0:35:99:ed:8d:74:df:4c:df:c6:7e:4d:4a:8e的主机真实性,询问您是否继续。
    提示信息:The authenticity of host '192.168.1.105(192.168.1.105) can't be established.
                     RSA key fingerprint is ec:09:f0:35:99:ed:8d:74:df:4c:df:c6:7e:4d:4a:8e.
                     Are you sure you want to continue connecting (yes/no)?

SCP18.png

13.如您确认此公钥指纹真实有效则可输入“yes”继续,A主机将自动保存B主机的密钥指纹到$HOME/.ssh/known_hosts文件中。下次连接时将不会再次出现警告。
     提示信息:Warning: Permanently added ‘192.168.1.105’(RSA) to the list of known hosts.

SCP19.png

14.在“root@192.168.105's password:”后面输入B主机的用户(本例中为root)密码后将开始复制文件。
     注意:本例中因文件(scptest.txt)较小,故复制速度和时间均为0,复制大文件则可看到复制速度及时间。

SCP20.png

15.在A主机里输入“vi /tmp/scptest.txt”可查看新复制文件内容。

SCP21.png

16.在编辑器里可看到文件内容与B主机的源文件相同,为“This is a test for scp”。

SCP22.png On CentOS/RHEL and Fedora

  1. yum install openssh-clients

On Ubuntu and Debian $ sudo apt-get install openssh-client