发布时间:2026/6/16 17:58:22
十、网络客户端工具curl, wget, ssh, scp, sftp, rsync
目录一、curl – 多功能网络传输工具1.1 基本概念1.2 常用选项与用法1.2.1 查看网页内容1.2.2 查看 HTTP 响应头不下载正文1.2.3 跟随重定向1.2.4 使用代理1.2.5 保存网页/文件到本地1.2.6 断点续传1.2.7 限速下载1.2.8 FTP 操作1.2.9 发送 POST 请求测试 API1.2.10 设置 User-Agent1.2.11 忽略证书校验HTTPS二、wget – 专业下载工具2.1 特点2.2 基本用法2.2.1 直接下载2.2.2 指定保存文件名或目录2.2.3 后台下载2.2.4 断点续传2.2.5 测试下载不实际保存2.2.6 限速2.2.7 递归下载整个网站2.2.8 从文件中批量下载2.2.9 设置代理三、SSH 远程连接与安全传输3.1 OpenSSH 套件组成3.2 基本远程登录3.3 基于密钥的免密登录3.3.1 生成密钥对3.3.2 将公钥传到远程服务器3.3.3 测试3.3.4 SSH 代理避免重复输入 passphrase3.4 SSH 服务器配置安全加固3.5 scp – 安全复制不推荐使用 rsync 替代3.6 sftp – 交互式安全文件传输3.7 SSH 端口转发隧道3.7.1 本地端口转发Local Forward3.7.2 远程端口转发Remote Forward3.7.3 动态端口转发SOCKS 代理四、rsync – 高效文件同步工具4.1 特点4.2 基本语法4.3 重要路径末尾斜杠的含义4.4 常用选项4.5 实战案例五、综合对比与选型建议六、排错与调试技巧适用系统RHEL 9 / CentOS Stream 9主要涉及curl,wget,ssh,scp,sftp,rsync涵盖curl、wget、SSH、scp、sftp、rsync以及 SSH 端口转发、密钥登录等高级内容。一、curl– 多功能网络传输工具1.1 基本概念全称Client URL (最小化自带)功能支持 HTTP/HTTPS/FTP/FTPS/TFTP 等协议可查看网页内容、下载/上传文件、测试接口等。特点命令行下工作支持代理、认证、Cookie、断点续传等。1.2 常用选项与用法1.2.1 查看网页内容curl http://www.baidu.com # 输出源码到终端默认不显示 HTTP 头1.2.2 查看 HTTP 响应头不下载正文curl -I http://www.baidu.com # 输出示例 # HTTP/1.1 200 OK # Server: Apache/2.4.57 # Content-Type: text/html常见状态码码含义200成功301永久重定向302临时重定向403无权限404未找到502网关错误503服务不可用1.2.3 跟随重定向curl -L http://tinyurl.com/xxx # 自动跟踪 Location 头1.2.4 使用代理curl -x 192.168.100.100:1080 http://www.linux.com # -x 指定代理服务器和端口1.2.5 保存网页/文件到本地选项说明示例-O保存为远程文件名curl -O http://example.com/file.tar.gz-o指定本地文件名/路径curl -o /opt/myfile.tar.gz http://example.com/file.tar.gz1.2.6 断点续传curl -C - -O http://example.com/bigfile.iso # -C - 表示自动检测已下载的偏移量1.2.7 限速下载curl --limit-rate 200k -O http://example.com/bigfile.iso1.2.8 FTP 操作下载需认证curl -u 用户名密码 ftp:www.xxx# 方式1使用 -u curl -O -u username:password ftp://example.com/file.jpg # 方式2URL 中包含凭据 curl -O ftp://username:passwordexample.com/file.jpg上传curl -T localfile.txt ftp://example.com/ --user username:password1.2.9 发送 POST 请求测试 APIcurl -X POST -d namezhangage25 http://example.com/api # -d 指定数据application/x-www-form-urlencoded1.2.10 设置 User-Agentcurl -A Mozilla/5.0 http://example.com1.2.11 忽略证书校验HTTPScurl -k https://self-signed.badssl.com二、wget– 专业下载工具2.1 特点支持 HTTP/HTTPS/FTP支持断点续传、后台下载、递归下载显示进度条信息更直观2.2 基本用法2.2.1 直接下载wget https://mirrors.aliyun.com/centos/8/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso2.2.2 指定保存文件名或目录# 改名 wget -O newname.iso http://example.com/file.iso # 指定目录目录必须已存在 wget -P /opt/ http://example.com/file.tar.gz2.2.3 后台下载wget -b http://example.com/bigfile.iso # 输出日志到 wget-log可用 tail -f wget-log 查看进度2.2.4 断点续传wget -c http://example.com/bigfile.iso2.2.5 测试下载不实际保存wget --spider http://example.com/file # 仅发送请求头检查文件是否存在2.2.6 限速wget --limit-rate500k http://example.com/bigfile.iso2.2.7 递归下载整个网站wget -r -l 5 -np -k http://example.com/docs/ # -r 递归 # -l 5 最多5层 # -np 不进入上级目录 # -k 转换链接为本地相对路径2.2.8 从文件中批量下载wget -i url_list.txt # url_list.txt 每行一个 URL2.2.9 设置代理# 编辑 /etc/wgetrc 或在命令行 wget -e use_proxyyes -e http_proxy192.168.1.100:8080 http://example.com三、SSH 远程连接与安全传输默认保存路径~/.ssh/id_rsa私钥和 ~/.ssh/id_rsa.pub公钥3.1 OpenSSH 套件组成软件包作用openssh-server服务端sshd 守护进程openssh-clients客户端ssh, scp, sftp 等openssh公共文件与帮助文档3.2 基本远程登录ssh userremote_host # 默认端口 22 # 首次连接会提示保存 host key输入 yes指定端口ssh -p 2222 userremote_host远程执行命令非交互ssh userremote_host ls -l /tmpX11 转发图形程序ssh -X userremote_host # 然后运行图形程序如 gedit界面显示在本地3.3 基于密钥的免密登录3.3.1 生成密钥对ssh-keygen -t rsa -b 4096 -C your_emailexample.com # 默认保存路径~/.ssh/id_rsa私钥和 ~/.ssh/id_rsa.pub公钥 # 可设置 passphrase空密码则完全免密3.3.2 将公钥传到远程服务器# 自动方式推荐 ssh-copy-id userremote_host # 手动方式 cat ~/.ssh/id_rsa.pub | ssh userremote_host mkdir -p ~/.ssh cat ~/.ssh/authorized_keys3.3.3 测试ssh userremote_host # 应不再提示密码3.3.4 SSH 代理避免重复输入 passphraseeval $(ssh-agent) ssh-add ~/.ssh/id_rsa # 输入一次 passphrase后续会话无需再输3.4 SSH 服务器配置安全加固配置文件/etc/ssh/sshd_config修改后执行systemctl restart sshd配置项推荐值作用Port2222非默认避免扫描攻击PermitRootLoginno禁止 root 直接登录PasswordAuthenticationno禁止密码登录仅允许密钥PubkeyAuthenticationyes启用密钥认证AllowUsersuser1 user2仅允许特定用户登录DenyUsersbaduser禁止某些用户AllowGroupssshusers仅允许特定组登录MaxAuthTries3最大认证尝试次数ClientAliveInterval300客户端空闲超时秒用户/组限制示例AllowUsers *192.168.1.* # 仅允许 192.168.1.0/24 网段的用户 AllowUsers zhangsan lisi # 只允许这两个用户登录3.5scp– 安全复制不推荐使用 rsync 替代RHEL9 中 SCP 存在安全漏洞官方建议使用sftp或rsync。# 上传本地文件到远程 scp localfile userremote:/path/ # 下载远程文件到本地 scp userremote:/path/file ./ # 复制目录-r scp -r /local/dir userremote:/remote/dir # 指定端口大写 P scp -P 2222 file userremote:/path/3.6sftp– 交互式安全文件传输sftp userremote_host # 进入交互界面类似 FTP 命令常用 sftp 命令命令作用ls列出远程目录lls列出本地目录cd切换远程目录lcd切换本地目录get file下载文件put file上传文件rm file删除远程文件mkdir创建远程目录exit或bye退出3.7 SSH 端口转发隧道3.7.1 本地端口转发Local Forward场景想访问远程主机 A 的服务如数据库但防火墙限制而你可以 SSH 到主机 B且 B 能访问 A 的该端口。格式ssh -L [本地地址:]本地端口:目标地址:目标端口 中转主机示例将本地的 1888 端口转发到远程 12.0.0.146 的 80 端口ssh -N -g -L 1888:12.0.0.146:80 12.0.0.146 # -N不执行远程命令仅转发 # -g允许其他主机连接本地 1888 端口否则只允许 127.0.0.1然后访问http://127.0.0.1:1888等同于访问http://12.0.0.146。3.7.2 远程端口转发Remote Forward场景想让远程服务器访问你本地的一个服务如在家办公让公司服务器能连你本地的 web。格式ssh -R 远程端口:本地地址:本地端口 中转主机示例ssh -R 9090:localhost:80 userremote_server这样在远程服务器上访问localhost:9090就转发到你本地的 80 端口。3.7.3 动态端口转发SOCKS 代理场景作为 SOCKS5 代理所有流量通过 SSH 隧道。格式ssh -D 本地端口 中转主机示例ssh -N -D 1080 userremote_server然后在浏览器中设置 SOCKS5 代理为127.0.0.1:1080所有流量都经过远程服务器。四、rsync– 高效文件同步工具4.1 特点支持本地和远程同步通过 SSH增量传输仅传送文件差异部分节省带宽保留文件属性权限、时间、属主等支持排除、删除多余文件等高级操作4.2 基本语法本地同步rsync [选项] 源路径 目标路径远程同步通过 SSH# 推送Push本地 → 远程 rsync [选项] /local/dir/ userremote:/remote/dir/ # 拉取Pull远程 → 本地 rsync [选项] userremote:/remote/dir/ /local/dir/4.3 重要路径末尾斜杠的含义写法含义rsync -a /etc /tmp将/etc目录本身复制到/tmp结果为/tmp/etcrsync -a /etc/ /tmp将/etc/目录内的所有内容复制到/tmp不包含etc目录本身4.4 常用选项选项说明-a归档模式递归、保留符号链接、权限、时间、属主、组、设备文件-v详细输出-z传输时压缩-ndry-run演习不实际传输显示将要执行的操作--delete删除目标端多余的文件使目标与源完全一致--exclude排除文件或目录可多次使用--include包含规则与 exclude 配合--progress显示传输进度-P等价于--partial --progress支持断点续传并显示进度-r递归-a已包含--existing仅更新目标端已存在的文件不新增文件--ignore-existing仅拷贝目标端不存在的文件--remove-source-files传输完成后删除源文件-R使用相对路径会在目标端创建完整的源路径结构4.5 实战案例案例1完整备份/etc到/backup保留目录结构rsync -a /etc /backup # 结果是 /backup/etc案例2将当前目录下所有.conf文件同步到远程并删除远程多余文件rsync -av --delete *.conf userremote:/remote/dir/案例3演习看看会做什么但不实际执行rsync -avn --delete /local/dir/ userremote:/remote/dir/案例4排除.git目录同步rsync -av --exclude.git /myproject/ userremote:/backup/project/案例5只更新目标端已经存在的文件不新增rsync -av --existing /src/ /dest/案例6通过 SSH 指定不同端口rsync -av -e ssh -p 2222 /local/dir/ userremote:/remote/dir/五、综合对比与选型建议工具主要用途优点缺点curl网页查看、API 测试、上传/下载功能全面支持多种协议下载大文件交互不友好wget文件下载支持后台、递归、断点续传上传功能弱ssh远程登录加密安全可隧道转发需配置服务端scp简单文件复制命令简单有安全漏洞RHEL9 不推荐sftp交互式文件管理安全支持目录操作不如 rsync 高效rsync增量备份/同步只传差异支持删除、排除语法稍复杂推荐下载大文件 →wget -b -c测试 HTTP 接口 →curl -I / -X POST日常远程操作 →ssh 密钥定期备份/同步 →rsync -av交互式文件上传下载 →sftp六、排错与调试技巧SSH 连接失败检查服务端sshd是否运行systemctl status sshd检查防火墙firewall-cmd --list-services确保 ssh 服务开放查看日志journalctl -u sshd -frsync 权限错误确保目标目录用户可写使用-e ssh -l user指定远程用户curl/wget 下载慢使用代理-x或-e use_proxyyes限速--limit-rate避免占满带宽端口转发不生效使用-g选项允许外部连接检查本地端口是否被占用netstat -tnlp | grep 端口号

