Linux的学习之路:7、yum与git

摘要

本章主要是说一下yum和git的操作

目录

摘要

一、什么是yum

二、yum三板斧

1、list

2、install

3、remove

三、怎么创建仓库

四、git三板斧

1、add

2、commit

3、push

4、pull

五、思维导图 


一、什么是yum

YUM是Yellowdog Updater Modified的简称,是杜克大学为了提高RPM软件包安装性而开发的一种软件包管理器。它可以从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,就像手机里面的应用商店。

YUM提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。YUM解决了依赖关系的问题,它可以自动下载软件包所依赖的其它软件包。

YUM软件仓库实际上是根据实际使用中的各种情形,在文件服务器或特定服务器上,将众多的RPM包按照一定合理的分类方式进行整合,同时保持着与官方发布一致性的更新。这样,当需要安装某个RPM包时,可以迅速地在软件仓库中找到并下载到本地进行安装。

总的来说,YUM是一个方便、快捷的软件包管理工具,能够自动处理软件包之间的依赖关系,极大地简化了软件安装的过程.

二、yum三板斧

1、list

通过 yum list 命令可以罗列出当前一共有哪些软件包,如下方截图就是一部分查找到的软件包,因为太多了不好全部截图。

因为太多了,所以我们需要什么就可以利用管道配合grep进行查找软件,就是yum list | grep stl这行代码,测试如下方截图

 ustl-devel.x86_64                        2.8-1.el7                     epel  

如上方这行代码:软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构."x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配、"el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6、最后一列, epel 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.

2、install

通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装,yum 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装,出现 "complete" 字样, 说明安装完成,如之前文章中安装tree的时候就是yum install -y tree就是下载树。

注意:

1、安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成yum安装软件只能一个装完了再装另一个

2、 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错,如果 yum 报错, 请自行百度,这里就不详细说了

如下方代码就是下载一个sl的开源应用,这个应用挺有意思是一个小火车跑过去,如下方视频

Linux小火车

3、remove

sudo yum remove就是删除应用的指令,这里就是把上面那个小火车的删除演示,如下方截图,删除后再用就没有了。

三、怎么创建仓库

这里就用国内的gitte进行演示了,如下方图片在浏览器内搜索gitte,这个就是官网,点进去注册登录,点击图二划红线的位置,然后如图三进行创建仓库然后点击创建。

 如下方图一点击克隆然后如图二进行赋值第一个的https的链接,然后如下方代码所示,可以看到在进入test这个克隆的代码仓库就可以看出来在和gitte上面的仓库里面的东西一样,这就是克隆好了。

 

[ly1@VM-24-9-centos ~]$ ll
total 4
-rw-rw-r-- 1 ly1 ly1 462 Apr 11 20:03 test.c
[ly1@VM-24-9-centos ~]$ git clone https://gitee.com/three-thousand-luoshui/test.git
Cloning into 'test'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
[ly1@VM-24-9-centos ~]$ ll
total 8
drwxrwxr-x 3 ly1 ly1 4096 Apr 12 20:45 test
-rw-rw-r-- 1 ly1 ly1  462 Apr 11 20:03 test.c
[ly1@VM-24-9-centos ~]$ ll -a
total 52
drwx------  7 ly1  ly1  4096 Apr 12 20:45 .
drwxr-xr-x. 5 root root 4096 Apr 11 18:42 ..
-rw-------  1 ly1  ly1  1606 Apr 12 20:45 .bash_history
-rw-r--r--  1 ly1  ly1    18 Apr  1  2020 .bash_logout
-rw-r--r--  1 ly1  ly1   193 Apr  1  2020 .bash_profile
-rw-r--r--  1 ly1  ly1   231 Apr  1  2020 .bashrc
drwxrwxr-x  3 ly1  ly1  4096 Apr 11 19:04 .cache
drwxrwxr-x  3 ly1  ly1  4096 Apr 11 19:04 .config
drwxrw----  3 ly1  ly1  4096 Apr 12 20:45 .pki
drwxrwxr-x  3 ly1  ly1  4096 Apr 12 20:45 test
-rw-rw-r--  1 ly1  ly1   462 Apr 11 20:03 test.c
drwxr-xr-x  2 ly1  ly1  4096 Apr 11 21:30 .vim
-rw-------  1 ly1  ly1  2615 Apr 11 21:30 .viminfo
[ly1@VM-24-9-centos ~]$ cd test
[ly1@VM-24-9-centos test]$ ll -a
total 28
drwxrwxr-x 3 ly1 ly1 4096 Apr 12 20:45 .
drwx------ 7 ly1 ly1 4096 Apr 12 20:45 ..
drwxrwxr-x 8 ly1 ly1 4096 Apr 12 20:45 .git
-rw-rw-r-- 1 ly1 ly1  270 Apr 12 20:45 .gitignore
-rw-rw-r-- 1 ly1 ly1  643 Apr 12 20:45 LICENSE
-rw-rw-r-- 1 ly1 ly1  841 Apr 12 20:45 README.en.md
-rw-rw-r-- 1 ly1 ly1  930 Apr 12 20:45 README.md
[ly1@VM-24-9-centos test]$ 

