scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的
基本语法
下面提供了 SCP 命令的基本语法:
$ scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory
/path/to/source/file – 这是打算复制到远程服务器的源文件。user@server-IP: – 这是远程系统的用户名和 IP 地址。请注意 IP 地址后面加冒号。/path/to/destination/directory – 这是文件将复制到的远程系统上的目标目录。以下是scp命令常用的几个选项:
-C – 这会在复制过程中压缩文件或目录。
-P – 如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。
-r – 此选项递归复制目录及其内容。
-p – 保留文件的访问和修改时间。
将文件复制到远程 Linux 服务器
在下面的示例中,我将logs.tar.gz 复制到远程服务器的/root目录下。服务器IP为192.168.43.137,用户名为root。
$ scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory
如果要复制目录,请使用-r选项,如下所示。在这里,我们将 /root/syslog目录复制到远程节点的/root目录中。
[root@server1 ~]# scp -r syslog root@192.168.43.137:/root
如果不添加-r选项复制目录,会提示如下错误。
[root@server1 ~]# scp syslog root@192.168.43.137:/root root@192.168.43.137's password: syslog: not a regular file
将文件从远程系统复制到本地系统
可以将文件从远程节点复制到本地系统,如下所示:
$ scp [option] user@server-ip:/path/to/source/file/path/to/local/directory
在下面的示例中,我们将文件 /root/passwd从远程系统复制到本地系统:
[root@server1 ~]# scp root@192.168.43.137:/root/passwd /root/
同样,你可以使用-r标志将目录从远程服务器复制到本地系统,如图所示。
[root@server1 ~]# scp -r root@192.168.43.137:/root/scripts /root/
有关使用 scp 命令的更多选项,可以查看手册,命令是:man scp
本文来源:www.lxlinux.net/8900.html,若引用不当,请联系修改。