相关新闻

Python struct模块与二进制数据解析
2026/6/16 16:58:22

Python struct模块与二进制数据解析

Python struct模块与二进制数据解析struct模块在Python值和C结构体之间转换字节。pack将Python值打包为字节,unpack将字节解包为Python值。import struct# 打包:整数42打包为大端序4字节有符号整数 packed struct.pack(>i, 42) print(packed) # b\x0…

阅读更多
3分钟搞定赛马娘DMM版:免费本地化工具终极指南
2026/6/16 16:58:22

3分钟搞定赛马娘DMM版:免费本地化工具终极指南

3分钟搞定赛马娘DMM版:免费本地化工具终极指南 【免费下载链接】umamusume-localify Localify "ウマ娘: Pretty Derby" DMM client 项目地址: https://gitcode.com/gh_mirrors/um/umamusume-localify 还在为看不懂日文界面而烦恼吗?想让…

阅读更多
外贸品牌全域传播中的AI新闻发布:大鱼营销的实践视角
2026/6/16 16:58:22

外贸品牌全域传播中的AI新闻发布:大鱼营销的实践视角

随着AI大模型逐渐融入日常信息获取场景,外贸品牌在海外传播中面临新的挑战:如何让自身内容出现在AI推荐的结果中。大鱼营销结合服务出海企业的经验,将“AI新闻发布”作为全域传播体系中的一环,形成了一套从内容生产到渠道分发、数…

