当前位置: 首页 > news >正文

【探索Linux】—— 强大的命令行工具 P.5(yum工具、git 命令行提交代码)

在这里插入图片描述

阅读导航

  • 前言
  • 一、软件包管理器 yum
    • 1.yum的概念
    • yum的基本指令
    • 使用例子
  • 二、git 命令行提交代码
  • 总结
  • 温馨提示

前言

前面我们讲了C语言的基础知识,也了解了一些数据结构,并且讲了有关C++的一些知识,也学习了一些Linux的基本操作,也了解并学习了有关Linux开发工具vim 、gcc/g++ 使用,也相信大家都掌握的不错,今天博主带大家了解一下 —— yum工具以及git 命令行提交代码, 下面话不多说坐稳扶好咱们要开车了!!!😍

一、软件包管理器 yum

1.yum的概念

yum 是一种在基于 RPM 包管理系统的 Linux 发行版中使用的软件包管理器。它主要用于方便地安装、升级、删除和查询软件包,同时自动解决软件包之间的依赖关系。

  1. 软件仓库(Repository):yum 使用软件仓库来获取软件包。一个软件仓库是一个包含软件包及其相关信息的集合,通常存储在远程服务器上。通过配置软件仓库,用户可以方便地从中获取和安装软件包。

  2. 软件包查询(Package Query):yum 提供了丰富的查询功能,用于查找、列出和显示软件包的详细信息,如软件包名称、版本、依赖关系、文件列表等。这使得用户可以快速找到需要的软件包。

  3. 软件包安装与升级:使用yum,用户可以轻松地安装和升级软件包。只需要指定软件包的名称,yum 会自动检查软件包的依赖关系,并下载、安装或升级所需的软件包及其依赖项。

  4. 依赖解决(Dependency Resolution):yum 能够自动解决软件包之间的依赖关系。当用户安装或升级软件包时,yum 会自动检查并下载所需的其他软件包,并确保它们的依赖关系得到满足。

  5. 事务支持(Transaction Support):yum 支持事务操作,即将多个软件包的安装、删除或升级作为一个整体进行处理。这可以确保操作的一致性,如果其中一个软件包的安装失败,整个事务可以被回滚。

  6. 插件机制(Plugin System):yum 借助插件机制,可以进行扩展和定制。用户可以根据需要添加各种插件,如安全检查、下载进度显示、额外的命令等,来增强 yum 的功能。

yum的基本指令

当使用 yum 进行软件包管理时,有许多相关的指令可供使用。下面是一些常用的 yum 指令及其功能的介绍:

  1. yum install <package>:安装指定的软件包。这个指令会自动解决软件包的依赖关系,并下载并安装所需的软件包及其依赖项。

  2. yum remove <package>:移除指定的软件包。这个指令会将软件包及其相关的文件从系统中删除。

  3. yum update:更新系统中已安装软件包的版本。这个指令会检查软件包的最新版本,并下载并安装可用的更新。

  4. yum upgrade:升级系统中所有已安装软件包的版本。这个指令会检查软件包的最新版本,并下载并安装可用的升级。

  5. yum search <keyword>:搜索包含指定关键词的软件包。这个指令会列出匹配关键词的软件包的详细信息。

  6. yum info <package>:获取指定软件包的详细信息,如名称、版本、描述、依赖关系等。

  7. yum list:列出系统中已安装的所有软件包。这个指令会显示软件包的名称、版本、仓库来源等信息。

  8. yum repolist:列出系统中已配置的所有软件仓库。这个指令会显示软件仓库的名称、状态、仓库 ID 等信息。

  9. yum clean all:清理 yum 的缓存和临时文件。这个指令会删除下载的软件包文件和索引文件,释放磁盘空间。

  10. yum check-update:检查是否有可用的软件包更新,但不执行实际的升级操作。这个指令通常用于在升级之前检查更新情况。

除了上述指令外,yum 还支持更多的操作和选项,可以根据需求进行进一步的配置和定制。可以通过 yum --helpman yum 来获取完整的指令列表和帮助文档。

