linux下scp和sftp命令使用详解

 更新时间:2021年12月22日 10:21:56   作者:cookcyq  
大家好,本篇文章主要讲的是linux下scp和sftp命令使用详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

前言

scpsftp 是一种远程文件加密传输协议,讲通俗点就是用来操控本地/远程文件,不知道你注意到了没有,它们开头都带了 s,是的,它们嵌套了一层 ssh 加密协议。
sftp 它的传统版本就是 ftp,但这种协议不安全,传输数据是都是明文的,很容易受到攻击窃取,所以才有了后来的 sftp,其实就跟 http / https 同个道理。
如果你还没了解过 ssh 可以参考我之前写过的 ssh 是什么、有什么用 ,不想了解也没关系,因为这两命令使用起来非常简单,下面我们进入正文。

1. scp 使用

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/ 下面

2. sftp 使用

首先,我们打开 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

3. scp 和 sftp 有啥区别?用哪个好?

区别
1、scp 能将远程文件复制到另一个远程机,sftp 不能
2、scp 没有删除/创建远程目录功能,sftp 有

用哪个好
偶尔操作文件就用 scp ,反之 sftp

好了,内容就到这里。

总结

到此这篇关于linux下scp和sftp命令使用详解的文章就介绍到这了,更多相关linux scp和sftp命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决Debian系统自动更新软件包的问题的方法

    解决Debian系统自动更新软件包的问题的方法

    这篇文章主要介绍了解决Debian系统自动更新软件包的问题的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Linux系统下virtuoso数据库安装与使用详解

    Linux系统下virtuoso数据库安装与使用详解

    这篇文章主要介绍了Linux系统下virtuoso数据库安装与使用 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • 详细介绍linux动态网络和静态网络和克隆后的网络配置

    详细介绍linux动态网络和静态网络和克隆后的网络配置

    这篇文章主要介绍了详细介绍linux动态网络和静态网络和克隆后的网络配置,具有一定的学习价值,有需要的可以了解一下。
    2016-11-11
  • Linux多线程编程(二)

    Linux多线程编程(二)

    条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待条件变量的条件成立而挂起(此时不再占用cpu);另一个线程使条件成立(给出条件成立信号)。
    2014-08-08
  • Linux防火墙开放和限制端口的方式

    Linux防火墙开放和限制端口的方式

    掌握Linux系统的防火墙基本命令对于系统管理至关重要,本文介绍了查看防火墙状态、启动、关闭、重启防火墙,以及如何开放或限制端口,特别是如何批量处理端口,文中提供的命令和步骤可以帮助用户有效管理防火墙设置,确保系统的安全性
    2024-10-10
  • linux下通过xinetd服务管理 rsync 实现开机自启动

    linux下通过xinetd服务管理 rsync 实现开机自启动

    这篇文章主要介绍了linux下通过xinetd服务管理 rsync 实现开机自启动的相关资料,需要的朋友可以参考下
    2017-10-10
  • Xshell远程连接linux详细步骤(小白必备)

    Xshell远程连接linux详细步骤(小白必备)

    本文主要介绍了Xshell远程连接linux详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Linux中进程在后台可靠运行的方法总结

    Linux中进程在后台可靠运行的方法总结

    本篇文章主要给大家介绍了Linux中进程在后台可靠运行的方法以及示例代码分析,一起学习参考下吧。
    2017-12-12
  • 浅谈生产者消费者模型(Linux系统下的两种实现方法)

    浅谈生产者消费者模型(Linux系统下的两种实现方法)

    下面小编就为大家带来一篇浅谈生产者消费者模型(Linux系统下的两种实现方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • linux下如何安装nginx

    linux下如何安装nginx

    这篇文章主要介绍了linux下如何安装nginx问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论