当前位置: 首页 > news >正文

Linux系列讲解 —— FTP协议的应用

简单介绍一下FTP文件传输协议在linux系统中的应用。

目录

  • 0. 基本概念
  • 1. FTP Server
    • 1.1 安装FTP Server
    • 1.2 FTP Server开启和关闭
    • 1.3 查看FTP Server是否开启
    • 1.4 FTP服务器配置
  • 2. FTP Client
    • 2.1 lftp
    • 2.2 ftp
    • 2.3 sftp
    • 2.4 文件资源管理器集成的ftp和sftp
  • 3. ftp常用命令

0. 基本概念

FTP (File Transfer Protocol):文件传输协议。

FTP是一种用于在TCP/IP网络上进行通信和文件传输的协议。FTP大概可以分为两部分:FTP ServerFTP Client。用户可以在FTP服务器(也称为FTP主机/站点)上接收和传输文件。FTP客户端通过TCP协议连接到FTP服务器,并使用FTP指令与其进行通信。FTP客户端可以浏览远程FTP服务器中的文件和目录,并从FTP服务器下载文件或将文件上传到FTP服务器。

FTP数据传输可以使用两种模式:主动模式和被动模式。在主动模式下,FTP服务器向FTP客户端发送数据;而在被动模式下,FTP客户端向FTP服务器发送数据。

FTP通常使用标准的21号端口进行通信。但是,FTP协议不支持加密,因此在传输敏感信息时需要采取其他安全措施。例如,SFTP (Secure File Transfer Protocol)是一种基于SSH(Secure Shell)协议的加密协议,用于在安全网络上进行文件传输。

1. FTP Server

1.1 安装FTP Server

sudo apt install vsftpd

1.2 FTP Server开启和关闭

#启动服务
sudo service vsftpd start#关闭服务
sudo service vsftpd stop#重启服务
sudo service vsftpd restart

1.3 查看FTP Server是否开启

sudo service vsftpd status

开启状态:
在这里插入图片描述

关闭状态:
在这里插入图片描述

1.4 FTP服务器配置

vsftpd的配置文件为/etc/vsftpd.conf,下面讲一下必要的配置选项。

1.使用本地用户登录ftp服务器

参数说明
local_enable=YES允许本地用户登录。
write_enable=YES允许写,如果不设置或者为NO,则不能上传或删除文件。
local_umask=077本地用户的权限掩码,不设置的情况下默认为八进制数077。

注:要保证登录ftp的用户或者该用户所在组对目标目录有读写权限,反例如下
在这里插入图片描述

2.使用匿名用户登录ftp服务器

参数说明
anonymous_enable=YES允许匿名登录。
anon_root=/home/sun/anondir匿名用户的根目录,自定义路径。必须设置,否则匿名登录后,没有目录可用。
write_enable=YES允许写,如果不设置或者为NO,则anon_other_write_enable,anon_upload_enable的设置都会无效。
anon_other_write_enable=YES允许匿名用户写操作,不设置或者为NO,则无法删除文件。需要 write_enable=YES ,否则无效。
anon_upload_enable=YES允许匿名用户上传文件,需要 write_enable=YES ,否则无效。
anon_mkdir_write_enable=YES允许匿名用户创建文件夹,需要 write_enable=YES ,否则无效。
anon_umask=077匿名用户的权限掩码,不设置的情况下默认为八进制数077。

关于匿名用户登录有两个注意点:
(1) 和本地用户登录ftp服务器情况的注意点类似,ftp匿名用户就相当于other用户,保证other用户对目标目录拥有读写权限。
(2) 在ftp服务器上,匿名用户根目录其他人权限不能设置可写权限,如果设置了可写权限,那么ftp匿名登录会报错。
在这里插入图片描述

2. FTP Client

2.1 lftp

lftp比ftp多了tab键补全,命令行显示当前路径,推荐用这个。

安装命令:

sudo apt install lftp

基本用法:

lftp ip地址

例:用administrator登录192.168.1.7主机
在这里插入图片描述

例:匿名登录192.168.1.7主机
需要ftp服务器配置了匿名登录。如何配置ftp服务器匿名登录,linux系统可以看上面FTP Server的部分。

sun@sun-pc:~$ lftp 192.168.1.7
lftp 192.168.1.7:~>

2.2 ftp