阅读更多
从“复制链接→打开APP“到“一键解析“:我做了个短视频去水印工具
2026/6/16 17:58:22

从“复制链接→打开APP“到“一键解析“:我做了个短视频去水印工具

一、为什么要做这个工具? 不知道你有没有遇到过这种情况:刷抖音/快手看到一个有意思的视频,想保存下来分享给朋友,结果点分享后要么是"复制链接",要么保存的视频带个大大的水印,还有平台 logo&a…

阅读更多
Path of Building PoE2:流放之路2玩家的终极角色构建实验室
2026/6/16 17:58:22

Path of Building PoE2:流放之路2玩家的终极角色构建实验室

Path of Building PoE2:流放之路2玩家的终极角色构建实验室 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 当《流放之路2》的复杂天赋系统让无数玩家望而却步时,一个开源工具正在…

阅读更多
MapLibre GL JS第53课:用Web字体样式化标签
2026/6/16 17:58:22

MapLibre GL JS第53课:用Web字体样式化标签

&#x1f4cc; 学习目标 掌握用Web字体样式化标签的实现方法理解相关API的使用能够独立完成类似功能开发 &#x1f3af; 核心概念 将Web字体应用到样式的文本标签。 &#x1f4bb; 完 整 代 码 代码示例 <!DOCTYPE html> <html lang"en"> <head…

