如果有这么一个需求,让你在 Linux 系统里面下载一个文件,然后安装,你会想到哪些命令呢?相信很多人都会想到,直接使用 yum 或者 apt-get 命令。这两个命令虽然很方便也很快捷,但是存在一个问题,如果这个 Linux 系统发行方没有提供你需需要的工具的安装原文件,那这两个命令是无法安装对应的软件的。那除了这两个命令之外,你还会想到其他什么命令呢?哪你可能就会想到 wget 或 curl 命令了。对,这两个命令也是大家比较常用的,在 Linux 系统里面来下载源文件,然后进行安装的命令,那这一下子就出来了 4 个命令,那这 4 个命令之间他们有什么区别点呢?【软件测试进阶资料】
curl
Curl(CommandLine URL)是 Linux 中比较强大的一个文件上传下载的工具。使用 URL 的语法进行数据的传输或者文件的传输。在现在大多数的 Linux 系统中,已经自带了这个命令,无需安装,直接可以使用。
我们可以在命令行中输入 curl --help,来查看帮助信息。
我们可以看到它的参数非常多,也就是说它的功能非常的强大,可以使用不同的参数实现不同的功能。这么多的参数,是不是所有的参数都需要掌握呢,并不是,我们只需要掌握其中一些常用的就可以了,当你不知道怎么用的时候可以通过 --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
进度条显示传输状态
常用案例
-
直接访问某个地址
curl www.baidu.com
访问地址,不下载
-
访问地址并重新保存到指定文件
curl www.baidu.com >> baidu.html
或者
curl -o baidu_homepage.html www.baidu.com
-
使用代理方式访问
curl -x 192.168.x.x:port www.lemonban.com
-
模拟浏览器访问
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
-
断点续传,可以从断点继续开始下载
curl -C 3 -o jmeter.tar.gz mirrors.tuna.tsinghua.edu.cn/apache//jme…
wget
wget 也是 Linux 下常用于文件上下传的一个工具,它开放源代码,但是要在 Linux 中使用这个命令必须先安装。
# centos wget安装
yum install wget -y
# ubuntu wget安装
apt-get install wget -y
我们也可以使用 wget --help 来获得帮助
如果你使用了 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
最大递归深度
常用案例
-
下载文件,以文件名称保存文件。
-
下载文件,以自定义名称保存文件。
wget -O jmeter.tgz mirrors.tuna.tsinghua.edu.cn/apache//jme…
-
断点续传下载文件
-
后台寂寞方式下载文件。
-
指定重试次数下载
rpm
rpm(redhat package manager) 是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎,平时大家使用的 CentOS 系统,就是 red hat 的发行版本,所以使用 rpm 命令来安装文件比较常见。
rpm 的功能非常强大,也可以使用 rpm--heep 来获得帮助信息
我们最常用的可能的有 rpm -ivh xx.x.rpm 和 rpm -Uvh xx.x.rpm ,那这个里面的几个参数分别是代表什么意思呢?
参数
用法
-i,--install
安装软件包,后面可以直接跟上包的文件,也可以跟上包的地址
-U, --upgrade
升级软件包,后面可以直接跟上包的文件,也可以跟上包的地址。
-v,--verbose
打印详细输出
-h,--hash
安装时列出标记
使用这两个命令安装或升级软件包时,并不会把软件包的相关依赖下载或升级。而 yum 命令安装 rpm 包时,才会把相关的依赖包自动下载和安装。
dpkg
dpkg 是 debian 系统家族的安装工具命令。
如果你下载了 deb 格式的文件,那么使用 dpkg -i xx.x.deb 就可以安装文件
好了,这些就是我们在 Linux 系统中常用的安装命令,你能明白他们之间的差异了吗?