300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Linux命令之远程拷贝文件scp

Linux命令之远程拷贝文件scp

时间:2024-07-29 08:29:23

相关推荐

Linux命令之远程拷贝文件scp

概述

scpsecure copy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

因此我们可以用于写一个脚本在一台服务器上来向多台服务器发送文件部署代码。

语法

scp的基本语法是:scp [选项] [参数]

常用选项如下:

使用

从远程复制文件到本地

从远程服务器复制指定文件到本地主机的指定目录下,基本语法格式如下:

scp user@ip:/path/to/remote/file /path/to/local/directory

参数说明:

user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。/path/to/remote/file:指的是远程服务器上你想要复制的文件,如/root/.ssh/restart.sh/path/to/local/directory:指的是将远程服务器上的文件复制到本地后存放在哪个目录,如/root/home

例如,将远程服务器上的/root/test.txt文件复制到本地服务器上的/root/.ssh目录下注意,需要输入远程服务器指定用户的密码。

scp root@192.168.40.90:/root/test.txt /root/.ssh

从远程复制目录到本地

从远程服务器复制指定目录到本地主机的指定目录下,基本语法格式如下:

scp -r user@ip:/path/to/remote/directory /path/to/local/directory

参数说明:

-r:是一个选项,表示以递归的方式复制,复制目录的时候使用。user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。/path/to/remote/directory:指的是远程服务器上你想要复制的目录。/path/to/local/directory:指的是将远程服务器上的目录复制到本地后存放在哪个目录下,如/root/home

例如,将远程服务器上的/root/.ssh/文件夹复制到本地服务器上的/root/home目录下,注意,需要输入远程服务器指定用户的密码。

scp -r root@192.168.40.90:/root/.ssh /root/home

上传本地文件到远程

可以将本地服务器上的指定文件上传到远程服务器上的指定目录下,语法如下:

scp /path/to/local/file user@ip:/path/to/remote/directory

参数说明:

user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。/path/to/local/file:指的是本地服务器待上传的文件,如/root/.ssh/local.txt/path/to/remote/directory:指的是将本地服务器上的文件上传后存放在哪个目录,如/root/home

例如,将本地服务器上的/root/.ssh/local.txt文件上传到192.168.40.90这台远程服务器上的/root/home目录下。注意,需要输入远程服务器指定用户的密码。

scp /root/.ssh/local.txt root@192.168.40.90:/root/home

上传本地目录到远程

可以将本地服务器上的指定文件上传到远程服务器上的指定目录下,语法如下:

scp -r /path/to/local/directory user@ip:/path/to/remote/directory

参数说明:

-r:是一个选项,表示以递归的方式复制,复制目录的时候使用。user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。/path/to/remote/directory:指的是远程服务器上你想要复制的目录。/path/to/local/directory:指的是将远程服务器上的目录复制到本地后存放在哪个目录下,如/root/home

例如,将本地服务器上的/root/.ssh文件夹上传到远程服务器,放在/root/home目录下,注意,需要输入远程服务器指定用户的密码。

scp -r /root/.ssh/ root@192.168.40.90:/root/home

拓展延申

无论是从远程服务器上复制文件目录到本地,还是从本地服务器上传文件目录到远程服务器,每一次连接都需要输入远程服务器的密码,这很麻烦。所以我们可以让两台服务器建立信任关系,从此scp操作就不需要输入密码了,具体如何操作请参考:让两台甚至多台Linux服务器建立SSH信任关系。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。