阅读更多
手把手教你构建企业级RAG智慧问答系统:融合MySQL关键词检索与Milvus语义检索的完整实践
2026/6/16 17:58:22

手把手教你构建企业级RAG智慧问答系统:融合MySQL关键词检索与Milvus语义检索的完整实践

手把手教你构建企业级RAG智慧问答系统&#xff1a;融合MySQL关键词检索与Milvus语义检索的完整实践本文基于传智教育EduRAG项目&#xff0c;深入剖析一个完整的RAG&#xff08;检索增强生成&#xff09;智慧问答系统的设计与实现。系统采用两级检索架构&#xff1a;第一级BM25关…

阅读更多
十、网络客户端工具curl, wget, ssh, scp, sftp, rsync
2026/6/16 17:58:22

十、网络客户端工具curl, wget, ssh, scp, sftp, rsync

目录 一、curl – 多功能网络传输工具 1.1 基本概念 1.2 常用选项与用法 1.2.1 查看网页内容 1.2.2 查看 HTTP 响应头&#xff08;不下载正文&#xff09; 1.2.3 跟随重定向 1.2.4 使用代理 1.2.5 保存网页/文件到本地 1.2.6 断点续传 1.2.7 限速下载 1.2.8 FTP 操作…

阅读更多
Python struct模块与二进制数据解析
2026/6/16 16:58:22

