由于它依赖于ssh进行数据传输,因此它提供了相同的安全性并使用了相同的身份验证ssh。与rcp不同,scp命令将提示您输入用于身份验证的密码(如果需要)。
在本文中,我们将深入研究Linux中文件的安全传输,并学习如何使用scp命令。通过对常用scp开关和选项的详细解释和示例用例,您将了解如何使用此实用程序。
为了开始使用scp命令,您需要了解其基本语法,格式如下:
less复制代码 scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
选项:表示诸如ssh配置,密码,限制,ssh端口,递归副本等之类的scp选项。
[user@]SRC_HOST:]file1:表示源文件。
[user@]DEST_HOST:]file2 :代表目标文件
与其他任何命令一样,scp工具具有一些用于控制其行为的选项。最常见的是以下几种:
在开始使用scp之前,让我们使用cp将文件从一个文��夹复制到另一个文件夹。我们都知道如何使用cp命令来实现这一点:
bash复制代码 cp /home/linuxmi/linuxmi.mp3 /home/linuxmi/audio
它将用户linuxmi的主目录中的文件linuxmi.mp3复制到同一用户的主文件夹即linuxmi的audio目录中。
以类似的方式,可以使用的scp命令示例如下所示:
typescript复制代码 scp /home/linuxmi/linuxmi.mp3 linuxmi@linuxmi.com:/home/linuxmi/audio
使用linuxmi作为登录名将linuxmi.mp3文件上传到服务器linuxmicom到远程目录/home/linuxmi/audio���。请注意,在开始上传之前,scp将提示您输入linuxmi的远程密码。如果未提供远程目录,则文件将被复制到远程用户的主目录。如果不在目标文件夹上提供文件名,则将使scp复制具有原始名称的文件。如果要使用其他名称保存文件,则需要指定新文件名。
将远程文件传输到本地目标
为了下载文件,您可以提及一个远程位置作为源位置。例如 :
scp linuxmi@linuxmi.com:/home/linuxmi/audio/* /home/linuxmi/downloads
它将把linuxmi.com上远程目录/ home/linuxmi/audio中的所有音频文件下载到本地目录/home/linuxmi/downloads中。
注意文件名:
文件名可以由用户和主机组成,以指示文件到该主机的传输或从该主机的传输。为了避免scp处理包含“:”作为主机说明符的文件名,本地文件名可以是绝对文件名,也可以是相对文件名。但是,远程文件名应同时包括用户和主机。
默认端口号:
如果在远程主机上,SSH正在侦听其他端口(即默认端口22以外的端口),则可以使用-P开关指示该端口。
将本地目录传输到远程目标
将目录复制到远程位置,类似于复制文件。您只需要使用-r标志进行递归传输。
要将整个目录复制到远程系统,请运行带有-r选项的命令,例如:
scp -r /home/linuxmi/local_folder linuxmi@linuxmi.com:/home/linuxmi/remote_folder
两个远程系统之间的文件传输
以下命令会将文件/folder/linuxmi.mp3从远程主机linuxmi.com复制到远程主机www.linuxmi.com上的目录/folder。
scp linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder
启动此操作后,将要求您提供两个远程目标的密码。
为了通过本地主机(即在其上执行命令的计算机)路由流量,请使用-3开关,如下所示:
scp -3 linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder
以上是如何在Linux下使用scp命令通过ssh安全传输文件的详细内容。更多信息请关注PHP中文网其他相关文章!