SFTP命令用法(上传和下载 )

article/2025/10/7 5:57:22

一、SFTP

SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至Blogger伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

二、说明

为了数据和服务的安全,很多生产环境中的Linux服务器不能使用外网环境,在只有SSH连接的情况下,传输文件变得很不方便。再加上Linux服务器并未安装用于上传和下载的lrzsz软件,又不能及时下载安装,同时Xftp和scp也无法使用,此时可考虑使用SFTP完成相关操作。

FTP是一种方便数据共享的文件传输协议,包括一个FTP服务器和多个ftp客户端,FTP客户端通过ftp协议从服务器上下载资源;SFTP是Secure File Transfer Protocol(安全文件传输协议)的缩写,可以为传输文件提供一种安全的网络的加密方法;SFTP协议是在FTP的基础上,对数据采取了加密/解密技术,使数据传输更安全。SFTP的传输效率比FTP的低很多。

三、用法 

1.软件环境

本文选择SecureCRT工具进行具体操作说明,前文有SecureCRT使用介绍这里就不赘述了。

2.SFTP建立连接

sftp username@ip  //sftp 用户名@服务器IP地址

输入密码就可以登录了

说明:如果sftp命令可以登录,但是无法获取本地文件路径如下图(lpwd:显示本地路径,pwd:显示远程路径)

这里使用另一种sftp连接方式如下图:

3.上传

put  D:/MyKit/test/2020.txt  /home/ilog/test/    //put 本地路径/文件名 远程路径

上传文件:  把本地服务器的D:/MyKit/test目录下面的2020.txt文件上传到远程服务器的/home/ilog/test目录下。
sftp> lcd D:/MyKit/test
sftp> cd /home/ilog/test
sftp> put 2020.txt 

本地路径:

远程路径:

put  -r  D:/MyKit/test/logs  /home/ilog/test/    //put -r  本地路径/文件夹名 远程路径

上传文件夹:把本地服务器的D:/MyKit/test目录下面的logs文件夹上传到远程服务器的/home/ilog/test目录下。
sftp> lcd D:/MyKit/test
sftp> cd /home/ilog/test
sftp> put -r log

本地路径:

远程路径: 

4.下载

get  /home/ilog/test/0824.txt  D:/MyKit/test/  //get 远程路径/文件名 本地路径

下载文件:  把远程服务器的/home/ilog/test目录下面的0824.txt文件下载到本地服务器的D:/MyKit/test目录下。
sftp> cd /home/ilog/test
sftp> lcd D:/MyKit/test
sftp> get 0824

远程路径: 

本地路径:

get  -r  /home/ilog/test/data  D:/MyKit/test/  //get -r  远程路径/文件夹名 本地路径

下载文件夹:把远程服务器的/home/ilog/test目录下面的data文件夹下载到本地服务器的D:/MyKit/test目录下。
sftp> cd /home/ilog/test
sftp> lcd D:/MyKit/test
sftp> get -r data

 远程路径: 

 

 本地路径:

四、常用命令及注意说明

1.常用命令

get --下载

put --上传

clear --清屏

exit、quit --断开连接

help --帮助

 远程端服务器的操作指令:

ls --显示目录

rm --删除

cd --切换路径

mkdir --创建目录

pwd --显示当前路径
 本地端服务器的操作指令(在远程指令前加l(local)即可): 

lls --显示目录

lrm --删除

lcd --切换路径

lmkdir --创建目录

lpwd --显示当前路径

2.注意说明

Windows环境路径和Linux环境路径的写法要注意区分,不然可能get和put时无法获取正常路径导致失败;还有登录服务器的用户权限也有要求,无正常读写权限的文件及文件目录,可能无法操作(需要通过命令开通相应权限)从来导致失败。

附:在 SFTP 解释器中可以使用 help 命令来查看帮助文档