四、git三板斧

1、add

如下方代码所示,这里是创建了一个文件进行测试,测试的hello然后利用add提交,这是就会把这个文件提交到gitee上,也就相当于一个通知。

[ly1@VM-24-9-centos test]$ ll -a
total 28
drwxrwxr-x 3 ly1 ly1 4096 Apr 12 20:45 .
drwx------ 7 ly1 ly1 4096 Apr 12 20:45 ..
drwxrwxr-x 8 ly1 ly1 4096 Apr 12 20:45 .git
-rw-rw-r-- 1 ly1 ly1  270 Apr 12 20:45 .gitignore
-rw-rw-r-- 1 ly1 ly1  643 Apr 12 20:45 LICENSE
-rw-rw-r-- 1 ly1 ly1  841 Apr 12 20:45 README.en.md
-rw-rw-r-- 1 ly1 ly1  930 Apr 12 20:45 README.md
[ly1@VM-24-9-centos test]$ vim test.c
[ly1@VM-24-9-centos test]$ gcc -o hello test.c
[ly1@VM-24-9-centos test]$ ll
total 28
-rwxrwxr-x 1 ly1 ly1 8360 Apr 12 20:49 hello
-rw-rw-r-- 1 ly1 ly1  643 Apr 12 20:45 LICENSE
-rw-rw-r-- 1 ly1 ly1  841 Apr 12 20:45 README.en.md
-rw-rw-r-- 1 ly1 ly1  930 Apr 12 20:45 README.md
-rw-rw-r-- 1 ly1 ly1   70 Apr 12 20:48 test.c
[ly1@VM-24-9-centos test]$ ./hello
Hello Word
[ly1@VM-24-9-centos test]$ git add test.c
[ly1@VM-24-9-centos test]$ 

2、commit

如下方带吗,我直接提交显示的是请告诉我你是谁,也就是他不知道我是谁,下面还给了两个代码,大概意思就是让我们用这个去更改邮箱和用户名,就是引号里面的,用户名就是个人主页这个@后面的,邮箱是自己填的。

[ly1@VM-24-9-centos test]$ git commit .*** Please tell me who you are.Rungit config --global user.email "you@example.com"git config --global user.name "Your Name"to set your account's default identity.
Omit --global to set the identity only in this repository.fatal: empty ident name (for <ly1@VM-24-9-centos.(none)>) not allowed
[ly1@VM-24-9-centos test]$ 

然后在进行提交这两行代码,然后在进行提交就会出现下方第二个代码,这是说我在提交的时候没有进行备注说明,也就是下方第一个代码块第三句代码,.就是全部提交。

[ly1@VM-24-9-centos test]$ git config --global user.email "2552696329@qq.com"
[ly1@VM-24-9-centos test]$ git config --global user.name "three-thousand-luoshui"

[ly1@VM-24-9-centos test]$ git commit .

Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# Explicit paths specified without -i nor -o; assuming --only paths...
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   test.c
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       hello

