【Linux系统】第四节—详解yum+vim

hello我是云边有个稻草人

Linux---本节课所属专栏---欢迎订阅---持续更新中~

目录

画板---本节课知识点详解

一、软件包管理器

[1.1 什么是软件包](#1.1 什么是软件包)

[1.2 Linux软件⽣态](#1.2 Linux软件⽣态)

[1.3 yum具体操作](#1.3 yum具体操作)

【查看软件包】

【安装软件】

【卸载软件】

【注意事项】

[1.4 安装源](#1.4 安装源)

二、vim

[2.1 Linux编辑器-vim使⽤](#2.1 Linux编辑器-vim使⽤)

[2.2 vim的基本概念](#2.2 vim的基本概念)

[2.3 vim的基本操作](#2.3 vim的基本操作)

[2.4 vim正常模式命令集](#2.4 vim正常模式命令集)

[2.5 vim末⾏模式命令集](#2.5 vim末⾏模式命令集)

[2.6 vim操作总结](#2.6 vim操作总结)

[2.7 简单vim配置[了解]](#2.7 简单vim配置[了解])


正文开始------

画板---本节课知识点详解

一、软件包管理器

1.1 什么是软件包

  • 在Linux下安装软件, ⼀个通常的办法是下载到程序的源代码, 并进⾏编译, 得到可执⾏程序.
  • 但是这样太⿇烦了, 于是有些⼈把⼀些常⽤的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在⼀个服务器上, 通过包管理器可以很⽅便的获取到这个编译好的软件包, 直接进⾏安装.
  • 软件包和软件包管理器, 就好⽐ "App" 和 "应⽤商店" 这样的关系.
  • yum(Yellow dog Updater, Modified)是Linux下⾮常常⽤的⼀种包管理器. 主要应⽤在Fedora, RedHat, Centos等发⾏版上.
  • Ubuntu:主要使⽤apt(Advanced Package Tool)作为其包管理器。apt同样提供了⾃动解决依赖关系、下载和安装软件包的功能。

1.2 Linux软件⽣态

  • Linux下载软件的过程(Ubuntu、Centos、other)

  • 操作系统的好坏评估--- ⽣态问题


为什么会有⼈免费特定社区提供软件,还发布?还提供云服务器让你下载?

  • 软件包依赖的问题

  • 国内镜像源

以下是⼀些国内Linux软件安装源的官⽅链接[由⽂⼼⼀⾔⽣成]:

    1. 阿⾥云官⽅镜像站

官⽅链接: https://developer.aliyun.com/mirror/
阿⾥云提供了丰富的Linux发⾏版镜像,包括CentOS、Ubuntu、Debian等,⽤⼾可以通过该镜像站快速下载和更新软件包。

    1. 清华⼤学开源软件镜像站

官⽅链接: https://mirrors.tuna.tsinghua.edu.cn/
清华⼤学镜像站提供了多种Linux发⾏版的镜像,以及Python、Perl、Ruby等编程语⾔的扩展包。该镜像站还提供了丰富的⽂档和教程,帮助⽤⼾更好地使⽤这些软件包。

    1. 中国科学技术⼤学开源镜像站

官⽅链接: http://mirrors.ustc.edu.cn/
中科⼤镜像站提供了多种Linux发⾏版的镜像,以及常⽤的编程语⾔和开发⼯具。⽤⼾可以通过该镜像站⽅便地获取所需的软件包和⼯具。

    1. 北京交通⼤学⾃由与开源软件镜像站

官⽅链接: https://mirror.bjtu.edu.cn/
北交⼤镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站还提供了详细的⽂档和指南,帮助⽤⼾配置和使⽤这些软件源。

    1. 中国科学院软件研究所镜像站(ISCAS)

官⽅链接: http://mirror.iscas.ac.cn/
ISCAS镜像站提供了多种Linux发⾏版、编程语⾔和开发⼯具的镜像。⽤⼾可以通过该镜像站快速获取所需的软件包和更新。

    1. 上海交通⼤学开源镜像站

官⽅链接: https://ftp.sjtu.edu.cn/
上海交⼤镜像站提供了丰富的Linux软件资源,包括多种发⾏版的镜像和软件仓库。⽤⼾可以通过该镜像站⽅便地下载和安装所需的软件包。

    1. ⽹易开源镜像站

官⽅链接: http://mirrors.163.com/
⽹易镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站还提供了便捷的搜索功能,帮助⽤⼾快速找到所需的软件包。
此外,还有⼀些其他的国内镜像源,如搜狐开源镜像站等,但可能由于时间变化或政策调整,部分镜像站的链接或状态可能有所变动。因此,建议⽤⼾在使⽤前访问官⽅⽹站或咨询相关社区以获取最新的信息和帮助。

下载相应的扩展软件源

bash 复制代码
sudo yum install -y epel-release

1.3 yum具体操作

【查看软件包】

通过 yum list 命令可以罗列出当前---共有哪些软件包. 由于包的数⽬可能⾮常之多, 这⾥我们需要使⽤grep 命令只筛选出我们关注的包.。
例如:

bash 复制代码
# Centos
$ yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @base
# Ubuntu
$ apt search lrzsz
Sorting... Done
Full Text Search... Done
cutecom/focal 0.30.3-1build1 amd64
Graphical serial terminal, like minicom
lrzsz/focal,now 0.12.21-10 amd64 [installed]
Tools for zmodem/xmodem/ymodem file transfer
$ apt show lrzsz
Package: lrzsz
Version: 0.12.21-10
Priority: optional
Section: universe/comm
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Martin A. Godisch <[email protected]>
...

注意事项:

  • 软件包名称: 主版本号.次版本号.源程序发⾏号-软件包的发⾏号.主机平台.cpu架构.
  • "x86_64" 后缀表⽰64位系统的安装包, "i686" 后缀表⽰32位系统安装包. 选择包时要和系统匹配.
  • "el7" 表⽰操作系统发⾏版的版本. "el7" 表⽰的是 centos7/redhat7. "el6" 表⽰ centos6/redhat6.
  • 最后⼀列, base 表⽰的是 "软件源" 的名称, 类似于 "⼩⽶应⽤商店", "华为应⽤商店" 这样的概念.
  • Ubuntu 有上述有详细介绍
【安装软件】

通过 yum, 我们可以通过很简单的⼀条命令完成 gcc 的安装。

bash 复制代码
# Centos
$ sudo yum install -y lrzsz
# Ubuntu
$ sudo apt install -y lrzsz
  • yum/apt 会⾃动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装.

  • 出现 "complete" 字样或者中间未出现报错, 说明安装完成.
    注意事项:

  • 安装软件时由于需要向系统⽬录中写⼊内容, ⼀般需要 sudo 或者切到 root 账⼾下才能完成.

  • yum/apt安装软件只能⼀个装完了再装另⼀个. 正在yum/apt安装⼀个软件的过程中, 如果再尝试⽤yum/apt安装另外⼀个软件, yum/apt会报错.

  • 如果 yum / apt报错, 请⾃⾏百度.

【卸载软件】

仍然是⼀条命令:

bash 复制代码
Centos
比特就业课
sudo yum remove [-y] lrzsz
# Ubuntu
sudo apt remove [-y] lrzsz
【注意事项】

关于 yum / apt 的所有操作必须保证主机(虚拟机)⽹络畅通!!! 可以通过 ping 指令验证

bash 复制代码
ping www.baidu.com
# yum / apt也能离线安装,但是和我们当前⽆关,暂不关⼼。

1.4 安装源

  • Cetnos 安装源路径:
bash 复制代码
$ ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 676 Oct 8 20:47 CentOS-Base.repo # 标准源
-rw-r--r-- 1 root root 230 Aug 27 10:31 epel.repo # 扩展源
# 安装扩展源,⽅便课堂演⽰
# $ sudo yum install -y epel-release
  • Ubuntu 安装源路径:
bash 复制代码
$ cat /etc/apt/sources.list # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源
# ubuntu 安装扩展源,就结合未来具体场景

Linux命令行的有趣命令_linux有趣的命令-CSDN博客


二、vim

2.1 Linux编辑器-vim使⽤

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,⽽且还有⼀些新的特性在⾥⾯。例如语法加亮,可视化操作不仅可以在终端运⾏,也可以运⾏于x window、 mac os、 windows。我们课堂上,统⼀按照vim来进⾏讲解。

2.2 vim的基本概念

课堂上我们讲解vim的三种模式(其实有好多模式,⽬前掌握这3种即可),分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:

  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode

  • 插⼊模式(Insert mode)

只有在Insert mode下,才可以做⽂字输⼊,按ΓESC」键可回到命令⾏模式。该模式是我们后⾯⽤的最频繁的编辑模式。

  • 底行模式(last line mode)

⽂件保存或退出,也可以进⾏⽂件替换,找字符串,列出⾏号等操作。
在命令模式下,*shift+:* 即可进⼊该模式。要查看你的所有模式:打开 vim,底⾏模式直接输⼊:help vim-modes
我这⾥⼀共有12种模式:six BASIC modes和six ADDITIONAL modes。

2.3 vim的基本操作

  • 进⼊vim,在系统提⽰符号输⼊vim及⽂件名称后,就进⼊vim全屏幕编辑画⾯:

$ vim test.c
不过有⼀点要特别注意,就是你进⼊vim之后,是处于[正常模式],你要切换到[插⼊模式]才能够
输⼊⽂字。

  • 正常模式\]切换⾄\[插⼊模式

输⼊a
输⼊i
输⼊o

  • 插⼊模式\]切换⾄\[正常模式

⽬前处于[插⼊模式],就只能⼀直输⼊⽂字,如果发现输错了字,想⽤光标键往回移动,将该字删除,可以先按⼀下ΓESC」键转到[正常模式]再删除⽂字。当然,也可以直接删除。

  • 正常模式\]切换⾄\[末⾏模式

Γshift + ;」, 其实就是输⼊Γ:」

  • 退出vim及保存⽂件,在[正常模式]下,按⼀下Γ:」冒号键进⼊ΓLast line mode」,例如:

: w (保存当前⽂件)
: wq (输⼊Γwq」,存盘并退出vim)
: q! (输⼊q!,不存盘强制退出vim)

2.4 vim正常模式命令集

  • 插⼊模式
  1. 按Γi」切换进⼊插⼊模式Γinsert mode」,按"i"进⼊插⼊模式后是从光标当前位置开始输⼊⽂件;
  2. 按Γa」进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字;
  3. 按Γo」进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。
  • 从插⼊模式切换为命令模式
  1. 按ΓESC」键。
  • 移动光标
  1. vim可以直接⽤键盘上的光标来上下左右移动,但正规的vim是⽤⼩写英⽂字⺟Γh」、Γj」、
  2. Γk」、Γl」,分别控制光标左、下、上、右移⼀格
  3. 按ΓG」:移动到⽂章的最后
  4. 按Γ $ 」:移动到光标所在⾏的"⾏尾"
  5. 按Γ^」:移动到光标所在⾏的"⾏⾸"
  6. 按Γw」:光标跳到下个字的开头
  7. 按Γe」:光标跳到下个字的字尾
  8. 按Γb」:光标回到上个字的开头
  9. 按Γ#l」:光标移到该⾏的第#个位置,如:5l,56l
  10. 按[gg]:进⼊到⽂本开始
  11. 按[shift+g]:进⼊⽂本末端
  12. 按Γctrl」+Γb」:屏幕往"后"移动⼀页
  13. 按Γctrl」+Γf」:屏幕往"前"移动⼀页
  14. 按Γctrl」+Γu」:屏幕往"后"移动半页
  15. 按Γctrl」+Γd」:屏幕往"前"移动半页
  • 删除⽂字
  1. Γx」:每按⼀次,删除光标所在位置的⼀个字符
  2. Γ#x」:例如,Γ6x」表⽰删除光标所在位置的"后⾯(包含⾃⼰在内)"6个字符
  3. ΓX」:⼤写的X,每按⼀次,删除光标所在位置的"前⾯"⼀个字符
  4. Γ#X」:例如,Γ20X」表⽰删除光标所在位置的"前⾯"20个字符
  5. Γdd」:删除光标所在⾏
  6. Γ#dd」:从光标所在⾏开始删除#⾏
  • 复制
  1. Γyw」:将光标所在之处到字尾的字符复制到缓冲区中。
  2. Γ#yw」:复制#个字到缓冲区
  3. Γyy」:复制光标所在⾏到缓冲区。
  4. Γ#yy」:例如,Γ6yy」表⽰拷贝从光标所在的该⾏"往下数"6⾏⽂字。
  5. Γp」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须
  6. 与"p"配合才能完成复制与粘贴功能。
  • 替换
  1. Γr」:替换光标所在处的字符。
  1. ΓR」:替换光标所到之处的字符,直到按下ΓESC」键为⽌。
  • 撤销上⼀次操作
  1. Γu」:如果您误执⾏⼀个命令,可以⻢上按下Γu」,回到上⼀个操作。按多次"u"可以执⾏多次回复。
  2. Γctrl + r」: 撤销的恢复
  • 更改
  1. Γcw」:更改光标所在处的字到字尾处
  2. Γc#w」:例如,Γc3w」表⽰更改3个字
  • 跳⾄指定的⾏
  1. Γctrl」+Γg」列出光标所在⾏的⾏号。
  2. Γ#G」:例如,Γ15G」,表⽰移动光标⾄⽂章的第15⾏ ⾸。

2.5 vim末⾏模式命令集

在使⽤末⾏模式之前,请记住先按ΓESC」键确定您已经处于正常模式,再按Γ:」冒号即可进⼊末⾏模式。

  • 列出⾏号

Γset nu」: 输⼊Γset nu」后,会在⽂件中的每⼀⾏前⾯列出⾏号。

  • 跳到⽂件中的某⼀⾏
  1. Γ#」:Γ#」号表⽰⼀个数字,在冒号后输⼊⼀个数字,再按回车键就会跳到该⾏了,如输⼊数字15,再回车,就会跳到⽂章的第15⾏。
  • 查找字符
  1. Γ/关键字」: 先按Γ/」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可以
  2. ⼀直按Γn」会往后寻找到您要的关键字为⽌。
  3. Γ?关键字」:先按Γ?」键,再输⼊您想寻找的字符,如果第⼀次找的关键字不是您想要的,可
  4. 以⼀直按Γn」会往前寻找到您要的关键字为⽌。
  5. 问题:∕ 和 ?查找有和区别?操作实验⼀下
  • 保存⽂件
  1. Γw」: 在冒号输⼊字⺟Γw」就可以将⽂件保存起来
  • 离开vim
  1. Γq」:按Γq」就是退出,如果⽆法离开vim,可以在Γq」后跟⼀个Γ!」强制离开vim。
  2. Γwq」:⼀般建议离开时,搭配Γw」⼀起使⽤,这样在退出的时候还可以保存⽂件。

2.6 vim操作总结

  • 三种模式
  1. 正常模式
  2. 插⼊模式
  1. 底⾏模式
    我们⼀共有12种总模式,⼤家下来可以研究⼀下
  • vim操作
  1. 打开,关闭,查看,查询,插⼊,删除,替换,撤销,复制等等操作。

2.7 简单vim配置[了解]

  • 配置⽂件的位置
  1. 在⽬录 /etc/ 下⾯,有个名为vimrc的⽂件,这是系统中公共的vim配置⽂件,对所有⽤⼾都有效。
  2. ⽽在每个⽤⼾的主⽬录下,都可以⾃⼰建⽴私有的配置⽂件,命名为:".vimrc"。例如,/root⽬录下,通常已经存在⼀个.vimrc⽂件,如果不存在,则创建之。
  3. 切换⽤⼾成为⾃⼰执⾏ su ,进⼊⾃⼰的主⼯作⽬录,执⾏ cd ~
  4. 打开⾃⼰⽬录下的.vimrc⽂件,执⾏ vim .vimrc
  • 常⽤配置选项,⽤来测试
  1. 设置语法⾼亮: syntax on
  2. 显⽰⾏号: set nu
  3. 设置缩进的空格数为4: set shiftwidth=4
  • 使⽤插件

要配置好看的vim,原⽣的配置可能功能不全,可以选择安装插件来完善配置,保证⽤⼾是你要配置的
⽤⼾,接下来:

  1. 安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
  2. 在~/.vimrc 中添加: let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
  3. 安装⽂件浏览器和窗⼝管理器插件: WinManager
  4. 下载winmanager.zip,2.X版本以上的
  5. 解压winmanager.zip,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
  6. 在~/.vimrc 中添加 let g:winManagerWindowLayout='FileExplorer|TagList nmap wm :WMToggle<cr>
  7. 然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输⼊"wm", 你将看到上图的效果。更具体移步:点我, 其他⼿册,请执⾏ vimtutor 命令。

参考资料:

Vim从入门到牛逼(Vim from zero to hero)

完------


Running Up That Hill

And if I only could

I'd make a deal with God

And I'd get him to swap ours places

至此结束------

我是云边有个稻草人

期待与你的下一次相遇

相关推荐
是垚不是土2 分钟前
Kolla-Ansible搭建与扩容OpenStack私有云平台
linux·运维·服务器·云计算·ansible·openstack
五花肉村长11 分钟前
Linux-Ext系列文件系统
linux·运维·服务器·c++·笔记·visual studio
门前云梦29 分钟前
VirtualBox中安装并运行ubuntu-24.04.2-desktop虚拟机
linux·ubuntu·虚拟机·virtualbox
FrozenLove_G33 分钟前
硬件中断请求号和lspci命令查看到的device id有关系吗?
linux·微型计算机组成结构·内核学习
我想吃余1 小时前
【Linux修炼手册】Linux开发工具的使用(一):yum与vim
linux·运维·学习·vim
cyy2981 小时前
android 记录应用内存
android·linux·运维
言之。2 小时前
基于 Ubuntu 24.04 部署 WebDAV
linux·运维·ubuntu
前进的程序员3 小时前
ARM 芯片上移植 Ubuntu 操作系统详细步骤
linux·arm开发·ubuntu
程序员JerrySUN3 小时前
驱动开发硬核特训 · Day 30(下篇): 深入解析 lm48100q I2C 音频编解码器驱动模型(基于 i.MX8MP)
linux·驱动开发·架构·音视频
Jtti3 小时前
CentOS服务器中如何解决内存泄漏问题?
linux·服务器·centos