菜鸟科技网

Debian系统下载命令有哪些?如何正确使用apt与wget高效获取软件包?

wget - 递归下载神器

wget 是一个非交互式的网络文件下载工具,非常适合在脚本中使用,它的名字来源于 "web get"。

Debian系统下载命令有哪些?如何正确使用apt与wget高效获取软件包?-图1
(图片来源网络,侵删)

安装 wget

如果你的系统上没有 wget(通常预装了),可以使用 apt 安装:

sudo apt update
sudo apt install wget

基本用法

下载单个文件 这是最简单的用法,直接提供文件的 URL 即可。

wget https://example.com/path/to/a/file.zip
  • 特点:下载的文件名与服务器上的文件名相同。

指定保存的文件名 使用 -O (大写) 选项可以指定下载后保存的文件名。

wget -O my_new_name.zip https://example.com/path/to/a/file.zip
  • 特点:将下载的文件保存为 my_new_name.zip,而不是原始文件名。

断点续传 如果下载因网络中断而失败,可以使用 -c 选项从上次中断的地方继续下载。

Debian系统下载命令有哪些?如何正确使用apt与wget高效获取软件包?-图2
(图片来源网络,侵删)
wget -c https://example.com/path/to/a/large_file.iso
  • 特点:非常实用,特别是下载大文件时,如果文件已经完整下载,wget 会提示文件已存在,不会重新下载。

后台下载 使用 -b 选项,wget 会在后台运行,并将日志输出到 wget-log 文件中。

wget -b https://example.com/path/to/a/big_file.tar.gz
  • 特点:你可以关闭终端,下载任务仍在后台继续,可以通过 tail -f wget-log 查看下载进度。

从列表批量下载 如果你有一个包含多个 URL 的文本文件(每行一个 URL),可以使用 -i 选项批量下载。 首先创建一个 URL 列表文件,url_list.txt

https://example.com/file1.zip
https://example.com/file2.pdf
https://example.com/file3.jpg

然后执行下载命令:

wget -i url_list.txt

curl - 多功能客户端

curl 是一个功能强大的命令行工具和库,用于传输数据,它支持 HTTP, HTTPS, FTP, FTPS, SCP, SFTP 等多种协议。curl 的优势在于其灵活性和对复杂交互的支持。

Debian系统下载命令有哪些?如何正确使用apt与wget高效获取软件包?-图3
(图片来源网络,侵删)

安装 curl

同样,curl 通常也预装了,如果没有:

sudo apt update
sudo apt install curl

基本用法

下载单个文件 curl 默认会将下载的内容输出到标准输出(即你的终端屏幕),通常需要配合重定向符号 > 来保存到文件。

curl -o my_new_name.zip https://example.com/path/to/a/file.zip
  • 特点
    • -o (小写) 选项用于指定输出文件名,功能与 wget -O 类似。
    • 如果不使用 -o,下载的二进制文件会破坏终端的显示,需要输入 reset 命令来修复。

将输出显示在终端 如果你想下载一个文本文件(如 JSON, HTML, 配置文件)并直接查看其内容,可以使用 作为文件名。

curl - https://api.github.com/users/debian
  • 特点:下载的内容会直接显示在终端,非常适合快速获取 API 响应或网页源码。

显示下载进度条 curl 默认会显示一个进度条,但下载完成后会清除,如果想在下载后保留进度信息,可以使用 选项。

curl -# -o file.zip https://example.com/file.zip

断点续传 curl 使用 -C - (注意 -C 后面有空格和 ) 来实现断点续传。

curl -C - -o file.zip https://example.com/file.zip

跟随重定向 有些 URL 会自动跳转到另一个地址。curl 默认会跟随重定向,如果你想禁用此行为,可以使用 -L 选项(--location)。

curl -L -o final_file.html http://short.link/abc123

apt - 下载 Debian 软件包

apt 是 Debian 及其衍生系统(如 Ubuntu)的软件包管理工具,它的主要用途是安装、更新和删除软件,但也可以用来下载 .deb 安装包本身,而不进行安装。

基本用法

下载一个软件包及其所有依赖 这是 apt 下载最强大的功能之一,它会分析软件包的依赖关系,并将所有需要的 .deb 文件都下载下来。

sudo apt install --download-only <package_name>

下载 htop

sudo apt install --download-only htop
  • 特点:下载的 .deb 文件通常存放在 /var/cache/apt/archives/ 目录下。

只下载指定的软件包(不下载依赖) 如果你只想下载单个 .deb 文件,不关心其依赖,可以使用 apt-get download

apt-get download <package_name>

只下载 htop

apt-get download htop
  • 特点:这种方式更轻量,只下载指定的包,下载的文件会在当前目录下。

总结与对比

特性/命令 wget curl apt
主要用途 下载文件,特别是网站和批量文件 传输数据,支持多种协议,与API交互 软件包管理(安装、更新、下载)
下载单个文件 wget URL curl -o filename URL apt-get download pkg
断点续传 wget -c URL curl -C - -o filename URL 不支持
后台下载 wget -b URL 需配合 nohup& 不支持
批量下载 wget -i url_list.txt 需要结合脚本(如 xargs 不支持
下载依赖 不支持 不支持 sudo apt install --download-only pkg
学习曲线 简单直观 灵活强大,选项较多 专为 Debian 系统设计

如何选择?

  • 简单下载单个文件wget 是最简单直接的选择。
  • 下载并立即查看文本内容curl - URL
  • 需要断点续传或后台下载wget-c-b 选项非常方便。
  • 从列表下载多个文件wget -i 是最方便的。
  • 与网站 API 或需要复杂 HTTP 头交互curl 是不二之选。
  • 下载一个 .deb 安装包及其所有依赖:必须使用 apt install --download-only

对于绝大多数日常下载任务,wgetcurl 已经足够了,如果你在 Debian 系统上工作,apt 则是管理软件生态系统的核心工具。

分享:
扫描分享到社交APP
上一篇
下一篇