这是如下方代码这样在git commit .后面加上-m然后引号,在引号内加上自己的提交信息,就提交上去了。

[ly1@VM-24-9-centos test]$ git commit . -m"这是一个测试"
[master 8d8920e] 这是一个测试
 2 files changed, 6 insertions(+)
 create mode 100755 hello
 create mode 100644 test.c
[ly1@VM-24-9-centos test]$ 

3、push

这是就需要push推送到gitee上的仓库,让两个仓库内容相同,如下方代码,就可以看到gitee上的仓库也提交成功了。

[ly1@VM-24-9-centos test]$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:git config --global push.default matchingTo squelch this message and adopt the new behavior now, use:git config --global push.default simpleSee 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)Username for 'https://gitee.com': 17719362786   
Password for 'https://17719362786@gitee.com': 
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 2.65 KiB | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/three-thousand-luoshui/test.gite4ecb6d..8d8920e  master -> master
[ly1@VM-24-9-centos test]$ 

4、pull

这个就是拉取,如上方代码在我有创建了一个文件进行测试,但是这次提交却不成功,这是因为啥?看他的报错意思就是两边代码不同步,这是就需要利用pull进行拉取同步。

[ly1@VM-24-9-centos test]$ vim test3.c
[ly1@VM-24-9-centos test]$ ll
total 28
-rwxrwxr-x 1 ly1 ly1 8360 Apr 12 20:49 hello
-rw-rw-r-- 1 ly1 ly1  643 Apr 12 20:45 LICENSE
-rw-rw-r-- 1 ly1 ly1  841 Apr 12 20:45 README.en.md
-rw-rw-r-- 1 ly1 ly1  930 Apr 12 20:45 README.md
-rw-rw-r-- 1 ly1 ly1    0 Apr 12 21:20 test3.c
-rw-rw-r-- 1 ly1 ly1   70 Apr 12 20:48 test.c
[ly1@VM-24-9-centos test]$ git add.
git: 'add.' is not a git command. See 'git --help'.Did you mean this?add
[ly1@VM-24-9-centos test]$ git add .
[ly1@VM-24-9-centos test]$ git commit . -m"test"
[master cf21b89] test1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 test3.c
[ly1@VM-24-9-centos test]$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:git config --global push.default matchingTo squelch this message and adopt the new behavior now, use:git config --global push.default simpleSee 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)Username for 'https://gitee.com': 17719362786
Password for 'https://17719362786@gitee.com': 
To https://gitee.com/three-thousand-luoshui/test.git! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/three-thousand-luoshui/test.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
[ly1@VM-24-9-centos test]$ 

如下方代码就是先利用pull进行拉取让两边代码仓库同步,然后进行提交就可以了,如下方图片。

[ly1@VM-24-9-centos test]$ git pull
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://gitee.com/three-thousand-luoshui/test8d8920e..3c04c04  master     -> origin/master
Merge made by the 'recursive' strategy.test2 | 01 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 test2
[ly1@VM-24-9-centos test]$ ll
total 28
-rwxrwxr-x 1 ly1 ly1 8360 Apr 12 20:49 hello
-rw-rw-r-- 1 ly1 ly1  643 Apr 12 20:45 LICENSE
-rw-rw-r-- 1 ly1 ly1  841 Apr 12 20:45 README.en.md
-rw-rw-r-- 1 ly1 ly1  930 Apr 12 20:45 README.md
-rw-rw-r-- 1 ly1 ly1    0 Apr 12 21:23 test2
-rw-rw-r-- 1 ly1 ly1    0 Apr 12 21:20 test3.c
-rw-rw-r-- 1 ly1 ly1   70 Apr 12 20:48 test.c
[ly1@VM-24-9-centos test]$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:git config --global push.default matchingTo squelch this message and adopt the new behavior now, use:git config --global push.default simpleSee 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)Username for 'https://gitee.com': 17719362786
Password for 'https://17719362786@gitee.com': 
Counting objects: 6, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 501 bytes | 0 bytes/s, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/three-thousand-luoshui/test.git3c04c04..8160868  master -> master
[ly1@VM-24-9-centos test]$ 

 