使用例子

  • [1] 当你想安装一个名为nginx的Web服务器时,可以使用以下指令:
yum install nginx

这个指令会自动检查并安装nginx软件包及其依赖项。如果你已经安装了旧版本的nginx,它将被更新到最新版本。

  • [2] 如果你需要搜索一个特定的软件包,可以使用以下指令:
yum search <keyword>
  1. 例如,要搜索与防火墙相关的软件包,可以输入:
yum search firewall

这将列出所有包含firewall关键词的软件包,并显示它们的名称、描述等信息。

  • [3] 如果你想查看已安装的软件包列表,可以使用以下指令:
yum list

这将显示系统中所有已安装软件包的列表,包括软件包的名称、版本、仓库来源等信息。

  • [4] 如果你想删除一个已安装的软件包,可以使用以下指令:
yum remove <package>
  1. 例如,要删除名为httpd的软件包,可以输入:
yum remove httpd

这将从系统中删除httpd软件包及其相关文件。

二、git 命令行提交代码

当我们在使用 Git 命令行提交代码时,通常需要执行以5个步骤,其中git addgit commitgit push是最关键的三步,简称git三板斧

  1. 打开终端或命令行界面,并导航到包含你的 Git 代码仓库的目录。
  2. git clone [url] 是一个用于从远程仓库克隆代码的 Git 命令。它会将远程仓库中的代码复制到本地,创建一个本地仓库副本,以供进一步开发和版本控制。[url] 是指远程仓库的 URL,可以是 HTTP、HTTPS、SSH 或 Git 协议的链接。通常,你可以在代码托管平台(如 GitHub、GitLab、Bitbucket)的仓库页面上找到这个 URL。

例如:Gitee提交仓库地址
在这里插入图片描述

  1. 使用git status命令查看当前代码仓库的状态。这将显示已修改、已添加或已删除的文件列表,以及分支信息等。(非必要选项)

  2. 使用git add命令将待提交的文件添加到暂存区。例如,要添加名为file1.txtfile2.txt的文件,可以执行以下命令:

    git add file1.txt file2.txt
    

    或者,如果你想添加所有已修改的文件,可以使用git add .命令。

  3. 使用git commit命令提交暂存区中的文件并添加提交消息。以下是一个例子:

    git commit -m "Add new feature"
    

    -m选项后的引号内是提交消息,用于描述你的提交所做的更改。

  4. 使用git push命令将本地的提交推送到远程仓库。这将把你的代码更改传送到共享的远程代码库。以下是一个例子:

    git push origin master
    

    其中origin是远程仓库的名称,master是要推送到的分支名称。

总结

本文介绍了两个相关主题:软件包管理器 yum 和 git 命令行提交代码。

  1. 软件包管理器 yum:

    • yum 的概念:yum 是一种在 Linux 操作系统中用于管理软件包的工具。它简化了软件安装和更新的过程,并处理了软件包之间的依赖关系。
    • yum 的基本指令:文章列举了一些常用的 yum 命令,例如 install(安装软件包)、update(更新软件包)和 remove(移除软件包)等。这些命令用于在系统上执行各种软件包操作。
  2. Git 命令行提交代码:

    • git 命令行提交代码:文章介绍了一些常用的 git 命令,如 git init(初始化仓库)、git add(将文件添加到暂存区)、git commit(提交代码)和 git clone(克隆远程仓库)等。这些命令用于在 Git 中进行代码管理和提交更改。

总的来说,本文介绍了软件包管理器 yum 和 Git 命令行提交代码的基本概念和常用操作方法。通过使用 yum,用户可以轻松管理系统上的软件包,而使用 git ,开发者可以有效地处理代码版本控制和协作开发。

温馨提示

感谢您对博主文章的关注与支持!在阅读本篇文章的同时,我们想提醒您留下您宝贵的意见和反馈。如果您喜欢这篇文章,可以点赞、评论和分享给您的同学,这将对我提供巨大的鼓励和支持。另外,我计划在未来的更新中持续探讨与本文相关的内容。我会为您带来更多关于Linux以及C++编程技术问题的深入解析、应用案例和趣味玩法等。请继续关注博主的更新,不要错过任何精彩内容!

