前言scp 和 sftp 是一种远程文件加密传输协议,讲通俗点就是用来操控本地/远程文件 ,不知道你注意到了没有,它们开头都带了 s ,是的,它们嵌套了一层 ssh 加密协议。 像 sftp 它的传统版本就是 ftp ,但这种协议不安全,传输数据是都是明文的,很容易受到攻击窃取,所以才有了后来的 sftp ,其实就跟 http / https 同个道理。 如果你还没了解过 ssh 可以参考我之前写过的 ssh 是什么、有什么用 ,不想了解也没关系,因为这两命令使用起来非常简单,下面我们进入正文。
1. scp 使用scp 它的基本命令为:scp socure target
1.1 将本地文件复制到远程机 例子1scp -r ./test/ root@111.222.333:/home/例子2scp -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/ 下面
2. sftp 使用首先,我们打开 git 或 linux 来连接服务器 如果你是 windown 系统也可以尝试输入,因为 window 部分系统如 win10 已经自带了
格式sftp username@hostname例如sftp root@111.222.333 接下来就会进入 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 /homemkdir hello第二种mkdir /home/hello
3. scp 和 sftp 有啥区别?用哪个好?区别 1、scp 能将远程文件复制到另一个远程机,sftp 不能 2、scp 没有删除/创建远程目录功能,sftp 有 用哪个好 偶尔操作文件就用 scp ,反之 sftp 好了,内容就到这里。
总结 下载地址: 使用xshell连接linux服务器 CentOS |