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

ubuntu 中使用 lftp 命令行工具传输文件

文章目录

  • 一、检查传输协议和端口
  • 二、使用 lftp 工具传输文件
  • 三、自动化登录和文件传输
  • 小结

一、检查传输协议和端口

  1. 安装nmapnmap是一个非常通用的扫描器,可以跨越几乎所有 IP 网络环境使用,支持多平台、多协议,几乎能完成整个网络探测、诊断和安全审计的流程。

    sudo apt install nmap 
    
    方面特点总结详情说明
    协议通用性核心协议支持广泛Nmap 使用原始 IP 数据包(Raw IP Packets)来工作,支持 TCP、UDP、ICMP 等所有主流网络协议,使其能够探测各种基于 IP 的网络服务。
    环境通用性适用于各种规模和类型网络无论是扫描单个主机、内部局域网 (LAN) 还是跨越互联网的大型网络 (WAN),Nmap 都能胜任。它具备穿透(或规避)防火墙、路由器和入侵检测系统 (IDS) 的高级扫描技术。
    系统通用性支持主流操作系统Nmap 软件本身是跨平台的,有适用于 Linux、Windows、macOS 以及各种 BSD 和 Unix 系统的版本,可以在几乎任何主机上执行扫描任务。
    功能通用性不仅仅是端口扫描它的功能涵盖主机发现、端口状态识别、服务及版本探测、操作系统指纹识别和脚本扫描(NSE),使其成为网络管理员和安全审计人员的通用工具。
  2. 扫描目标 IP 地址,以发现主机是否在线,开放了哪些端口以及运行着什么服务,确保目标主机支持相关的传输协议。

    nmap ip   # 目标主机 ip
    

    网络扫描

