curl wget pip git-clone yum apt-get的区别

2023-05-16

在linux中,会常用到这些命令进行文件下载,软件安装以及url访问,但总是分不清楚什么时候用什么命令去下载或者安装和访问。这里将这几个命令的用法和区别进行一个说明,方便大家学习和记忆。

1.首先是wget跟curl

wget:

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

语法为:wget + 选项 + 参数

常用选项有:

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

-c:继续执行上次终端的任务

-r:递归下载方式

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

例如:

wget -O /tmp/1.txt www.baidu.com

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

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

-P:指定下载目录

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

参数:

URL:下载指定的URL地址

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

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

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

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

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

可以使用-O选项

wget -O /tmp/1.txt www.baidu.com  将访问www.baidu.com的index.html的内容下载到/tmp/1.txt文件中去(可以理解为将下载的index.html文件重命名为/tmp目录下的1.txt)

 例4:使用wget断点续传

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

例5:使用wget后台下载

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

wget -b http://www.xxx.net/xxx.zip
Continuing in background, pid 1840.
Output will be written to `wget-log'.

例六:解决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 + 选项 + url

常用选项:

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

-H参数添加http请求标头

-d:参数用于发送POST请求的数据体

使用-d参数,自动将请求转为POST方法,可省略-X POST

例:语法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     

-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一样,只是少了@)

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

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

curl -o namefile.tar http://a/b/c/d.tar
curl -o namefile.gz http://a/b/c/d.gz

-O参数把某文件或压缩包下载到本地当前目录

curl -O http://a/b/c/d.tar
curl -O http://a/b/c/d.gz

-k参数指定跳过ssl检测

-A/--user-agent[string],设置HTTP Request头部的user-agent,通过curl访问网站的默认user-agent是'curl/版本号'

curl -A 'xxxxx ' www.baidu.com
curl -A 'GET或POST' www.baidu.com

-e/--referer[string],设置HTTP Request头部的referer,即来源网站的host

curl -e  'referer:www.bing.com或IP地址' www.baidu.com

 -H/--header<line>,添加自定义的HTTP头部

curl -H 'testHeader:test123456' www.baidu.com

 -l/--list-only,列出ftp目录下的文件名称

curl -l xxx.xxxxx.xxx/pub/

 -s/silent,不输出任何内容

curl -s www.baidu.com

 -u/--user user[:password],指定服务器认证的用户名和密码

-U/--proxy-user user[:password],指定代理认证的用户名、密码

-w/--wirte-out [format],完成后输出什么

curl -o /dev/null www.baidu.com -w 'Hello!'

 -v/--verbose,显示详细的操作信息

-T/--upload-file FILE 将文件上传到指定位置

-x/--proxy [protocol://]host[:port],在指定端口上使用代理

-a/append,添加要上传的文件

-L,自动重定向到新网址

curl -vLo /dev/null www.baidu.com

curl www.baidu.com         #不带选项,返回的是网站源码
curl -Ik www.baidu.com     #查看返回信息的响应头信息
curl -I  www.baidu.com     #查看一个链接的标头
curl -i -X TRACE http://xxx.xxx.xxx.xxx:xxx
curl -i -X TRACK http://xxx.xxx.xxx.xxxx:xxx

git-clone:

git clone是将项目从github上clone到本地,git clone命令将存储库克隆到新目录中(专门用来下载github上的文件)

语法:git clone <github上的下载链接以.git结尾的>  <本地目录名即下载路径>,在github上下载使用git clone下载是最快的

例:

git clone https://github.com/vulhub/vulhub.git /root/test  #将从github上下载下来的文件保存到test目录

git clone https://github.com/vulhub/vulhub.git  #使用git clone下载不指定目录(路径)的话,默认会自动生成一个除"git url"里最后一级目录名的'.git'的后辍去掉,做为新克隆(clone)项目的目录名,这里会生成一个vulhub的目录名
git clone <版本库网址.git结尾的网址> <本地目录名> #使用git clone命令下载并指定下载目录(路径)

apt-get和pip的区别

apt-get是用来安装系统软件和更新源的,可用来更新Ubuntu的典型依赖包,但只是安装最新或者最近发布的那个的单一版本,不能决定要安装的依赖包的版本或者选择它之前的版本。

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

apt-get和pip什么情况下使用

在需要安装最新版本的python依赖包,可以使用apt-get来安装,如果需要安装以前版本的python依赖包时可以使用pip来安装。

apt-get常用命令:

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    #更新已安装的包

pip常用命令:

pip install package   #安装相应的包

yum:

yum是在fedora和redhat以及CentOS中的shell前端软件包管理器,是基于rpm包管理,能够从指定的服务器自动下载rpm包并安装,能自动处理依赖性关系,并且一次安装所有依赖的软件包,不需要一次次的下载安装。yum可以提供查找、安装、删除某一个、一组甚至全部软件包的命令。

yum语法格式:

yum -opt command package   #command为要进行的操作,package是操作对象

yum常用选项:

-h:帮助选项

-y:安装过程提示选择全部为yes

-q:不显示安装过程

yum常用命令:

yum clean packages   #清除缓存目录下的软件包,即清空的是(/var/cache/yum)下的缓存

yum clean headers    #清除缓存目录下的headers

yum clean oldheaders   #清除缓存目录下旧的headers

yum clean  yum clean all (yum clean packages;yum clean oldheaders)   #清除缓存目录下的软件包及旧的headers

为什么要清除缓存:yum安装软件时会把软件包下载到本地指定的目录中(类似windows中下载的文件压缩包会到暂时保存在C盘的下载目录中,占用C盘磁盘空间),未来节省磁盘空间,就可以使用清除缓存命令清除缓存




yum list   #显示所有已经安装和可以安装的软件包

yum list <package_name>     #显示安装包信息rpm,显示installed

yum list repolist all       #查询所有的yum仓库

yum info <package_name>     #显示安装包rpm的详细信息

yum groupinfo <group_name>     #显示程序组group信息




yum search string   #根据关键字string查找安装包

yum deplist <package_name>    #仅查看程序rpm依赖情况
  
yum provides */命令            #查看命令是由那个包提供的




yum install -y <package_name>    #不加-y询问是否安装,控制包安装就不要加-y,自动安装加-y

yum isntall --downloadonly --downloaddir=/xxx/xxx/    #只下载软件不安装

yumdownloader nfs-utils --destdir /tmp/nfs-utils --resolve                                      #可以一次性下载 nfs-utils的RPM 软件包及其所有依赖包,并保存在/tmp/nfs-utils目录下




yum remove <package_name>       #卸载程序包,可卸载命令yum或rpm安装包生效,编译安装不生效

yum groupremove <group_name>     #删除程序组group





yum check-update      #检查可更新的软件有那些

yum update            #更新升级所有软件包

yum update <package_name>        #更新指定程序包package

yum upgrade <package_name>       #升级指定程序包package

yum  grouplist   #查看那些组可以安装

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

curl wget pip git-clone yum apt-get的区别 的相关文章

  • 在 git repo 中查找超过 x MB 且 HEAD 中不存在的文件

    我有一个 Git 存储库 用于存储随机的内容 主要是随机脚本 文本文件 我设计的网站等 随着时间的推移 我删除了一些大型二进制文件 通常为 1 5MB 这些文件会增加存储库的大小 而我在修订历史记录中不需要这些文件 基本上我希望能够做到 m
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • PHP curl exec 在 php 脚本相同域上失败

    我使用 php curl 从同一域 url 中的 php 脚本获取内容 但我收到curl exec 错误 curl 错误代码为 28 或操作超时 经过几天的调试 我发现它可以在 htm 等非脚本页面上工作 但不能在 php 上工作 如果 u
  • 更新 conda 后 conda 环境损坏

    在广泛使用 conda 一段时间后 我昨天被要求更新它 现在事情看起来很糟糕 我必须承认我不是幕后发生的专家 所以请耐心等待 安装 conda 后我使用了pip安装各种软件包 昨天 我开始处理 git 教程中的一些代码 该教程建议创建一个临
  • 使用 TFS 个人访问令牌克隆 Git 存储库

    我正在尝试以编程方式克隆 git 存储库 我的 ASP NET MVC 应用程序正在创建并启动一个进程 处理进程的代码工作正常 但是当尝试使用本地 TFS PAT 克隆 git 存储库时 身份验证失败 我无法使用 NTLM 或要求用户输入凭
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • php 检查文件是否存在于外部域中(从子域访问)

    我有一个网站http www reelfilmlocations co uk http www reelfilmlocations co uk 上述网站有一个管理区域 其中上传图像并在 uploads images 目录的子文件夹中创建不同
  • Windows 和 python 3.2 的 Pylint 安装问题

    当我尝试使用 pip 在 Windows 上安装 pylint 时 我遇到了这个问题 我真的不知道它来自哪里 C Python33 Scripts gt pip exe install pylint Downloading unpackin
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • Pip 无法在 Windows 上安装 Twisted

    我正在尝试在 Windows 8 计算机上安装 Twisted 在 Twisted 官方网站上 只有一个 Windows 版的 Wheel 文件 https twistedmatrix com trac wiki Downloads htt
  • 在 github 上的 fork 中跟踪上游的最佳实践

    摘要 对于要维护一组本地更改的上游存储库 处理长期运行跟踪的最佳实践是什么 我想让 github 上的 fork 与上游保持同步 但仍然允许清晰跟踪 fork 特有的更改 对于本次讨论 假设upstream指向主项目存储库并且origin指
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • pip/easy_install 失败:创建进程失败

    关注这篇文章后 如何在 Windows 上安装 pip https stackoverflow com questions 4750806 how to install pip on windows在我使用 Enthought Canopy
  • 有没有办法让 git flow 显示它在幕后执行的命令?

    有什么方法可以让 git flow 提前告诉我当我执行 flow 命令时它将执行的确切 git 命令吗 或者告诉我它是东吗 我只能看到输出和摘要吗 你可以使用Git的GIT TRACE 环境变量 http git scm com docs
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck
  • 如何正确使用“mvn release:prepare”?

    我尝试了这个命令 用dryrun在我的 Maven 项目上进行测试 mvn release clean release prepare DdryRun true DgenerateBackupPoms false Dtag solocal
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 致命:.git/info/refs 无效:这是一个 git 存储库吗?

    我有一个托管在 Assembla 上的 Git 存储库 我正在尝试执行以下操作 git push u origin master 我一遍又一遍地收到以下错误 fatal https url repo name git info refs n

随机推荐

  • MongoDB:安装配置

    MongoDB有两个服务器版本 xff1a MongoDB 社区版 和 MongoDB 企业版 此篇主要介绍 MacOS 下 MongoDB 社区版的安装 xff0c 在 版本 下拉列表中 xff0c 选择要下载的 MongoDB 版本 x
  • 我的三周年创作纪念日

    文章目录 一 CSDN 心路历程1 关于第一篇文章2 初拾 CSDN3 重逢 CSDN 二 CSDN 收获1 关于粉丝2 关于文章 三 文章创作工具分享1 Typora2 PicGo3 作图工具 四 憧憬 一 CSDN 心路历程 1 关于第
  • 购买公司股票 = 变相降薪?

    一些公司会扣除你部分薪金 xff0c 美名其曰购买公司股份 xff0c 为了让你放心 xff0c 也会在合同中写明退出机制 xff0c 例如 xff1a 离职是可原额退回 但当你真的要离职的时候 xff0c 这事情就变得很扯皮了 其实让你入
  • MongoDB:常用命令

    本篇内容主要介绍 xff1a MongoDB 数据库命令 MongoDB 集合命令 MongoDB 文档命令 MongoDB 文档查询拓展 文章目录 一 MongoDB 数据库命令1 启动 MongoDB2 连接 MongoDB3 获取帮助
  • 分布式理论协议与算法 第二弹 ACID原则

    ACID 原则是在 1970年 被 Jim Gray 定义 xff0c 用以表示事务操作 xff1a 一个事务是指对数据库状态进行改变的一系列操作变成一个单个序列逻辑元操作 xff0c 数据库一般在启动时会提供事务机制 xff0c 包括事务
  • MongoDB:在 Java 中使用 MongoDB

    除了通过启动 mongo 进程进如 Shell 环境访问数据库外 xff0c MongoDB 还提供了其他基于编程语言的访问数据库方法 MongoDB 官方提供了 Java 语言的驱动包 xff0c 利用这些驱动包可使用多种编程方法来连接并
  • 分布式理论协议与算法 第三弹 BASE理论

    大部分人解释这 CAP 定律时 xff0c 常常简单的表述为 xff1a 一致性 可用性 分区容错性三者你只能同时达到其中两个 xff0c 不可能同时达到 实际上这是一个非常具有误导性质的说法 xff0c 而且在 CAP 理论诞生 12 年
  • Docker:独具魅力的开源容器引擎

    Docker 是一个开源的应用容器引擎 xff0c 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 xff0c 然后发布到任何流行的 Linux 或 Windows操作系统的机器上 xff0c 也可以实现虚拟化 容器是完全使用沙箱
  • 在不同环境下 Docker 的安装部署

    本篇内容主要介绍了 xff1a Docker xff1a 不同环境下的安装部署 xff0c 包括 xff0c Docker 在 Centos7 下的安装 Docker 在 MacOS 下的安装 Docker 在 Windows 下的安装 以
  • Docker 应用实践-镜像篇

    一个 Docker 镜像往往是由多个镜像层 xff08 可读层 xff09 叠加而成 xff0c 每个层仅包含了前一层的差异部分 xff0c 单个镜像层也往往可以看作镜像使用 xff0c 当我们启动一个容器的时候 xff0c Docker
  • 如何通过限流算法防止系统过载

    限流算法 xff0c 顾名思义 xff0c 就是指对流量进行控制的算法 xff0c 因此也常被称为流控算法 我们在日常生活中 xff0c 就有很多限流的例子 xff0c 比如地铁站在早高峰的时候 xff0c 会利用围栏让乘客们有序排队 xf
  • Docker 应用实践-容器篇

    在 Docker 镜像篇中 xff0c 我们了解到 Docker 镜像类似于模板 xff0c 那么 Docker 容器就相当于从模板复制过来运行时的实例 xff0c Docker 容器可以被创建 复制 暂停和删除等 每一个 Docker 容
  • Java中Json字符串和Java对象的互转

    JSON xff08 JavaScript Object Notation xff09 是一种轻量级的数据交换格式 诞生于 2002 年 易于人阅读和编写 同时也易于机器解析和生成 JSON 是目前主流的前后端数据传输方式 JSON 采用完
  • 老板必看:1.初创业团队没有激情,咋办? 2.小股东的选择

    内容摘要 xff1a 本文有两个来自真实情况的案例 xff0c 因为涉及到 私隐 xff0c 部分内容经过处理 两个案例分别是 xff1a 1 xff09 新创业团队员工积极性差的问题 xff1b 2 xff09 小股东在两大股东的斗法中的
  • 持续事务管理过程中的事件驱动

    比较官方的定义 xff1a 事件驱动是指在持续事务管理过程中 xff0c 进行决策的一种策略 xff0c 即跟随当前时间点上出现的事件 xff0c 调动可用资源 xff0c 执行相关任务 xff0c 使不断出现的问题得以解决 xff0c 防
  • Docker 应用实践-仓库篇

    目前 Docker 官方维护了一个公共仓库 Docker Hub xff0c 用于查找和与团队共享容器镜像 xff0c 界上最大的容器镜像存储库 xff0c 拥有一系列内容源 xff0c 包括容器社区开发人员 开放源代码项目和独立软件供应商
  • 浅谈网络中接口幂等性设计问题

    所谓幂等性设计 xff0c 就是说 xff0c 一次和多次请求某一个资源应该具有同样的副作用 用数学的语言来表达就是 xff1a f x 61 f f x 在数学里 xff0c 幂等有两种主要的定义 在某二元运算下 xff0c 幂等元素是指
  • 分布式系统中的补偿机制设计问题

    我们知道 xff0c 应用系统在分布式的情况下 xff0c 在通信时会有着一个显著的问题 xff0c 即一个业务流程往往需要组合一组服务 xff0c 且单单一次通信可能会经过 DNS 服务 xff0c 网卡 交换机 路由器 负载均衡等设备
  • 关于基于标准库函数与基于HAL库函数的stm32编程方式的差异

    在之前的博客中 xff0c 我已经使用过通过标准库函数和HAL库函数对stm32进行编译工作 xff0c 在这篇博文里 xff0c 我将对之前的进行总结 关于标准库函数 由于stm32系列有着很多不同的芯片 xff0c 其所使用的寄存器也大
  • curl wget pip git-clone yum apt-get的区别

    在linux中 xff0c 会常用到这些命令进行文件下载 xff0c 软件安装以及url访问 xff0c 但总是分不清楚什么时候用什么命令去下载或者安装和访问 这里将这几个命令的用法和区别进行一个说明 xff0c 方便大家学习和记忆 1 首