我们在使用linux服务器时,经常需要在linux与本地或linux与linux之间上传或下载文件。除了使用如ftp之类的软件工具上传。我们可以更简便地不依赖外部软件用命令行操作。下面就介绍2种方法。
scp指令
基本语法
scp [参数] source target
/* 常用参数
-v :显示进度,可以用来查看连接、认证或是配置错误
-r :赋值目录
-C :使能压缩选项
-P :选择端口
-4 :强行使用 IPV4 地址
-6 :强行使用 IPV6 地址
*/
格式
注意:文件路径都要是绝对路径。
本地文件 --> 远程
scp local_file remote_username@remote_ip:remote_folder
// 拷贝本地桌面的hello.txt 文件到远程/ca/文件夹
scp /Users/hbl/Desktop/hello.txt root@172.31.16.226:/var/docker-volume/ca
// 拷贝整个目录只需要加 -r
scp -r /Users/hbl/Desktop root@172.31.16.226:/var/docker-volume/ca
远程文件 --> 本地
scp remote_username@remote_ip:remote_file local_folder
// 拷贝远程goodbye.txt文件到本地,这条指令要在远程执行
scp root@172.31.16.226:/var/docker-volume/ca/goodbye.txt /Users/hbl/Desktop/
// 拷贝目录
scp -r root@172.31.16.226:/var/docker-volume/ca /Users/hbl/Desktop
sftp (SSH File Transfer Protocol)
它的优势在于可以利用安全的连接传输文件。与shell指令有些类似,需要区分操作本地的指令(正常指令前加l,表示local的意思)和操作远程的指令。
// 连接到远程,需要输入服务器登陆密码
sftp root@172.31.16.226
// 操作服务器,进入服务器文件夹
cd /var/docker-volume
// 前缀加l(local)的指令表示操作本地,进入本地文件夹
lcd /Users/hbl/Desktop
// 查看当前目录下的文件
lls
// 上传本地文件hello.txt到远程
put hello.txt
// 下载远程文件到本地
get goodbye.txt
网友评论