Linux终端如何下载文件?命令行操作步骤有哪些?

Linux 终端作为 Linux 系统的核心交互工具,提供了高效、灵活的文件下载能力,无论是下载单个文件、整个目录,还是通过包管理器安装软件,终端都能通过命令行快速完成,本文将详细介绍 Linux 终端中常用的下载方法,涵盖通用工具、包管理器及源码下载等场景,帮助用户根据需求选择合适的下载方式。

linux 终端如何下载

通用下载工具:wget 与 curl

对于普通文件的下载,wgetcurl 是终端中最常用的两款工具,二者功能相似但各有侧重,支持 HTTP、HTTPS、FTP 等多种协议,且具备断点续传、代理设置等高级功能。

wget:非交互式下载利器

wget 是一款免费的开源命令行下载工具,特点是“后台运行、断点续传、递归下载”,适合脚本自动化和批量下载。

基础用法

  • 下载单个文件:wget https://example.com/file.zip,默认将文件保存到当前目录,文件名与 URL 最后一部分一致。
  • 指定保存目录和文件名:wget -O /path/to/targetname.zip https://example.com/file.zip-O 参数可覆盖默认文件名。
  • 断点续传:wget -c https://example.com/largefile.iso-c 参数可在下载中断后从断点继续,避免重新下载。
  • 后台下载:wget -b https://example.com/bigfile.tar.gz-b 参数让 wget 在后台运行,日志保存在 wget-log 文件中。
  • 递归下载整个目录:wget -r -np -nH -R index.html https://example.com/files/,参数说明:-r 递归下载,-np 不遍历父目录,-nH 不创建以主机名命名的目录,-R 过滤指定文件(如避免下载无用的 index.html)。

高级选项

  • 限速下载:wget --limit-rate=100k https://example.com/file.zip,限制下载速度为 100KB/s,避免占用过多带宽。
  • 匹配文件名下载:wget -r -A "*.jpg" https://example.com/images/-A 参数仅下载指定扩展名的文件(如 jpg 图片)。

curl:灵活的传输工具

curl 支持更多协议(如 SMTP、SCP、SFTP),且具备显示进度条、调试请求等交互式功能,适合需要精细控制的下载场景。

基础用法

  • 下载并显示进度:curl -O https://example.com/file.zip-O 参数保存文件时保持原文件名,默认显示进度条。
  • 指定保存路径:curl -o /tmp/target.zip https://example.com/file.zip-o 参数自定义保存路径和文件名。
  • 跟随重定向:curl -L -O https://example.com/short-link-L 参数自动跟随 HTTP 302 重定向,获取最终文件。
  • 仅获取响应头:curl -I https://example.com/file.zip-I 参数查看文件信息(如大小、修改时间),判断是否需要下载。

高级选项

  • 代理设置:curl -x http://proxy:port -O https://example.com/file.zip-x 指定 HTTP 代理。
  • 自定义请求头:curl -H "User-Agent: Mozilla/5.0" -O https://example.com/file.zip,模拟浏览器访问,避免被某些服务器拦截。

wget 与 curl 对比

特性 wget curl
协议支持 HTTP、HTTPS、FTP HTTP、HTTPS、FTP、SMTP、SCP 等
核心优势 递归下载、后台运行、脚本友好 交互式调试、协议丰富、进度显示
适用场景 批量下载、网站镜像、自动化脚本 单文件精细下载、API 测试、代理调试

包管理器下载:系统软件的“官方渠道”

Linux 发行版通常通过包管理器管理软件,包管理器会从官方仓库下载软件包(含依赖自动安装),适合系统工具和桌面应用。

linux 终端如何下载

Debian/Ubuntu 系列(apt)

apt 是 Debian/Ubuntu 的核心包管理器,支持在线下载并安装软件包。

常用命令

  • 更新软件源:sudo apt update,从服务器获取最新的软件包列表。
  • 下载安装软件:sudo apt install nginx,自动下载 nginx 及其依赖并安装。
  • 仅下载不安装:sudo apt download nginx,下载 .deb 包到当前目录,适合离线安装。
  • 下载源码包:apt source nginx,下载 nginx 的源代码(需安装 build-essential 等编译工具)。

RedHat/CentOS 系列(yum/dnf)

yum(CentOS 7 及以下)和 dnf(CentOS 8+、Fedora)是 RedHat 系的包管理器,支持 RPM 包管理。

常用命令

  • 安装软件:sudo yum install httpd(CentOS 7)或 sudo dnf install httpd(CentOS 8+)。
  • 下载 RPM 包:sudo yumdownloader httpd(需安装 yum-utils),或 sudo dnf download httpd(dnf 原生支持)。
  • 查看软件仓库信息:sudo yum repolist,列出可用的软件源(包括第三方仓库如 EPEL)。

Snap 与 Flatpak:跨发行版应用下载

Snap(Ubuntu 主推)和 Flatpak(社区通用)是跨发行版的应用打包格式,支持一键下载安装应用,自动解决依赖。

Snap

  • 安装应用:sudo snap install spotify,从 Snap 仓库下载安装 Spotify。
  • 下载 Snap 包:snap download spotify,下载 .snap 文件(位于 /snap/download/ 目录)。

