linux 系统下载安装文件命令的差异

243 阅读6分钟

如果有这么一个需求,让你在 Linux 系统里面下载一个文件,然后安装,你会想到哪些命令呢?相信很多人都会想到,直接使用 yum 或者 apt-get 命令。这两个命令虽然很方便也很快捷,但是存在一个问题,如果这个 Linux 系统发行方没有提供你需需要的工具的安装原文件,那这两个命令是无法安装对应的软件的。那除了这两个命令之外,你还会想到其他什么命令呢?哪你可能就会想到 wget 或 curl 命令了。对,这两个命令也是大家比较常用的,在 Linux 系统里面来下载源文件,然后进行安装的命令,那这一下子就出来了 4 个命令,那这 4 个命令之间他们有什么区别点呢?【软件测试进阶资料】​

curl

Curl(CommandLine URL)是 Linux 中比较强大的一个文件上传下载的工具。使用 URL 的语法进行数据的传输或者文件的传输。在现在大多数的 Linux 系统中,已经自带了这个命令,无需安装,直接可以使用。

我们可以在命令行中输入 curl --help,来查看帮助信息。

linux 系统下载安装文件命令的差异

我们可以看到它的参数非常多,也就是说它的功能非常的强大,可以使用不同的参数实现不同的功能。这么多的参数,是不是所有的参数都需要掌握呢,并不是,我们只需要掌握其中一些常用的就可以了,当你不知道怎么用的时候可以通过 --help 来查看帮助文档即可。

参数

用法

-o / --output

把结果输出到指定文件

-O / --remote-name

把输出写入该文件中并保留远程文件的文件名

-T / --upload-file

上传文件

-u / --useruser[:password]

使用用户名和密码

-A / --user-agent

模拟浏览器设置 ua 访问

-c / --cookie-jar

操作结束后,把 cookie 写入到文件中

-C / --continue-at

断点续传

-D / --dump-header

把 header 的信息写入到文件

-x / --proxyhost[:port]

在给定的端口上使用 HTTP 代理

-# / --progress-bar

进度条显示传输状态

常用案例

  1. 直接访问某个地址

    curl www.baidu.com

    访问地址,不下载

linux 系统下载安装文件命令的差异

  1. 访问地址并重新保存到指定文件

    curl www.baidu.com >> baidu.html

    或者

    curl -o baidu_homepage.html www.baidu.com

linux 系统下载安装文件命令的差异

  1. 使用代理方式访问

    curl -x 192.168.x.x:port www.lemonban.com

linux 系统下载安装文件命令的差异

  1. 模拟浏览器访问

    curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/90.0.818.62" www.baidu.com

linux 系统下载安装文件命令的差异

  1. 断点续传,可以从断点继续开始下载

    curl -C 3 -o jmeter.tar.gz mirrors.tuna.tsinghua.edu.cn/apache//jme…

linux 系统下载安装文件命令的差异

wget

wget 也是 Linux 下常用于文件上下传的一个工具,它开放源代码,但是要在 Linux 中使用这个命令必须先安装。

  # centos wget安装
yum install wget -y

# ubuntu wget安装
apt-get install wget -y

我们也可以使用 wget --help 来获得帮助

linux 系统下载安装文件命令的差异

如果你使用了 Linux 系统,安装了中文字符集编码,通过这个帮助文档是可以直接看到中文帮助信息的。这对于学习人员来说学习起来会相对更加容易一些。

参数

用法

-o,--output-file=FILE

将日志写入文件

-O,--output-document=FILE

重命名文件下载

-t,--tries=NUM

设置失败重试次数

-c,--continue

断点续传

-T,--timeout=sec

设置超时时间

--connect-timeout=sec

设置连接超时时间

--read-timeout=sec

设置读取超时时间

-r, --recursive

指定递归下载

-l, --level=NUM

最大递归深度

常用案例

  1. 下载文件,以文件名称保存文件。

    wget mirrors.tuna.tsinghua.edu.cn/apache//jme…

linux 系统下载安装文件命令的差异

  1. 下载文件,以自定义名称保存文件。

    wget -O jmeter.tgz mirrors.tuna.tsinghua.edu.cn/apache//jme…

linux 系统下载安装文件命令的差异

  1. 断点续传下载文件

    wget -c mirrors.tuna.tsinghua.edu.cn/apache//jme…

linux 系统下载安装文件命令的差异

  1. 后台寂寞方式下载文件。

    wget -b mirrors.tuna.tsinghua.edu.cn/apache//jme…

linux 系统下载安装文件命令的差异

  1. 指定重试次数下载

    wget -t 2 mirrors.tuna.tsinghua.edu.cn/apache//jme…

linux 系统下载安装文件命令的差异

rpm

rpm(redhat package manager) 是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎,平时大家使用的 CentOS 系统,就是 red hat 的发行版本,所以使用 rpm 命令来安装文件比较常见。

rpm 的功能非常强大,也可以使用 rpm--heep 来获得帮助信息

linux 系统下载安装文件命令的差异

我们最常用的可能的有 rpm -ivh xx.x.rpm 和 rpm -Uvh xx.x.rpm ,那这个里面的几个参数分别是代表什么意思呢?

参数

用法

-i,--install

安装软件包,后面可以直接跟上包的文件,也可以跟上包的地址

-U, --upgrade

升级软件包,后面可以直接跟上包的文件,也可以跟上包的地址。

-v,--verbose

打印详细输出

-h,--hash

安装时列出标记

使用这两个命令安装或升级软件包时,并不会把软件包的相关依赖下载或升级。而 yum 命令安装 rpm 包时,才会把相关的依赖包自动下载和安装。

dpkg

dpkg 是 debian 系统家族的安装工具命令。

linux 系统下载安装文件命令的差异

如果你下载了 deb 格式的文件,那么使用 dpkg -i xx.x.deb 就可以安装文件

好了,这些就是我们在 Linux 系统中常用的安装命令,你能明白他们之间的差异了吗?