sftp> help
Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
chgrp grp path                     Change group of file 'path' to 'grp'
chmod mode path                    Change permissions of file 'path' to 'mode'
chown own path                     Change owner of file 'path' to 'own'
df [-hi] [path]                    Display statistics for current directory orfilesystem containing 'path'
exit                               Quit sftp
get [-afPpRr] remote [local]       Download file
reget [-fPpRr] remote [local]      Resume download file
reput [-fPpRr] [local] remote      Resume upload file
help                               Display this help text
lcd path                           Change local directory to 'path'
lls [ls-options [path]]            Display local directory listing
lmkdir path                        Create local directory
ln [-s] oldpath newpath            Link remote file (-s for symlink)
lpwd                               Print local working directory
ls [-1afhlnrSt] [path]             Display remote directory listing
lumask umask                       Set local umask to 'umask'
mkdir path                         Create remote directory
progress                           Toggle display of progress meter
put [-afPpRr] local [remote]       Upload file
pwd                                Display remote working directory
quit                               Quit sftp
rename oldpath newpath             Rename remote file
rm path                            Delete remote file
rmdir path                         Remove remote directory
symlink oldpath newpath            Symlink remote file
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

http://chatgpt.dhexx.cn/article/6MYuiVWp.shtml

相关文章

Linux基础命令 sftp命令的使用

SFTP(Secure File Transfer Protocol,安全文件传输协议)是一种基于可靠数据流(data stream),提供文件存取和管理的网络传输协议,与 FTP 协议相比,SFTP 在客户端与服务器间提供了一种…

sftp常用命令介绍

sftp常用命令: 1. sftp 登录sftp服务器 sftp userip ​​​​​​ 如需要看全部命令:则使用help即可 2. pwd和lpwd 、 ls和lls 、cd和lcd 等 sftp登录之后默认操作是远程服务器,当需要操作本地时,就需要在前边加“l”&#…

Linux中使用sftp的常用命令

前言 在数据库远程维护的过程中,经常需要和本机进行数据的交互,常用的交互方式为ftp,但是这种方式需要确保21端口和ftp服务都存在。在远程访问服务器的时候大部分使用ssh来进行连接,其使用的端口为22端口,与之共用的数…

单链表的基本操作-查找