Flatpak

  • 添加仓库(如 Flathub):flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  • 安装应用:flatpak install flathub org.gimp.GIMP,下载安装 GIMP 图像编辑器。
  • 下载 Flatpak 包:flatpak install --app --bundle https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref,下载 .flatpakref 安装包。

源码与仓库下载:开发者必备场景

对于开发者,经常需要从代码仓库(如 Git)或源码包(如 tar.gz)下载源代码,编译安装或二次开发。

linux 终端如何下载

Git 克隆代码仓库

git 是分布式版本控制工具,可从 GitHub、Gitee 等平台克隆代码仓库。

基础用法

  • 克隆整个仓库:git clone https://github.com/user/repo.git,在当前目录创建 repo 文件夹,包含完整历史记录。
  • 浅克隆(仅最近一次提交):git clone --depth 1 https://github.com/user/repo.git,减少下载量,适合快速获取最新代码。
  • 指定分支:git clone -b branch-name https://github.com/user/repo.git,克隆指定分支的代码。

下载并编译源码包

许多开源软件提供源码包(如 .tar.gz),需通过 wgetcurl 下载后手动编译。

步骤示例(以下载 Nginx 为例)

# 1. 下载源码包
wget http://nginx.org/download/nginx-1.25.3.tar.gz
# 2. 解压
tar -xzf nginx-1.25.3.tar.gz
cd nginx-1.25.3
# 3. 配置编译选项(如指定安装路径)
./configure --prefix=/usr/local/nginx
# 4. 编译安装
make && sudo make install

高级技巧:提升下载效率

  • 多线程下载axel 工具支持多线程加速,安装后使用 axel -n 5 https://example.com/largefile.iso-n 指定线程数)。
  • 定时下载:结合 at 命令实现定时下载,如 echo "wget https://example.com/file" | at 02:00(凌晨 2 点下载)。
  • 代理配置:若通过代理上网,可临时设置代理:export http_proxy=http://proxy:port; export https_proxy=http://proxy:port,或写入 ~/.wgetrc/~/.curlrc 永久生效。

相关问答 FAQs

Q1:为什么使用 wget 下载文件时提示 “certificate verify failed”?
A:通常是由于目标网站的 SSL 证书无效或过期(如自签名证书),可通过 wget --no-check-certificate https://example.com/file 忽略证书验证,但需注意安全性风险(确保可信来源),长期解决方案是更新系统证书库:sudo apt install ca-certificates(Debian/Ubuntu)或 sudo yum install ca-certificates(RedHat/CentOS)。

Q2:如何通过终端下载整个网站并保留其目录结构?
A:使用 wget 的递归下载参数,完整命令为:wget -r -p -k -np --no-parent https://example.com/dir/,参数说明:-r 递归下载,-p 下载必要资源(如图片、CSS),-k 转换链接为本地路径(确保离线可访问),-np 不遍历父目录,--no-parent 限制只下载指定目录及其子目录,避免下载无关内容。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26227.html

(0)
酷番叔酷番叔
上一篇 2025年9月19日 16:32
下一篇 2025年9月19日 16:45

相关推荐

  • Linux如何修改环境变量?

    在Linux系统中,环境变量是操作系统和用户交互的重要桥梁,它们定义了系统运行时的配置信息,如程序搜索路径、默认编辑器、语言环境等,正确修改环境变量能帮助用户自定义系统行为,提升工作效率,本文将详细介绍Linux中修改环境变量的方法,包括临时修改、用户级永久修改和系统级永久修改,并辅以常用命令说明和注意事项,环……

    2025年9月8日
    3900
  • Linux中如何查看文件后缀名?

    在Linux操作系统中,文件后缀名(或称为扩展名)与Windows系统有本质区别:Windows中后缀名常用于关联文件类型(如.txt关联记事本),而Linux更依赖文件内容、权限(如可执行文件+x权限)和MIME类型来判断文件类型,后缀名主要是为方便用户识别文件用途,并非系统强制要求,尽管如此,查看和处理文件……

    2025年9月22日
    2200
  • 给电脑安装Linux系统时,如何备份原系统以防数据丢失?

    安装Linux系统前对电脑数据进行备份是避免数据丢失的关键步骤,无论是替换原有操作系统还是双系统安装,都可能因操作失误导致分区格式化或文件损坏,系统备份不仅能保障个人数据安全,还能在系统故障时快速恢复工作环境,本文将详细讲解安装Linux前的系统备份流程及安装后的系统备份方法,帮助用户顺利完成系统迁移与数据保护……

    2025年9月19日
    3400
  • 安装脚本如何自动匹配系统?

    在 Linux 系统上安装管理面板可大幅简化服务器运维工作,以下是专业、安全且符合最佳实践的安装指南,涵盖主流面板的详细步骤:安装前准备系统要求操作系统:CentOS 7+/Ubuntu 18.04+/Debian 10+(推荐全新安装)硬件配置:至少 1核 CPU/1GB 内存/20GB 磁盘空间环境要求……

    2025年8月9日
    4300
  • 如何编译两个C文件生成可执行文件?

    在Linux系统中,Makefile是自动化编译的核心工具,尤其适用于管理多文件项目,它通过定义依赖关系和构建规则,显著提升开发效率,以下是详细指南:Makefile基础结构一个Makefile由规则组成,每条规则包含三个部分:目标(target): 依赖(dependencies) 命令(commands……

    2025年6月20日
    7300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信