Python struct模块与二进制数据解析

Python struct模块与二进制数据解析struct模块在Python值和C结构体之间转换字节。pack将Python值打包为字节&#xff0c;unpack将字节解包为Python值。import struct# 打包&#xff1a;整数42打包为大端序4字节有符号整数 packed struct.pack(>i, 42) print(packed) # b\x0…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/16 18:17:55

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT&#xff1a;用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域&#xff0c;文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/14 0:57:30

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述&#xff1a;这不是“写提示词”&#xff0c;而是重构人机协作的底层逻辑“Prompt Engineering”这个词&#xff0c;这两年被讲得太多&#xff0c;也太轻飘。很多人把它理解成“给AI发指令的技巧”&#xff0c;甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/16 0:39:53

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述&#xff1a;这不是一次普通更新&#xff0c;而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来&#xff0c;我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊&#xff0c;而是因为熟悉&…

阅读更多
2026 AI简历编辑平台深度测评与使用教程:ATS扫描、JD匹配、多版本投递怎么选?(首推 OfferGoose)
2026/6/16 0:57:58

2026 AI简历编辑平台深度测评与使用教程:ATS扫描、JD匹配、多版本投递怎么选?(首推 OfferGoose)

&#xff08;先给结论&#xff0c;节省时间&#xff09; 只想最快把简历“拉到及格线更贴JD”&#xff1a;优先从 鹅来面 开始——先做简历评分与岗位匹配度&#xff0c;再按建议改一版可投递稿。投递量很大、需要职位管理&#xff1a;偏向 Teal&#xff08;职位追踪 多份简历…

阅读更多
Java毕业设计-面向学生竞赛的团队组建与信息管控系统设计 SpringBoot 架构下高校竞赛团队管理系统的设计与实践(源码+LW+部署文档+全bao+远程调试+代码讲解等)
2026/6/16 0:57:58

Java毕业设计-面向学生竞赛的团队组建与信息管控系统设计 SpringBoot 架构下高校竞赛团队管理系统的设计与实践(源码+LW+部署文档+全bao+远程调试+代码讲解等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

阅读更多
Windows内存清理终极指南:Mem Reduct让你的电脑告别卡顿的简单方法
2026/6/16 0:57:58

Windows内存清理终极指南:Mem Reduct让你的电脑告别卡顿的简单方法

Windows内存清理终极指南&#xff1a;Mem Reduct让你的电脑告别卡顿的简单方法 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memre…

阅读更多
GIT修改用户名
2026/6/16 5:55:51

GIT修改用户名

在GIT中修改用户名可按以下步骤操作&#xff1a; 查看当前git的用户名&#xff0c;使用命令git config --list或git config user.name。修改git用户名&#xff0c;使用命令git config --global user.name "xxx&#xff08;新的用户名&#xff09;"&#xff0c;将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/16 16:55:24

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat&#xff1a;让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/15 21:13:35

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析&#xff1a;m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多