【问题描述】 实现有头结点单链表查找算法:根据关键字值查找其在单链表中的位置(第一次出现的位置)。 【输入形式】 第一行输入整数n(n不大于1000),表示单链表长度; 第二行输入若干个整数(以非法整数或…

单链表的基本操作(C语言+图解分析)

目录 一、单链表的建立 1、头插法 2、尾插法 二、插入结点操作 三、删除节点操作 四、单链表操作的一些常见问题 1、结构体变量和结构体指针的区别? 2、什么时候要malloc? 3、形参里面出现了取地址符(&),有什么作用?…

c++单链表的基本操作(全)

俩个基本插入方法 #include <bits/stdc.h> using namespace std; typedef struct LNode { int date; //节点的数据域 struct LNode *next; //节点的指针域 }LNode,*LinkList; // LinkList 为指向结构体LNode的指针类型bool Initlist_L(LinkList &L) …

单链表的基本操作(学习总结)

单链表的声明初始化&#xff1a; 1.头文件&#xff1a; 这里不做太多说明&#xff0c;是学习C语言的基础。 #include<stdio.h> #include<stdlib.h> 2.结构声明&#xff1a; 数据结构算法中&#xff0c;每个表&#xff0c;树&#xff0c;图类的工具组都需要定义它…

Java 实现单链表的基本操作

顺序表&#xff1a;物理上逻辑上都连续&#xff1b; 链表&#xff1a;物理上不一定连续&#xff0c;逻辑上一定连续的。 链表的概念及结构 概念&#xff1a;连表示一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是用过链表中的引用链接次序实现的…

数据结构:单链表的基本操作

单链表是一种链式存取的数据结构&#xff0c;用一组地址任意的存储单元存放线性表中的数据元素。这组存储单元可以是连续的&#xff0c;也可以是不连续的。链表中的数据是以结点来表示的&#xff0c;一个结点包含数据域和指针域&#xff0c;数据域用来存储结点的值&#xff0c;…

python实现单链表的基本操作

一、单链表 单向链表&#xff08;单链表&#xff09;是链表的一种&#xff0c;其特点是链表的链接方向是单向的&#xff0c;对链表的访问要通过顺序读取从头部开始。单链表是一种链式存取的数据结构&#xff0c;用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是…

Java实现单链表及其基本操作

目录 什么是单链表&#xff1f; 带头结点的单链表 不带头结点的单链表 模拟实现不带头结点的单链表 定义结点类 初始化 头插法创建单链表 尾插法创建单链表 打印单链表 单链表的查找 获取单链表的长度 按位置寻找前驱结点 单链表的插入 修改指定位置的值 按…

【数据结构】二、单链表的基本操作(C语言)

目录 引用头指针的好处&#xff1a; 1.结点的定义和初始化单链表 2.判断单链表是否为空表 3.销毁单链表 4.清空单链表&#xff0c;头结点和头指针还在 5.求单链表表长 6.取单链表中指定位置的数据 7.按值查找,返回数据所在的地址&#xff0c;时间复杂度为O(n)​编辑…

【头歌】单链表的基本操作

单链表的基本操作 第1关&#xff1a;单链表的插入操作 任务描述 本关任务&#xff1a;编写单链表的初始化、插入、遍历三个操作函数。 相关知识 链表是线性表的链式存储结构的别称&#xff0c;特点是以“指针”指示后继元素&#xff0c;因此线性表的元素可以存储在存储器中任意…

【数据结构】单链表的基本操作及实现

线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素&#xff08;这组存储单元可以是连续的&#xff0c;也可以是不连续的&#xff09;。因此&#xff0c;为了表示每个数据元素与其直接后继数据元素之间的逻辑关系&#xff0c;对数据元素来说&#xff0c;除…

单链表的基本操作C++

定义一个结构体结构体里存有数据域以及指针域&#xff0c;Lnode跟Node意思一样只是为了方便而重新起名&#xff0c;Linklist 也就是Node 的意思也是为了方便 typedef struct Node {int data; //数据域Node* next;//指针域 指针域是用来存放下一个节点的}Lnode, * Linklist;…

数据结构与算法 | 单链表的基本操作

1024G 嵌入式资源大放送&#xff01;包括但不限于C/C、单片机、Linux等。关注微信公众号【嵌入式大杂烩】&#xff0c;回复1024&#xff0c;即可免费获取&#xff01; 线性表的存储结构有顺序存储结构&#xff08;顺序表&#xff09;和链式存储结构&#xff08;链表&#xff09…

单链表的基本操作(完整代码)

函数说明&#x1f603;&#xff1a; LinkList List_HeadInsert(LinkList& L)&#xff1a;用头插法建立单链表 LinkList List_TailInsert(LinkList& L)&#xff1a;用尾插法建立单链表 LNode * GetElem(LinkList L, int i):按照序号查找结点值 LNode * LocateElem(Link…

【链表】单链表的基本操作详解(C语言)

本文是单链表的C语言实现方法&#xff0c;包括单链表的创建、插入、删除、修改、查找等基本操作。 链表的底层是通过指针将一个个零散的内存块连接起来&#xff0c;链表的每个内存块称为结点。 单链表结点结构体 单链表的结点上存储数据data和下个结点的地址——后继指针nex…

单链表的基本操作(详细)

目录 0.本帖的内容&#xff1a; 1.单链表的定义 2.初始化 3.这个帖子中的功能&#xff08;函数块&#xff09; 4.利用为尾插法创建单链表 5.打印单链表 6.在带有头结点的单链表L中第i个位置之前的插入元素e 7.当第i个元素存在时&#xff0c;把第i个元素赋值给e并返回ok…

单链表基本操作

目录 结构体&#xff0c;这里讨论的都是带头节点的 一、单链表建立 1、头插法&#xff1a;利用头指针控制链表节点的增加 代码&#xff1a; 2、尾插法&#xff1a; 二、遍历 三、插入&#xff1a;&#xff08;pos代表要插入的位置&#xff09; 四、删除 五、销毁 六、…