ubuntu自带,明文传输,没有tab补全功能,命令行不显示当前路径。
安装命令:

sudo apt install ftp

基本用法:

ftp ip地址

例:用户administrator登录192.168.1.7主机
在这里插入图片描述

例:匿名登录192.168.1.7主机
需要ftp服务器配置了匿名登录。如何配置ftp服务器匿名登录,linux系统可以看上面FTP Server的部分。
在这里插入图片描述

2.3 sftp

sftp也是ubuntu自带的,和ftp客户端类似,多了一个ssh加密传输,这里就不细讲了。

2.4 文件资源管理器集成的ftp和sftp

ubuntu的文件资源管理器自带了ftp和sftp等客户端,如下
在这里插入图片描述

3. ftp常用命令

ftp的命令基本都和linux内建命令相同,但是没有linux命令多。登录ftp服务器后,就可以使用下面命令了。

# 上传文件到当前ftp服务器,put的时候可以按tab键会提示本地机器当前目录有哪些文件
put 文件# 从当前ftp服务器下载文件
get 文件# 查看有哪些文件,文件夹
lsls -l# 查看文件内容
cat 文件# 切换目录
cd 路径# 创建文件夹
mkdir 文件夹# 删除文件或目录
rmrm -r# 退出登录,其中exit只有linux系统的ftp客户端有效
bye 或 quit 或 exit

相关文章:

Linux系列讲解 —— FTP协议的应用

简单介绍一下FTP文件传输协议在linux系统中的应用。 目录 0. 基本概念1. FTP Server1.1 安装FTP Server1.2 FTP Server开启和关闭1.3 查看FTP Server是否开启1.4 FTP服务器配置 2. FTP Client2.1 lftp2.2 ftp2.3 sftp2.4 文件资源管理器集成的ftp和sftp 3. ftp常用命令 0. 基本…...

Rancher-RKE-install 部署k8s集群

一、为什么用Rancher-RKE-install 1.CNCF认证的k8s安装程序。 2.有中文文档。 二、安装步骤 1.下载Rancher-Rke的二进制包-下面是项目的地址 GitHub - rancher/rke: Rancher Kubernetes Engine (RKE), an extremely simple, lightning fast Kubernetes distrib…...

PHP8的正则表达式-PHP8知识详解

在网页程序的时候,经常会有查找符合某些复杂规则的字符串的需求。正则表达式就是描述这些规则的工具。 正则表达式是把文本或者字符串按照一定的规范或模型表示的方法,经常用于文本的匹配操作。 例如:我们在填写手机号码的时候,…...

SpringCloud实用篇7——深入elasticsearch

目录 1 数据聚合1.1 聚合的种类1.2 DSL实现聚合1.2.1 Bucket聚合语法1.2.2 聚合结果排序1.2.3 限定聚合范围1.2.4 Metric聚合语法1.2.5.小结 1.3 RestAPI实现聚合1.3.1 API语法1.3.2 业务需求1.3.3 业务实现 2 自动补全2.1 拼音分词器2.2 自定义分词器2.3 自动补全查询2.4 实现…...

uni-app 经验分享,从入门到离职(二)—— tabBar 底部导航栏实战篇

文章目录 📋前言⏬关于专栏 🎯关于小程序 tabbar 的一些知识🎯创建一个基本的 tabBar📝最后 📋前言 这篇文章的内容主题是关于小程序的 tabBar 底部导航栏的入门使用和实战技巧。通过上一篇文章的基础,我们…...

Java虚拟机(JVM):内存区域

一、内存区域介绍 Java虚拟机(JVM)内存可以分为以下几个区域: 程序计数器(Program Counter Register):用于记录当前线程执行的字节码指令的地址,属于线程私有的区域。在任意时刻,一…...

11 - git stash 开发中临时加塞了紧急任务怎么处理

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 开发中临时加塞了紧急任务怎么处理 开发中临时加塞了紧急任务怎么处理 当你此时工作区已经修改了 Readme 文件,然后突然需要解决其他问题(紧急问题、新任务&…...

高效的WMS系统手持盘点方案

WMS系统手持盘点就是指利用WMS系统支持的手持式电子盘点设备进行库存盘点的方式。 具体来说: - 手持盘点设备是一种小型的电子设备,具有移动条形码扫描功能,可以实时与WMS系统联通。 - WMS系统利用手持设备,可以给仓储人员下发具体的盘点任务,例如需要盘点的货位、商品等信息…...

Oracle分页技术

1、使用两层嵌套 SELECT *FROM (SELECT A.*, ROWNUM RNFROM (SELECT * FROM edw_t100_bal_all) AWHERE ROWNUM < 40)WHERE RN > 21; 2、使用between..and.. SELECT *FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM edw_t100_bal_all) A)WHERE RN between 21 and 40…...

