Linux 中 scp用法
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,scp传输是加密的,可能会稍微影响一下速度其占用的系统资源非常小。非常适合远程文件的拷贝。本篇我们就详细介绍下scp的用法。
首先我们启动两台ubuntu系统的设备,并且确保两台设备都开启了ssh远程登录,且两台设备能互相通信。
1.从其他服务器或linux系统,复制一个文件到本地
scp 用户名@IP:/要拷贝的文件目录 /目标目录
2.本地的目录/opt/test上传到远程linux系统的opt目录下
scp -r /opt/test 用户名@IP:/opt
scp传输(参数:-r 表示递归复制文件)
1.本地复制文件到服务器
$ scp [-P port] /Users/username/wiki_zh_2019.zip root@192.168.1.228:/data/NLP/ # 如果服务器指定了登录端口,需要加-P参数
2.服务器到本地文件
$ scp [-P port] root@192.168.1.228:/data/NLP/wiki_zh_2019.zip /Users/username/ # 如果服务器指定了登录端口,需要加-P参数
3.本地复制目录到服务器
$ scp [-P port] -r /Users/username/data/ root@192.168.1.228:/data/NLP/
4.服务器复制目录到本地
$ scp [-P port] -r root@192.168.1.228:/data/NLP/ /Users/username/data/
sftp命令
sftp(Secure File Transfer Protocol)安全的文件传输协议。其是ssh的一部分,使用sftp时也是通过ssh建立一个可靠的通信线路来进行文件传输的。
- 登录远程主机:
$ sftp [-P port] username@remote_hostname_or_IP # 如果服务器指定了登录端口,需要加-P参数
- 进入sftp后,既可以在远程主机上操作,也可以在本地主机上操作
远程主机上的操作命令示例:
$ pwd
$ ls
$ cd
3.有一个通用的法则,在命令前面加一个!表示命令在本地主机上执行
$ vim test.sh # 在远程主机上执行
$ !vim test.sh # 在本地主机上执行
- 从远程主机下载文件到本地当前目录
$ get remoteFile # 下载文件到本机主机当前目录,并且文件名与remoteFile相同
$ get remoteFile newFilename # 下载文件到本机主机当前目录,并且文件名改为newFilename
$ get -r remoteFile # 下载文件目录到本机主机当前目录
- 上传文件到远程主机的当前目录
$ put localFile # 上传文件
$ put -r localDirectory # 上传文件夹