scp
和 sftp
是一种远程文件加密传输协议,讲通俗点就是用来操控本地/远程文件
,不知道你注意到了没有,它们开头都带了 s
,是的,它们嵌套了一层 ssh
加密协议。
像 sftp
它的传统版本就是 ftp
,但这种协议不安全,传输数据是都是明文的,很容易受到攻击窃取,所以才有了后来的 sftp
,其实就跟 http / https 同个道理。
如果你还没了解过 ssh
可以参考我之前写过的 ssh 是什么、有什么用 ,不想了解也没关系,因为这两命令使用起来非常简单,下面我们进入正文。
scp
它的基本命令为:scp socure target
1.1 将本地文件复制到远程机
例子1 scp -r ./test/ root@111.222.333:/home/ 例子2 scp -P 6666 -r ./test/ root@111.222.333:/home/
-r 参数表示是否递归复制目录
-P 参数表示指定 ssh
端口号(注意是大写 P)
以上表示将本地的 ./test
目录放到远程机的 /home/
下面
1.2 将远程机文件复制到本地
例子 scp -r root@111.222.333:/home/test ./home/
以上表示将远程机的 /home/test
目录放到本地的 ./home/
下面
1.3 将远程文件复制到另一个远程机
例子 scp -r root@111.222.333:/home/test root@444.555.666:/home/
以上表示将远程机的 /home/test
目录放到另外一台远程机的 /home/
下面
首先,我们打开 git 或 linux 来连接服务器
如果你是 windown 系统也可以尝试输入,因为 window 部分系统如 win10 已经自带了
格式 sftp username@hostname 例如 sftp root@111.222.333
接下来就会进入 sftp
命令模式
sftp> 输入你的 sftp 命令
1.1 将本地文件复制到远程机
格式 put localfile [remotefile] 例子 put -r ./test /home
-r 参数表示是否递归复制
1.2 将远程机文件复制到本地
格式 get remotefile [localfile] 例子 get -r /home/test ./home
1.3 创建/删除远程目录
创建 hello 目录 mkdir hello 删除 hello 目录 rmdir hello
sftp 远程工作环境默认在 user 目录,因此上面创建的 hello 目录会放到 ~/hello
下, 假设你的用户名是 root 那就是在 root/hello
,要想改变环境可以使用 cd
或者加上绝对路径 /
标识符,如下
第一种 cd /home mkdir hello 第二种 mkdir /home/hello
区别
1、scp 能将远程文件复制到另一个远程机,sftp 不能
2、scp 没有删除/创建远程目录功能,sftp 有
用哪个好
偶尔操作文件就用 scp
,反之 sftp
好了,内容就到这里。
到此这篇关于linux下scp和sftp命令使用详解的文章就介绍到这了,更多相关linux scp和sftp命令内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!