再次感谢您的支持和关注。我们期待与您建立更紧密的互动,共同探索Linux、C++、算法和编程的奥秘。祝您生活愉快,排便顺畅!
在这里插入图片描述

相关文章:

【探索Linux】—— 强大的命令行工具 P.5(yum工具、git 命令行提交代码)

阅读导航 前言一、软件包管理器 yum1.yum的概念yum的基本指令使用例子 二、git 命令行提交代码总结温馨提示 前言 前面我们讲了C语言的基础知识&#xff0c;也了解了一些数据结构&#xff0c;并且讲了有关C的一些知识&#xff0c;也学习了一些Linux的基本操作&#xff0c;也了…...

jdbc 使用rewriteBatchedStatements=true后,报错

jdbc 使用rewriteBatchedStatementstrue后&#xff0c;报错了 rewriteBatchedStatementstrue解释 rewriteBatchedStatementstrue是一个配置选项&#xff0c;它影响MySQL JDBC驱动程序的行为。JDBC是Java数据库连接的标准。当你使用Java程序连接MySQL数据库时&#xff0c;你需要…...

第G1周:生成对抗网络(GAN)入门

&#x1f368; 本文为[&#x1f517;365天深度学习训练营]内部限免文章&#xff08;版权归 *K同学啊* 所有&#xff09; &#x1f356; 作者&#xff1a;[K同学啊] 一、理论基础 生成对抗网络&#xff08;Generative Adversarial Networks, GAN&#xff09;是近年来深度学习领域…...

Stable Diffusion基础:ControlNet之图片高仿效果

今天继续给大家分享AI绘画中 ControlNet 的强大功能&#xff0c;本次的主角是 Reference&#xff0c;它可以将参照图片的风格迁移到新生成的图片中&#xff0c;这句话理解起来很困难&#xff0c;我们将通过几个实例来加深体会&#xff0c;比如照片转二次元风格、名画改造、AI减…...

TCGA数据下载推荐:R语言easyTCGA包

#使用easyTCGA获取数据 #清空 rm(listls()) gc() # 安装bioconductor上面的R包 options(BioC_mirror"https://mirrors.tuna.tsinghua.edu.cn/bioconductor") if(!require("BiocManager")) install.packages("BiocManager") if(!require("TC…...

JLSX 模版指令导出Excel

1. 官方相关链接 官网&#xff1a;https://jxls.sourceforge.net/reference/if_command.html JxlsAPI&#xff1a; https://jxls.sourceforge.net/javadoc/jxls/index.html Jxls POI&#xff1a; https://jxls.sourceforge.net/javadoc/jxls/index.html Jxls JExcel&#xff1…...

【制作npm包3】了解 tsconfig.json 相关配置

制作npm包目录 本文是系列文章&#xff0c; 作者一个橙子pro&#xff0c;本系列文章大纲如下。转载或者商业修改必须注明文章出处 一、申请npm账号、个人包和组织包区别 二、了解 package.json 相关配置 三、 了解 tsconfig.json 相关配置 四、 api-extractor 学习 五、npm包…...

【0基础入门Python笔记】一、python 之基础语法、基础数据类型、复合数据类型及基本操作

一、python 之基础语法、基础数据类型、复合数据类型及基本操作 基础语法规则基础数据类型数字类型&#xff08;Numbers&#xff09;字符串类型&#xff08;String&#xff09;布尔类型&#xff08;Boolean&#xff09; 复合数据类型List&#xff08;列表&#xff09;Tuple&…...

2023-08-18力扣每日一题

链接&#xff1a; 1388. 3n 块披萨 题意&#xff1a; 一个长度3n的环&#xff0c;选n次数字&#xff0c;每次选完以后相邻的数字会消失&#xff0c;求选取结果最大值 解&#xff1a; 这波是~~&#xff08;ctrl&#xff09;CV工程师了~~ 核心思想是选取n个不相邻的元素一定…...

