[Share Experiences] 一文介绍curl、wget、git clone、apt-get、pip等命令的用途
Tofloor
poster avatar
流浪的加菲
deepin
2024-07-24 11:06
Author

在使用linux操作系统的过程中,我们会常用到curl、wget、git clone、apt-get、pip这些命令进行文件下载、软件安装、代码管理等,但总是分不清楚什么时候用什么命令去下载或者安装和访问。这里将这几个命令的用法和区别进行一个说明,方便大家学习和记忆。

apt-get

apt-get 是用来安装系统软件和更新源的,可用来更新 Debian/Ubuntu 等使用deb包管理器Linux发行版上典型依赖包,主要用于自动从互联网软件仓库中搜索、下载、安装、升级、卸载软件或操作系统,目前deepin V23使用的是deb包管理器(玲珑目前和deb并行),命令使用参考如下:

apt-get source package    #下载包的源代码
 
sudo apt-get build-dep package #安装相关的编译环境
 
sudo apt-get clean && sudo apt-get autoclean #清理无用的包
 
sudo apt-get dist-upgrade  #升级系统
 
sudo apt-get -f install  #修复安装
 
sudo apt-get install/delete package  #安装或者删除包
 
sudo apt-get upgrade    #更新已安装的包

关于apt-get命令的详细使用指南,我之前写过两篇分享了,可以查看:

deepin上常用的终端内命令行分享

deepin上常用命令行分享-进阶版

pip

pip是用来安装来自Pypi的python所有的依赖包,并且可以选择安装在Pypi已上传的先前版本的依赖包。pip安装包一般在python虚拟环境中使用,即linux中安装了Python,可以不受python library版本的影响,根据编程中使用的包版本安装相应版本的包。

pip install package   #安装相应的包

wget

wget是用来下载文件的,默认是下载到当前目录。wget比较稳定,它在带宽很窄的时候和不稳定网络中适应性很强,当网络不稳定导致下载失败的时候,wget会不断尝试,直到整个文件下载完毕。如果是服务器打断下载过程,也会再联到服务器从停止的地方继续下载,这对从那些限定链接时间的服务器上下载大文件非常有用。

wget的使用语法为:wget + 选项 + 参数

常用选项有:

-b:进行后台的方式运行wget

-c:继续执行上次中断的任务

-r:递归下载方式

-O:指定文件名(-O (大写的O):指定下载文件的路径

-nc:文件存在时,下载文件不覆盖原有文件

-nv:下载时只显示更新和出错信息,不显示指令的详细执行过程

-P:指定下载目录

--no-check-certificate:下载https网站资源时可能需要使用该选项跳过证书检测的过程

举例子

例1:使用wget下载单个文件

#使用wget下载xxx.zip压缩包文件(下载到当前目录下)
wget http://www.xxx.net/xxx.zip

例2:使用wget下载文件到指定目录

#使用wget下载xxx.zip压缩包文件到test目录下
wget -P /opt/test http://www.xxx.net/xxx.zip

例3:下载并以不同的文件名保存

#将 www.baidu.com 的index.html的内容下载到 /tmp 文件夹下,并将文件命名为 1.txt
wget -O /tmp/1.txt www.baidu.com

例4:使用wget断点续传

使用wget -c重启下载中断的文件,对于下载大文件时由于网络不稳定导致中断时很有帮助,从而可以继续接着上次中断的地方继续下载,节省时间和链接服务器的时长。

#将 xxx.zip文件下载到当前目录,持续下载直到下载任务完成
wget -c http://www.xxx.net/xxx.zip

例5:使用wget后台下载

在下载非常大的文件时,这个命令很有帮助,可以干别的事情,不影响其他工作,使用-b参数后台进行下载

#在后台下载 xxx.zip文件
wget -b http://www.xxx.net/xxx.zip

例6:解决wget下载https开头的网址域名时报错 --no-check-certificate

如果使用 wget下载https开头的网址域名时报错,需要加上 --no-check-certificate (不检查证书)选项

wget https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz --no-check-certificate

curl

curl是用来访问链接的,常用的命令行工具,用来请求web服务器。

curl命令的使用语法是:curl + 选项 + url

常用选项:

-X(大写):参数指定http请求方法。

-H:添加http请求标头

-d:参数用于发送POST请求的数据体。使用-d参数,自动将请求转为POST方法,可省略-X POST

-i参数打印出服务器回应的http标头。(获取相应头中的信息需要加上该选项)

-o参数将服务器的回应保存成文件即将输出写入文件,等同于wget命令

例1:语法curl -X POST -H '请求头参数' -d '文件的json格式' -i + url

curl -X POST -H 'Content-Type:application/json' -d '@data.json' -i https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens   

例2:-d参数可以读取本地文本的数据,向服务器发送。如是json格式的body,则必须要上传文件的json格式

curl -XPOST -d '@data.json' -i https://xxx.com/xxx/xxx/tokens
 
curl -XPOST -T data.json -i https://xxx.com/xxx/xxx/tokens(-T 与上面-d一样,只是少了@)

例3:将服务器的回应保存成文件

curl -o namefile.tar http://www.xxx.net/xxx.zip

例4:把某文件或压缩包下载到本地当前目录

curl -O http://www.xxx.net/xxx.zip

git clone

git clone是将项目从github上clone到本地,git clone命令将存储库克隆到新目录中,在github上下载使用git clone下载是最快的。

使用语法:git clone <本地目录名即下载路径>

例1:将从如下github仓库上下载下来的文件保存到test目录

git clone https://github.com/vulhub/vulhub.git /root/test

image.png

以上,就是关于Linux上常用命令curl、wget、git clone、apt-get、pip的简单介绍。说起来curl真的有点复杂了,我作为一个小白,除了偶尔下载文件和wget功能撞车,它的其他命令参数我很少遇到。(还是在本地部署Stable Diffusion的时候用到过)

Reply Favorite View the author
All Replies
流浪的加菲
deepin
2024-07-24 11:07
#1

今天又是快乐学习的一天shamed

Reply View the author
风月相知
deepin
2024-07-24 11:49
#2

中间介绍命令那部分可以左右拖动的是论坛的什么功能呀?


Reply View the author
乾豫恒益
deepin
2024-07-24 12:03
#3

学习使我快乐,不管你信不信,我信了。。。

Reply View the author
weboob
deepin
2024-07-24 13:03
#4
风月相知

中间介绍命令那部分可以左右拖动的是论坛的什么功能呀?


markdown编辑器,代码块语法,原生语法"```"开头

echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Reply View the author
风月相知
deepin
2024-07-24 13:48
#5
weboob

markdown编辑器,代码块语法,原生语法"```"开头

echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

thanks

真是个好用的工具
Reply View the author
131******66
deepin
2024-07-24 14:44
#6

like

感谢分享

Reply View the author
Oli
deepin
2024-07-24 17:08
#7

今天又是快乐学习的一天

Reply View the author