五、思维导图 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Github 2024-04-12 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6TypeScript项目2Cuda项目1C++项目1C项目1HTML项目1Jupyter Notebook项目1JavaScript项目1Python - 100天从新手到大师 创建周期:22…

unity_Button:单击的三种实现方式

1.针对特定单个按钮 此代码直接绑定到button上面无需其他操作 using UnityEngine; using UnityEngine.UI;public class PrintHelloOnButtonClick : MonoBehaviour {private Button button;void Start(){// 获取当前GameObject上的Button组件button GetComponent<Button&g…

CTF-SHOW SSRF

web351 存在一个flag.php页面&#xff0c;访问会返回不是本地用户的消息&#xff0c;那肯定是要让我们以本地用户去访问127.0.0.1/flag.php web352 代码中先判断是否为HTTP或https协议&#xff0c;之后判断我们传入的url中是否含有localhost和127.0.0&#xff0c;如果没有则…

VulnHub靶机-easy_cloudantivirus 打靶

easy_cloudantivirus 靶机 目录 easy_cloudantivirus 靶机一、导入虚拟机配置二、攻击方式主机发现端口扫描web渗透-SQL注入命令注入反弹shellssh爆破提权 一、导入虚拟机配置 靶机地址&#xff1a; https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/下载完成&am…

Docker 安装RabbitMQ以及使用客户端图形化界面

目录 一、点击进入docker 镜像仓库 1.1 直接在官网里 搜索 rabbitmq 1.2 在标签里 直接搜索3.10-management 因为这个标签包含用户操作界面 二、启动docker 2.1 首先拉取镜像&#xff1a; 2.2 Docker运行&#xff0c;并设置开机自启动 三、访问用户操作界面 一、点击进入…

PTA(题目集二 题目 代码 C++)

目录 题目一&#xff1a; 代码&#xff1a; 题目二&#xff1a; 代码&#xff1a; 题目三&#xff1a; 代码&#xff1a; 题目四&#xff1a; 代码&#xff1a; 题目五&#xff1a; 代码&#xff1a; 题目六&#xff1a; 代码&#xff1a; 题目七&#xff1a; 代…

python中time库的time.time()函数的作用是什么?

python中time库的time.time()函数的作用是什么&#xff1f; 作用&#xff1a;Python time time() 返回当前时间的时间戳&#xff08;1970纪元后经过的浮点秒数&#xff09;。 time()方法语法&#xff1a;time.time() #!/usr/bin/python # Write Python 3 code in this onlin…

Windows10 19c单例数据库补丁升级方案

一、环境说明&#xff1a; 名称内容系统版本Windows10数据库版本19.3.0.0.0SIDorcl 二、配置OPatch 2.1.解压OPatch --解压至$ORACLE_HOME位置 2.2.查看版本 --命令 OPatch version 三、准备打补丁 3.1.解压补丁文件 --解压 unzip p35962832_190000_MSWIN-x86-64.zip 3.2.…

【DM8】AWR报告

sys.WRM$_WR_CONTROL记录快照的相关控制信息 sys.wrm $_snapshot记录快照的相关信息 1.初始化awr快照包 创建或删除DBMS_WORKLOAD_REPOSTORY系统包为1的时候开启&#xff0c;0的时候关闭 SELECT sf_check_awr_sys; sp_init_awr_sys(1);2.设置时间 –间隔10min一次 CALL dbms_…

未来汽车硬件安全的需求(1)

目录 1.概述 2.EVITA 2.1 EVITA HSM 2.2 EVITA保护范围 3.市场变化对车载网络安全的影响 3.1 非侵入式攻击的风险 3.2 量子计算机的蛮力攻击 3.3 整车E/E架构的变化 3.4 网络安全标准和认证 3.5 汽车工业的网络安全措施 4.汽车安全控制器 4.1 TPM2.0 4.2 安全控…

CLIP模型入门

简介 CLIP&#xff08;Contrastive Language-Image Pre-Training&#xff09;是OpenAI在2021年初发布的多模态预训练神经网络模型&#xff0c;用于匹配图像和文本。该模型的关键创新之一是将图像和文本映射到统一的向量空间&#xff0c;通过对比学习的方式进行预训练&#xff…

运用OSI模型提升排错能力

1. OSI模型有什么实际的应用价值&#xff1f; 2. 二层和三层网络的区别和应用&#xff1b; 3. 如何通过OSI模型提升组网排错能力&#xff1f; -- OSI - 开放式系统互联 - 一个互联标准 - 从软件和硬件 定义标准 - 不同厂商的设备 研发的技术 - 具备兼容性 -- O…

知识图谱入门到实战之1.知识图谱基础

知识图谱基础 1.为什么要用知识图谱2.知识图谱的前世今生&#xff08;1&#xff09;发展脉络&#xff08;2&#xff09;发展阶段&#xff08;3&#xff09;知识图谱定义&#xff08;4&#xff09;知识类型&#xff08;5&#xff09;常见的开源知识图谱 3.知识图谱的相关技术&am…

拥有一台阿里云服务器可以做什么?

阿里云ECS云服务器可以用来做什么&#xff1f;云服务器可以用来搭建网站、爬虫、邮件服务器、接口服务器、个人博客、企业官网、数据库应用、大数据计算、AI人工智能、论坛、电子商务、AI、LLM大语言模型、测试环境等&#xff0c;云服务器吧yunfuwuqiba.com整理阿里云服务器可以…

2024/4/5—力扣—下一个排列

代码实现&#xff1a; 思路&#xff1a;两遍扫描 void swap(int *a, int *b) {int t *a;*a *b;*b t; }void reverse(int *nums, int l, int r) {while (l < r) {swap(nums l, nums r);l;r--;} }void nextPermutation(int *nums, int numsSize) {int i numsSize - 2;wh…

陆面、生态、水文模拟与多源遥感数据同化

原文链接&#xff1a;陆面、生态、水文模拟与多源遥感数据同化https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601198&idx6&sn51b9b26b75c9df1f11dcb9a187878261&chksmfa820dc9cdf584df9ac3b997c767d63fef263d79d30238a6523db94f68aec621e1f91df85f6…

Docker 学习笔记(五):梳理 Docker 镜像知识,附带 Commit 方式提交镜像副本,安装可视化面板 portainer

一、前言 记录时间 [2024-4-10] 前置文章&#xff1a; Docker学习笔记&#xff08;一&#xff09;&#xff1a;入门篇&#xff0c;Docker概述、基本组成等&#xff0c;对Docker有一个初步的认识 Docker学习笔记&#xff08;二&#xff09;&#xff1a;在Linux中部署Docker&…

库、框架、脚手架和IDE一文讲明白

在区分上面几个问题前&#xff0c;咱们先看看几个疑问。 一、常见问题汇总 js css直接复制到服务器 然后引用不就行了么&#xff1f; 为什么还需要安装&#xff1f; 引入js不就是引入了框架了吗&#xff1f;框架就是js&#xff1f; 脚手架和框架都有架&#xff0c;是不是一…

前端js基础知识(八股文大全)

一、js的数据类型 值类型(基本类型)&#xff1a;数字(Number)、字符串&#xff08;String&#xff09;、布尔(Boolean)、对空&#xff08;Null&#xff09;、未定义&#xff08;Undefined&#xff09;、Symbol,大数值类型(BigInt) 引用数据类型&#xff1a;对象(Object)、数组…

Qt | 对象树与生命期(对象的创建、销毁、擦查找)

一、组合模式与对象树 1、组合模式指的是把类的对象组织成树形结构,这种树形结构也称为对象树,Qt 使用对象树来管理 QObject 及其子类的对象。注意:这里是指的类的对象而不是类。把类组织成树形结构只需使用简单的继承机制便可实现。 2、使用组合模式的主要作用是可以通过…