mac M1安装opencv方法及类型报错解决

安装opencv: pip install opencv-python pip install --user opencv-contrib-python pip install opencv-python 4.5.2.54 numpy 1.25.2 安装过程中报错如下&#xff1a; python-类型错误&#xff1a;“numpy._DTypeMeta”对象不可下标 TypeError: ‘numpy._DTypeMeta’ obje…...

Screen终端管理工具

文章目录 Screen终端管理工具背景nohup介绍screen介绍安装screen查看终端新建终端退出终端进入终端删除会话帮助命令 总结 Screen终端管理工具 背景 对大佬只有膜拜&#xff0c;可能永远无法超越&#xff0c;在工作交接中大佬用到了一个screen启动了程序&#xff0c;这是什么…...

【python自动化办公】PysimpleGUI官网案例全部项目代码文件及运行截图

PysimpleGUI官网案例全部项目代码文件及运行截图 0 项目文件整体预览窗口1 pysimpleGUI下面所有元素2 pysimpleGUI下面所有元素示例3 加载多GIF图片4 使用PIL进行动态图片加载5 自动保存关闭时窗口位置信息6 绘制柱状图7 图像编码18 图像编码29 无边界窗口10 设置图片按钮11 按…...

9.处理this和防抖、节流

9.1 this指向-普通函数 普通函数的调用方式决定了this的值&#xff0c;即【谁调用this的值 指向谁】 普通函数没有明确调用者时this值为window&#xff0c;严格模式下没有调用者时this的值为undefined 9.2 this指向-箭头函数 箭头函数中的this与普通函数完全不同&#xff0…...

Spark操作Hive表幂等性探索

前言 旁边的实习生一边敲着键盘一边很不开心的说:做数据开发真麻烦,数据bug排查太繁琐了,我今天数据跑的有问题,等我处理完问题重新跑了代码,发现报表的数据很多重复,准备全部删了重新跑。 我:你的数据操作具备幂等性吗? 实习生:啥是幂等性?数仓中的表还要考虑幂等…...

【可变形卷积3】 DCNv2 安装

使用RTM3D 代码&#xff0c;CenterTrack代码需要用DCN 1、安装DCNv2 &#xff08;1&#xff09;github上最新版的DCNv2源码在"https://github.com/CharlesShang/DCNv2"&#xff0c;但是该版本源码不支持PyTorch1.7&#xff0c;如果使其支持PyTorch1.7需要做以下修改…...

归并排序 与 计数排序

目录 1.归并排序 1.1 递归实现归并排序&#xff1a; 1.2 非递归实现归并排序 1.3 归并排序的特性总结: 1.4 外部排序 2.计数排序 2.1 操作步骤: 2.2 计数排序的特性总结: 3. 7种常见比较排序比较 1.归并排序 基本思想: 归并排序(MERGE-SORT)是建立在归并操作上的一种…...

机器学习之逻辑回归

import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression # 获得数据 names[Sample code number,Clump Thickness,Uniformity…...

操作符详解上(非常详细)

目录 二进制介绍二进制2进制转10进制10进制转2进制数字2进制转8进制和16进制2进制转8进制2进制转16进制 原码、反码、补码移位操作符左移操作符右移操作符 位操作符&#xff1a;&、|、^逗号表达式 二进制介绍 在初学计算机时我们常常会听到2进制、8进制、10进制、16进制……...

React 高阶组件(HOC)

React 高阶组件(HOC) 高阶组件不是 React API 的一部分&#xff0c;而是一种用来复用组件逻辑而衍生出来的一种技术。 什么是高阶组件 高阶组件就是一个函数&#xff0c;且该函数接受一个组件作为参数&#xff0c;并返回一个新的组件。基本上&#xff0c;这是从 React 的组成…...

【NepCTF2023】复现