二、使用 lftp 工具传输文件

  1. 在 Linux 或 Unix 的终端环境下,通常选择lftp工具传输文件,尤其是在涉及到自动化、高可靠性、目录同步或性能优化的场景中。它的一大优势是操作统一,无论是 ftp://ftps:// 还是 sftp://,都是使用同一套lftp命令(如 mirror, get, put),无需切换工具,这带来了极大的便利性。

    sudo apt install lftp
    
  2. 选择对应的协议(ftp://ftps://sftp:// 等),使用 URL 指定用户名登录(交互输入密码)。

    lftp ftp://username@host_ip
    
  3. 登录成功后,终端提示符变成如下格式。

    lftp username@host_ip:~>
    
  4. 远程操作命令(不加!前缀)

    功能命令示例说明
    列出目录lsls -l查看远程目录文件
    切换目录cd /remote/dir切换远程目录
    查看远程路径pwd当前远程目录
    创建远程目录mkdir newfolder在远程创建目录
    删除远程文件rm file.txt删除远程文件
    上传单文件put localfile.txt上传到当前远程目录
    下载单文件get remotefile.txt下载到当前本地目录
    上传并改名put localfile.txt -o remotefile.txt上传更名 / 路径
    下载并改名get remotefile.txt -o localfile.txt下载更名 / 路径
    上传目录(递归)mirror -R /local/dir /remote/dir本地 → 远程
    下载目录(递归)mirror /remote/dir /local/dir远程 → 本地
    上传目录并断点续传mirror -R --continue /local/dir /remote/dir支持断点续传
    上传目录并多线程mirror -R --parallel=5 /local/dir /remote/dir并行上传5个文件
  5. 安全与证书设置,如果提示类似 Certificate verification: Not trusted 的错误,是lftp检测到服务器证书不被信任(自签名或 CA 不被本机信任),所以阻止操作。在内网环境时,可以考虑临时忽略证书验证并在交互模式里执行对应指令。

    功能命令示例说明
    忽略证书验证(自签名/内网可用)set ssl:verify-certificate no防止 FTPS/SFTP 报“不被信任证书”
    被动模式(FTP,推荐)set ftp:passive-mode on避免 NAT/防火墙问题
    主动模式(FTP)set ftp:passive-mode off有特殊需求时使用
  6. lftp工具同样提供了全局重试和超时设置,可以通过set命令在交互模式中配置。

    # 设置连接超时(秒)
    set net:timeout 20# 设置重试次数
    set net:max-retries 3# 设置重试间隔(秒)
    set net:reconnect-interval-base 5
    
  7. 如果需要操作本地内容而不是远程,则需要在指令前加 ! 前缀。

    功能命令示例说明
    清屏!clear清空终端屏幕
    查看本地目录!ls显示本地文件
    查看本地路径!pwd显示本地路径
    执行任意本地命令!<command>!echo hello

    记住:! → 宿主机操作,不加 → 远程操作

三、自动化登录和文件传输

  1. 如果不想每次登录都输入用户名和密码,那么可以在home目录创建文件~/.netrc并添加如下内容,其中,多台机器可以通过空行分隔,但是 不支持任何形式的注释。任何不被识别的字符序列,包括以 # 开头的行,都会被解析器(如 lftp、curl 或 ftp 客户端)视为无效的标记或数据,这可能导致解析错误。

    machine <远程主机名或IP>
    login <用户名>
    password <密码>machine <远程主机名或IP>
    login <用户名>
    password <密码>
    
  2. 由于.netrc文件包含明文密码,系统对其安全性要求极高。如果权限设置不正确,lftp会出于安全考虑直接忽略该文件。一般将权限设置为 600(仅允许所有者读写)。

    chmod 600 ~/.netrc
    
  3. 连接时lftp会自动读取.netrc文件中的用户名和密码,例如:

    lftp 192.168.1.100
    
  4. 自动化上传/下载,可以使用多行输入重定向语法,将两个 EOF 之间的多行文本,作为标准输入传递给前面的命令。其实等价于登录之后,手动执行每条指令。这部分内容也可以放在脚本中执行。

    lftp 192.168.1.100 <<EOF
    set ssl:verify-certificate no
    mirror -R --continue /local/dir /remote/dir
    bye
    EOF
    

小结

上述内容均来自个人实践,仅供参考,如有其他问题欢迎在评论区讨论,谢谢!!

http://www.dtcms.com/a/512666.html

相关文章:

  • 推荐5款中文打字速度测试软件:无需下载即可使用
  • 网站建设基础服务wordpress polling
  • 长春 网站 设计公司wordpress 权限
  • 什么在线做动图的网站比较好织梦调用wordpress
  • 用 Python 给 Amazon 做“全身 CT”——可量产、可扩展的商品详情爬虫实战
  • 开箱即用,15分钟极速部署:富唯智能精密仪器搬运机器人重塑工业自动化
  • 网站建设个人实训报告seo免费入门教程
  • 一个服务器下怎么做两个网站吗网站上海备案查询系统
  • STM32实现呼吸灯效果原理
  • 做营销网站要多少钱网站开发平台建设
  • html css js网页制作成品——HTML+CSS仙台有树电视剧网页设计(5页)附源码
  • 开发避坑指南(64):修复IllegalArgumentException:参数值类型与期望类型不匹配
  • 企业网站怎样做seo优化 应该如何做凡科建站官网怎么样
  • 【Java进阶】GC友好的编程方式
  • 甘肃肃第八建设集团网站福州市高速公路建设指挥部网站
  • 鸿蒙NEXT媒体开发全栈解析:从播放器到录屏的一站式解决方案
  • 郑州做网站排名dede网站首页
  • python 做网站很快吗广州自助网站推广建站
  • AD22 热风焊盘在哪设置
  • CMake进阶:生成器表达式
  • 从 Vite 到现代构建范式:一个关于“快”的技术哲学
  • 2025世界智能制造大会(南京)将带来那些新技术与新体验?
  • 杭州网站建设杭州上海哪个网站好用
  • 做网站的文案是指网站怎么做才能赚钱吗
  • 完善企业能力等级评价体系 构建高质量发展新标尺
  • Vue2 封装二维码弹窗组件
  • 哪里有做网站较好的公司龙华做网站怎么样
  • 在1688做公司网站前端开发语言的特点是
  • 少儿教育网站建设价格免费看电视剧的网站在线观看
  • (四)从零学 React Props:数据传递 + 实战案例 + 避坑指南