2023-08-15 Untiy进阶 C#知识补充6——C#7主要功能与语法

文章目录 一、字面值改进二、out 内部声明 / 弃元三、ref 返回值四、本地函数五、抛出表达式六、元组七、模式匹配 ​ 注意&#xff1a;在此仅提及 Unity 开发中会用到的一些功能和特性&#xff0c;对于不适合在 Unity 中使用的内容会忽略。 ​ C# 7 对应 Unity 版本&#xff1…...

logstash配置文件

input { kafka { topics > “xxxx” bootstrap_servers > “ip:port” auto_offset_reset > “xxxx” group_id > “xxxx” consumer_threads > 3 codec > “json” } } filter { grok { match > { “message” > ‘%{IP:client_ip} - - [%{HTTPDATE:…...

docker搭建lnmp(nginx+mysql57+php7.4)

docker搭建lnmp(nginxmysql57php7.4) 1. 准备工作 docker安装 $ sudo yum update $ sudo sudo yum install -y yum-utils device-mapper-persistent-data lvm2 $ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo $ sudo…...

专访 BlockPI:共建账户抽象未来的新一代 RPC 基础设施

在传统 RPC 服务板块上&#xff0c;开发者一直饱受故障风险、运行环境混乱等难题的折磨。实现 RPC 服务的去中心化&#xff0c;且保持成本优势和可扩展性&#xff0c;始终是区块链基础设施建设的重要命题之一。从 2018 年观察中心化 RPC 供应商服务现状开始&#xff0c;BlockPI…...

js fetch请求中断的几种方式

1、通过AbortController 这是官方标准手段&#xff0c;真正意义的阻止请求&#xff08;不支持ie&#xff09; 后端接口设置的两秒返回数据 function myFetch() {const controller new AbortController();const signal controller.signal;fetch(http://localhost:3000/aaa/…...

Python自动化实战之使用Selenium进行Web自动化详解

概要 为了完成一项重复的任务&#xff0c;你需要在网站上进行大量的点击和操作&#xff0c;每次都要浪费大量的时间和精力。Python的Selenium库就可以自动化完成这些任务。 在本篇文章中&#xff0c;我们将会介绍如何使用Python的Selenium库进行Web自动化&#xff0c;以及如何…...

“之江数据安全治理论坛”暨《浙江省汽车数据处理活动规定(专家建议稿)》研讨会顺利召开

研讨会主题 8月10日&#xff0c;“之江数据安全治理论坛”暨《浙江省汽车数据处理活动规定&#xff08;专家建议稿&#xff09;》研讨会在浙江大学计算机创新技术研究院举办。 本次研讨会的主题聚焦于“智能网联汽车的数据安全与数据合规”&#xff0c;邀请行业主管部门和数据…...

消息中间件面试题

异步发送(验证码、短信、邮件…) MYSQL和Redis&#xff0c;ES之间的数据同步 分布式事务 削峰填谷 RabbitMQ如何保证消息不丢失&#xff1f; 开启生产者确认机制&#xff0c;确保生产者的消息能到达队列 开启持久化功能&#xff0c;确保消息未消费前在队列中不会丢失 开启消费…...

麻辣烫数据可视化,麻辣烫市场将持续蓬勃发展

麻辣烫&#xff0c;这道源自中国的美食&#xff0c;早已成为人们生活中不可或缺的一部分。它独特的香辣口味&#xff0c;让人忍不住每每流连忘返。与人们的关系&#xff0c;简直如同挚友一般。每当寒冷的冬日或疲惫的时刻&#xff0c;麻辣烫总是悄然走进人们的心房&#xff0c;…...

大数据课程J1——Scala的概述

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Scala的特点; ⚪ 了解Scala的开发环境搭建; ⚪ 了解Scala的开发工具; 一、概述 1.简介 Scala既是面向对象的语言,也是面向函数的语言。scala可以为你在做大量代码重用和扩展是提…...

第二章:25+ Python 数据操作教程(第十三节NUMPY 教程与练习)

NumPy(“Numerical Python”或“Numeric Python”的缩写)是 Python 中对数组和矩阵进行快速数学计算的最基本的软件包之一。在处理多维数据时它也非常有用。集成C、C++和FORTRAN工具是一件幸事。它还提供了许多傅里叶变换 (FT) 和线性代数函数。 为什么使用 NumPy 而不是列…...

GHelper开源工具深度评测:如何为华硕笔记本实现轻量化硬件控制

GHelper开源工具深度评测&#xff1a;如何为华硕笔记本实现轻量化硬件控制 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models …...

聊天记录全方位管理:WeChatMsg革新性本地数据解决方案

聊天记录全方位管理&#xff1a;WeChatMsg革新性本地数据解决方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...

SDXL-Turbo多场景落地教程:覆盖电商、游戏、教育、自媒体的6大用法

SDXL-Turbo多场景落地教程&#xff1a;覆盖电商、游戏、教育、自媒体的6大用法 1. 认识SDXL-Turbo&#xff1a;重新定义AI绘画体验 SDXL-Turbo不是传统的AI绘画工具&#xff0c;而是一个革命性的实时创作伙伴。想象一下&#xff0c;你打字的同时&#xff0c;画面就在眼前实时…...

【已验证】基于STM32和HAL库的大夏龙雀BT311-10C02S蓝牙模块驱动

最近买了一个大夏龙雀家的蓝牙模块DX-BT311-10C02S&#xff0c;这个蓝牙是一款基于BLE 5.4规范的串口透传模块&#xff0c;支持AT指令配置、主从模式切换&#xff0c;非常适合与单片机搭配实现无线数据传输。如果是第一次买还是很便宜的&#xff0c;他家的模块有一说一是真的不…...

【深度学习】RoBERTa:BERT的优化升级与实战应用

1. RoBERTa&#xff1a;BERT的全面进化 第一次接触RoBERTa时&#xff0c;我正为一个电商评论情感分析项目发愁。当时用BERT模型效果总是不稳定&#xff0c;直到尝试了RoBERTa&#xff0c;准确率直接提升了5个百分点。这个经历让我意识到&#xff0c;看似细微的技术改进在实际应…...

嵌入式开发中PlantUML图表的工程化应用

嵌入式开发中PlantUML图表的工程化应用指南1. 嵌入式文档工具概述在嵌入式系统开发过程中&#xff0c;系统架构图和设计文档是工程师沟通需求、梳理逻辑的核心工具。传统拖拽式绘图工具存在效率低下、维护困难等问题&#xff0c;而基于代码生成图表的PlantUML技术为嵌入式开发文…...

智能协作:让快马AI成为你的算法优化顾问,自动分析并改进代码

今天想和大家分享一个特别实用的开发技巧——如何用AI辅助优化算法代码。作为一个经常和动态规划算法打交道的开发者&#xff0c;我发现InsCode(快马)平台的AI功能真的能帮我们省去很多重复劳动。 先说说我最近遇到的一个实际问题&#xff1a;经典的0-1背包问题。虽然动态规划…...

Galio:终极React Native UI框架入门指南 - 快速构建精美移动应用

Galio&#xff1a;终极React Native UI框架入门指南 - 快速构建精美移动应用 【免费下载链接】galio Galio is a beautifully designed, Free and Open Source React Native Framework 项目地址: https://gitcode.com/gh_mirrors/ga/galio Galio是一款免费开源的React N…...

基于本机配置的 YOLO26 Conda ss‘安装教程:Windows 11 + RTX 3050 Ti 实战版

基于本机配置的 YOLO26 Conda 环境安装教程&#xff1a;Windows 11 RTX 3050 Ti 实战版 这篇文章不是泛泛而谈的“通用装环境教程”&#xff0c;而是按你这台电脑当前的实际配置整理出来的一份可直接照做的安装方案。 如果你以前没有配过深度学习环境&#xff0c;只想先把 co…...

Open WebUI:企业级自托管AI平台架构深度解析

Open WebUI&#xff1a;企业级自托管AI平台架构深度解析 【免费下载链接】open-webui Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;设计用于完全离线操作&#xff0c;支持各种大型语言模型&#xff08;LLM&#xff09;运行器&#xff0c;包括Ollama…...