文章目录 【NepCTF2023】复现MISC与AI共舞的哈夫曼codesc语言获取环境变量 小叮弹钢琴陌生的语言你也喜欢三月七么Ez_BASIC_IImisc参考 WEBez_java_checkinPost Crad For You独步天下配置环境独步天下-镜花水月环境变量提权 独步天下-破除虚妄总结 独步天下-破除试炼_加冕成王知…...

大文件切片上传

创建组件&#xff1a;创建一个组件用于处理文件上传&#xff0c;命名为Upload.vue。 <template><div><input type"file" change"handleFileChange" /><button click"startUpload">开始上传</button></div> …...

ubuntu切换python版本

在没有安装类似anoconda的管理工具的时候&#xff0c;我们常常会被Ubuntu下的Python版本切换问题所头疼。 可以使用update-alternatives工具进行python版本的任意切换 当使用update-alternatives工具来切换Ubuntu系统上的Python版本时&#xff0c;您实际上是在系统范围内选择…...

docker 安装 elasticsearch、kibana 7.4.2

切换root 用户 su root 拉起镜像 docker pull elasticsearch:7.4.2 docker pull kibana:7.4.2 #1、创建Elasticsearch配置文件夹 mkdir -p /mydata/elasticsearch/config ​ #2、创建Elasticsearch数据文件夹 mkdir -p /mydata/elasticsearch/data #3、创建Elasticsearch插件…...

【es6】函数参数设置默认值

1、es6之前的函数参数默认值写法 1.1、使用短路或||的写法 当y为空时&#xff0c;y判断为false &#xff0c;走||右边的&#xff0c;所以y world;当y不为空时&#xff0c;y判断为true&#xff0c;不需要再运行||右边的&#xff0c;所以 y y function log(x, y) {y y || W…...

Pytest和Unittest测试框架的区别?

如何区分这两者&#xff0c;很简单unittest作为官方的测试框架&#xff0c;在测试方面更加基础&#xff0c;并且可以再次基础上进行二次开发&#xff0c;同时在用法上格式会更加复杂&#xff1b;而pytest框架作为第三方框架&#xff0c;方便的地方就在于使用更加灵活&#xff0…...

C#基础知识(一)

一、C#程序结构 《1》命名空间的声明&#xff08;namespace declaration&#xff09; 《2》一个class 《3》class方法 《4》class属性 《5》一个main方法 《6》语句&#xff08;statements&#xff09;&表达式&#xff08;Expressions&#xff09; 《7》注释 注&#xff1a…...

我还不知道?Android组件化插件化模块化

Android组件化、插件化和模块化是针对Android应用程序开发的一种架构设计思想和开发方式。 组件化&#xff08;Componentization&#xff09;&#xff1a; 组件化是将一个大型的Android应用程序拆分成多个独立的组件&#xff08;Module&#xff09;&#xff0c;每个组件可以独…...

借助 AI 工具,真的能成为 10x 工程师?

或许你听说过 10x 工程师吗&#xff1f; 如果你问猎头公司 10x 工程师是什么意思&#xff0c;他们可能会说 “生产力”&#xff01;10x 是指完成任务比别人快 10 倍的工程师。 2019 年&#xff0c;Twitter 上就曾经对 10 x 工程师这一议题有过一次空前热烈的讨论&#xff0c;引…...

TypeScript 面向对象

TypeScript 接口 TypeScript 接口定义如下&#xff1a; interface interface_name { } 以下实例中&#xff0c;我们定义了一个接口 IPerson&#xff0c;接着定义了一个变量 customer&#xff0c;它的类型是 IPerson。 customer 实现了接口 IPerson 的属性和方法。 interf…...

k8s 中快速启动curl pod 做api test

场景 k8s上运行的pod需要进行api测试,由于开发使用的镜像都是最小化构建,不能保证现有的pod中一定有curl工具,于是需要启动一个带有curl工具的测试pod专门进行api测试 指令 kubectl run curl-test-pod --imagecurlimages/curl -n {namespace} -i --tty -- sh上述指令实现在指…...