Linux下的SCP命令语法示例
出版者:必威平台,2018年12月09日scp代表安全cp(复制),这意味着您可以跨ssh连接复制文件。它是在计算机之间复制文件的一种非常安全的方式,因为SSH (secure Shell)是一种加密网络协议,用于在不安全的网络上安全地操作网络服务。
scp默认使用端口22,并通过加密连接或安全shell连接进行连接。您还可以直接将文件从一个远程服务器复制到另一个远程服务器。scp非常通用,可以在Linux、Mac和Windows上使用(使用WinSCP)。
我们将从一些基本的命令和示例开始。
$ scp source_file_path目的文件路径
根据主机类型的不同,上述语法还需要包含完整主机地址、端口号、用户名和密码的文件路径以及目录路径。
因此,如果希望将文件从本地机器发送到远程机器,语法将如下所示
$ scp /local_machine_file.txt user@172.212.xxx.xxx:/some/remote/目录
当将文件从远程主机复制到本地主机时,情况将相反。
$ scp user@172.212.xxx.xxx:/some/remote/directory /local_machine_file.txt
如果您只是想将文件下载到本地机器,那么简单的语法形式是
scp user@172.212.xxx.xxx:美元/一些/道路/ file.txt
注意:默认情况下,scp将总是覆盖目标上的文件(如果已经存在)。
下面的语法将指导您将相同的文件从user1主文件夹复制到另一台远程计算机的user2主文件夹。
scp user1@152.144.xxx.xxx: / home / file.txt user2@172.168.xxx.xxx: / home /
现在,使用下面的语法,我们将了解如何将一个文件从远程主机复制到另一个位置的同一远程主机
scp user1@152.144.xxx.xxx: / home / file.txt user2@152.144.xxx.xxx: / home /
现在,我们将看到如何从本地主机复制一个目录(例如,“demo_dir”)到远程主机的目录(例如,“location”)。
$ scp -r demo_dir user1@152.144.xxx.xxx:/remote/directory/location
注意:你可以一次复制多个文件,而不必复制一个文件夹中的所有文件,或者从不同的文件夹复制多个文件,并将它们放在一个空格分隔的列表中。
scp file1.txt file2.txt file3.txt user1@172.165.xxx.xxx:/home/user1/
scp /path/to/file1.txt /path/to/file2.txt /path/to/file3.txt user1@172.165.xxx.xxx:/home/user1/
下面的语法将把给定扩展名的所有文件复制到远程服务器。例如,您想要将所有文本文件(扩展名为txt)复制到一个新文件夹。这里我们将使用通配符星号(*)来简化任务。
scp /home/user/*.txt user1@172.165.xxx.xxx: / home / user1 /
将任意扩展名文件夹中的所有文件复制到远程服务器。这将复制本地文件夹内的所有文件到远程文件夹。
这是一个例子。
scp /home/user/html/* jane@host.example.com: / home /简/备份/
SCP的其他可用选项
如果您使用的是Windows驱动的计算机,您仍然可以通过各种方式享受scp。Winscp是一个功能强大的图形用户界面工具,适用于大量使用windows平台的用户。
pscp是一个shell命令,它在Windows shell上的工作方式几乎与scp在Linux或Mac OS X上的工作方式相同