一些最广泛使用的
scp
命令选项包括:
P
:指定服务器SSH端口
:保留文件的权限、模式和访问时间(注意小写)q
:安静模式,不显示进度或消息C
:在传输过程中压缩数据r
:递归-包括子目录及其内容-我
:标识文件或私钥
如何在Linux中使用SCP命令
将本地文件传输到远程服务器
复制
file.txt
从本地系统的当前目录到远程服务器的
/tmp
目录。
scp文件.txtuser@remotehost:
/tmp/
代码语言:
JavaScript
(
javascript
)
将文件从远程服务器传输到本地计算机
以下命令将复制
/tmp/file.txt
从远程服务器到用户主目录下的本地机器。
scpuser@remotehost:
/tmp/
file.txt/home/user
代码语言:
JavaScript
(
javascript
)
递归地将本地目录传输到远程服务器
您可以使用
r
中的选项
scp
命令将整个目录从一个系统递归复制到另一个系统。
以下命令将复制
/home/user/myfiles
从本地计算机到远程服务器的目录
/tmp
目录
scp-r/home/user/myfilesuser@remotehost:
/tmp/
代码语言:
JavaScript
(
javascript
)
将目录从远程服务器递归传输到本地
以下命令将复制
/tmp/server文件
递归地从远程服务器到用户主目录下的本地机器的目录。
scp-ruser@remotehost:
/tmp/
serverfiles/home/user
代码语言:
JavaScript
(
javascript
)
将多个文件传输到远程服务器
在以下示例中,文件
file1.text
和
文件2.txt
从源主机复制到远程服务器的
/tmp
目录
scp文件1.txt文件2.txtuser@remotehost:
/tmp/
代码语言:
JavaScript
(
javascript
)
通过启用压缩来提高传输速度
您可以通过使用启用压缩来提高传输速度
C
选项它将自动允许在源主机进行压缩,并在目标主机进行解压缩。
以下命令将复制
/home/user/myfiles
从本地计算机到远程服务器的目录
/tmp
目录递归启用压缩。
scp-r-C/home/user/myfilesuser@remotehost:
/tmp/
代码语言:
JavaScript
(
javascript
)
指定不同的SSH端口
在某些情况下,目标主机上的SSH端口可能会发生更改,因此在Linux中使用scp命令,可以使用
P
选项
以下命令将复制
file.txt
从本地系统的当前目录到远程服务器的
/tmp
目录使用端口2222。
scp-P
2222
file.txtuser@remotehost:
/tmp/
代码语言:
JavaScript
(
javascript
)
保留文件的权限、模式和访问时间
使用
中的选项
scp
命令在复制文件时保留权限、访问时间和模式。
以下命令将复制
file.txt
从本地系统的当前目录到远程服务器的
/tmp
目录,并将保留其属性。
scp-p文件.txtuser@remotehost:
/tmp/
代码语言:
JavaScript
(
javascript
)
在SCP命令中使用标识文件
在SSH会话期间使用SSH密钥而不是密码时
-我
标志允许您选择从中读取用于公钥身份验证的标识(私钥)的文件。
以下命令将复制
file.txt
从本地系统的当前目录到远程服务器的
/tmp
目录,使用
my_second_indent.pem
私钥文件。
scp-i my_second_indent.pem文件.txtuser@remotehost:
/tmp/
代码语言:
JavaScript
(
javascript
)
结论
在本教程中,您学习了如何使用
scp
命令复制文件和目录。作为FTP的替代品,这尤其有用,默认情况下FTP本质上是不安全的。
您可能还想设置基于SSH密钥的身份验证,并在不输入密码的情况下连接到Linux服务器。
有关的更多信息
scp
命令,请参阅其手册页。