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

来自YTYZX有图有真相的百科
45.77.171.9讨论2022年3月22日 (二) 11:07的版本 (e)
跳转至: 导航搜索

e

e

从A主机下载B主机文件

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

e

从A主机上传文件到B主机

21.在B主机/tmp目录下输入“mkdir upload”新建一个名为upload的文件夹。

SCP27.png

22.在A主机输入“scp /tmp/scptest.txt root@192.168.1.105:/tmp/upload/scptest.txt”命令将A主机/tmp目录下名为scptest.txt的文件上传到B主机(192.168.1.105)的/tmp/upload文件夹,并保持文件名为scptest.txt。
    注意:按回车键后提示输入B主机的root用户密码,输入正确密码后即开始上传。

SCP28.png

e

故障排除

24.输入“scp root@192.168.1.105:/tmp/scptest.txt /tmp/scptest.txt”命令并按回车键确定提示“-bash: scp: command not found”。
     注意:此错误由未安装openssh引起。

SCP12.png

25.在CentOS/RHEL或者Fedora系统输入“yum install openssh-clients”并按回车键安装。
     注意:此处为openssh-clients。

SCP13.png

26.输入“y”即可开始安装。

SCP14.png

27.安装完毕后输入“service sshd status”查看sshd服务状态。

SCP15.png

28.在Ubuntu或者Debian系统下需输入“apt-get install openssh-client”并按回车键安装(本例中B主机已安装)。
     注意:此处为openssh-client,在client后面没有s。

SCP16.png

29.输入“service ssh start”启动ssh服务。
     注意:此处服务名为ssh,不是sshd。

SCP17.png

30.输入“scp root@192.168.1.105:/tmp/scptest.txt /tmp/scptest.txt”并按回车键确定,出现如下错误,则需在A主机和B主机上启动ssh或者sshd服务。
    错误提示:ssh: connect to host 192.168.1.105 port 22: Connection refused
    注意:使用scp命令需确保A主机和B主机均已启动ssh或者sshd服务。
              在CentOS/RHEL或者Fedora系统输入“service sshd start”或“systemctl start sshd”启动服务。
              在Ubuntu或者Debian系统下需输入“service ssh start”启动服务。

SCP30.png