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

Linux 第六讲 --- 工具篇(一)yum/apt与vim

前言:

经过前五讲对Linux基础指令与权限系统的系统学习,相信你已经能在命令行中自如地穿梭于文件丛林,精准调配权限密钥。但真正的Linux玩家,绝不会止步于基础操作的重复劳作。

从今天起,我们将打开Linux的"瑞士军刀"套装——如果说基础命令是生存工具,那么包管理工具与文本编辑器则是工程师的生产力倍增器。yum/apt将赋予你一键部署软件生态的魔法,而vim这把双刃剑,在淬炼出指尖飞舞的编辑艺术后,将成为你征战代码战场最忠实的伙伴。准备好告别低效的软件安装方式,挣脱图形化编辑器的舒适区,这场效率革命,就从此刻开始。


目录

前言:

一、Linux软件包管理器 - yum/apt

1.1  Linux的几种安装方式

1.21 认识yum

1.3 yum/apt的使用

1.4 啥是yum源

1.41 Linux的软件生态

1.5Linux与Windows的文件交流

 1.51rzsz软件

1.52 工具的安装

1.53 使用技巧 

二、Linux文本编辑器 - vim

2.1vim的介绍

2.2vim的安装

2.3vim的模式介绍

2.4命令模式指令使用

2.41 移动光标

2.42  删除

2.43 复制

2.44  注释

 2.45 其他常用命令

2.5底行模式指令

2.6 vim的配置

常见的配置项:

Vim 常用配置选项速查表

总结:


 

一、Linux软件包管理器 - yum/apt

1.1  Linux的几种安装方式

在Linux下安装软件的方法大概有以下三种:
1)下载到程序的源代码,自行进行编译,得到可执行程序。
2)获取rpm安装包,通过rpm命令进行安装。(未解决软件的依赖关系)
3)通过yum/apt进行安装软件。(常用)

前面的两种安装方式特别麻烦,且对新手来说容易出错

1.21 认识yum

    yum是一个在Fedora、RedHat以及CentOS中的前端软件包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    说白了,yum就是一个Linux下的一个软件商城。 

    1.3 yum/apt的使用

    yum
    主要使用发行版:Red Hat及其衍生版,如CentOS、Fedora(在Fedora 22及以后版本被DNF取代)
    功能:YUM是一个基于RPM的包管理器,能够自动下载、安装、更新和删除软件包,同时处理依赖关系
    常用命令:

    • sudo yum install package_name:安装指定的软件包及其依赖项
    • sudo yum groupinstall group_name:安装指定的软件包组
    • sudo yum remove package_name:卸载指定的软件包,但保留其配置文件
    • sudo yum check-update:检查所有可更新的软件包
    • sudo yum update:更新所有已安装的软件包到最新版本
    • sudo yum list:列出所有可安装和更新的软件包
    • sudo yum search keyword:根据关键字搜索软件包

    apt
    主要使用发行版:Debian及其衍生版,如Ubuntu、Linux Mint等
    功能:支持从软件仓库自动下载、安装、更新和卸载软件包,同时自动处理软件包之间的依赖关系
    常用命令:

    1. sudo apt update:更新软件包列表,以便可以安装最新版本的软件包及其依赖项
    2. sudo apt install package_name:安装名为package_name的软件包及其依赖项
    3. sudo apt remove package_name:删除名为package_name的软件包,但保留其配置文件
    4. sudo apt purge package_name:删除名为package_name的软件包及其配置文件
    5. sudo apt upgrade:升级所有已安装的软件包到最新版本,同时解决依赖关系
    6. sudo apt autoremove:删除不再需要的软件包和依赖项
    7. sudo apt search <keyword>:在软件仓库中搜索包含指定关键字的软件包
    8. apt list --installed:列出所有已安装的软件包

    注意事项:
    1)安装软件时由于需要向系统目录中写入内容,一般需要sudo或者切换到root账户下才能完成。
    2)yum安装软件只能一个装完了再装另一个,正在使用yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错。

    1.4 啥是yum源

    1.41 Linux的软件生态

    我们知道,在手机/ipad/笔记本中,当我们想要下载一个软件的时候,我们会去应用商店,软件管家这些客户端app去下载,这些软件商城也是要在对应的操作系统中跑的,然后他们会通过网络与后面的服务器进行链接,从而获取到要下载的安装包等,而在linux中,yum就类似于这个应用商店,这个yum也是要在一个操作系统上跑的,比如centos。然后我们就可以去下载了

    那么现在问题来了

    • 操作系统怎么知道去哪里下载?
    • 公司,个人组织出于什么目的,或者动机给我们提供给软件服务?

    我们先来看第二个问题

    其实这些给我们提供软件服务的都是一些职业程序员

    这里就要谈到Linux的生态:开源

    1. 开源,是一种商业战略
    2. 开源,有时候也挺贵的

    当我们对一个操作系统进行选型的时候,我们作为使用者要考虑的是生态是否是良好的。

    站在OS的设计者和推动者,他们是提供者,它们要让更多的人使用它们的服务器,那就要使生态更加完善,让别人认为它的操作系统更好。

    但是提供操作系统的人,他们不可能为爱发电,因为服务器都是要钱的。但是对于使用者而言,他们不希望这样的组织,社区倒闭,所以就会有一些大公司的捐助。有了捐助,操作系统才能更好的发展。

    所以开源可以使得生态越来越好,这就像一种商业战略。开源,有时候也挺贵的意思就是我们虽然使用了它们免费的技术,但是我们也在无形中付出了代价。

    我们再来看第一个问题

    操作系统使用apt/yum的安装软件是不是需要找到一个又一个的软件包,而软件包肯定是存在某些特定的服务器上的。

    所以我们的操作系统要去特定的服务器上下载对应的软件包,而一个独立的服务器是如何知道另外的服务器呢?那我们是不是需要一个地址找到对应服务器,所以在操作系统当中我们将这些地址称为yum源/软件源。

    1.5Linux与Windows的文件交流

     1.51rzsz软件

    这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件

    安装完毕之后可以通过拖拽的方式将文件上传过去

    1.52 工具的安装

    我们可以先来查看一下这款软件在我们的系统当中有没有。

    yum list | grep lrzsz

    这是在Ubuntu环境下的结果 

    如果没有可以安装一下

    #CentOS
    sudo yum install -y lrzsz
    #ubuntu
    sudo apt-get install lrzsz

    1.53 使用技巧 

    sz指令
    作用:sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。

    常用参数

    • -a 以文本方式传输(ascii)
    • -b 以二进制方式传输(binary)
    • -e 对控制字符转义(escape),这可以保证文件传输正确。

    如果能够确定所传输的文件是文本格式的,使用 sz -a files。

    如果是二进制文件,使用 sz -be files

    rz指令

    作用:从本地电脑上传文件到Linux服务器,可以使用该命令。

    • -b 以二进制方式,默认为文本方式。
    • -e 对所有控制字符转义。

    如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:

    rz -be

    此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。上传的速度取决于当时网络的状况。  


    二、Linux文本编辑器 - vim

    2.1vim的介绍

    vim是一个多模式的文本编辑器,在我们做开发的时候,解决我们编写代码的问题。

    它有很多的模式,不过我们暂时先只考虑这四种模式

    • 命令模式
    • 插入模式
    • 底行模式
    • 替换模式

    2.2vim的安装

    如果你的服务器上没有安装vim,可以按照上面的安装方法安装一下。

    查看是否安装了vim

    安装vim

    #Ubuntu
    1 sudo apt install vim
    #CentOS
    2 sudo yum install -y vim

    2.3vim的模式介绍

    我们这里主要介绍vim最常用的三种模式和一种好用的模式:命令模式、插入模式、底行模式以及替换模式。

    1、命令模式
    在命令模式下,我们可以控制屏幕光标的移动,字符、字或行的删除,复制粘贴,剪贴等操作。在我们刚进入vim的时候,就是命令模式。
    2、插入模式
    只有在插入模式下才能进行文字输入,该模式是我们使用最频繁的编辑模式。

    要进入插入模式,你可以从命令模式开始,然后使用i(在当前光标位置插入)、a(在当前光标位置的下一个字符开始插入)、o(在当前光标所在行的下一行开始新行并插入)等命令之一
    3、底行模式
    在底行模式下,我们可以将文件保存或退出,也可以进行查找字符串等操作。在底行模式下我们还可以直接输入vim help-modes查看当前vim的所有模式。

    在命令行模式下,你可以输入以冒号(:)开头的命令。要从普通模式进入命令行模式,只需输入冒号(:)即可。执行完命令后,Vim通常会返回到普通模式

    4、替换模式

    在替换模式下,我们的输入字符会直接替换掉光标所在位置的字符。

    要进入插入模式,你可以从命令模式开始,然后使用r即可

    注意:

    1.一般插入模式和底行模式是不能互相直接进入的,一般都要经过命令模式来跳转。

    2.如果不清楚当前在哪种模式下,无脑ESC进入普通模式就行。

    2.4命令模式指令使用

    2.41 移动光标

    1. vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母h,j,k,l,分别控制光标左、下、上、右移一格
    2. G:移动到文章的最后、
    3. #G:移动到第#行
    4. gg:进入到文本开始
    5. $ :移动到光标所在行的“行尾”
    6. ^:移动到光标所在行的“行首”
    7. w:光标跳到下个字的开头
    8. e:光标跳到下个字的字尾
    9. b:光标回到上个字的开头
    10. n+l:光标移到该行的第n个位置
    11. ctrl+b:屏幕往“后”移动一页
    12. ctrl+f:屏幕往“前”移动一页
    13. ctrl+u:屏幕往“后”移动半页
    14. ctrl+d:屏幕往“前”移动半页

    2.42  删除

    1. x:每按一次,删除光标所在位置的一个字符
    2. n+x:例如,6x表示删除光标所在位置的“后面(包含自己在内)”6个字符
    3. X:大写的X,每按一次,删除光标所在位置的“前面”一个字符
    4. n+X:例如,20 X表示删除光标所在位置的“前面”20个字符
    5. dd:删除光标所在行
    6. n+dd:从光标所在行开始删除n行

    2.43 复制

    1. y+w:将光标所在之处到字尾的字符复制到缓冲区中

    2. n+y+w:复制#个字到缓冲区

    3. yy:复制光标所在行到缓冲区

    4. n+yy:例如,6yy表示拷贝从光标所在的该行“往下数”6行文字

    5. p:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能

    6. n+p:复制n次

    2.44  注释

    1. 注释指定行
    2.  在命令模式下,先将光标移动到需要注释的开始,按Ctrl + v,在用上下键(通常用j、k)调整需要注释的所有行(如果需要注释的行太多也可以配合#G快速移动光标),输入I(大写i),输入注释符//,最后快速按ESC两次。
    3. 取消指定行的注释
    4. 在命令模式下,先将光标移动到需要取消注释的开始,按Ctrl + v,再配合j、l键选中需要取消的注释符,按d就删除了选中的注释符。 

     2.45 其他常用命令

    u : 撤销之前的操作

    ctrl + r : 撤销之前的撤销

    shift + ~ : 大小写转换

    (n)r : 对光标字符开始的n个字符进行批量化替换,替换为新输入的字符,n默认为1

    2.5底行模式指令

    在使用底行模式之前,请记住先按「ESC」键确定您已经处于命令模式,再按“shift+;”即可进入底行模式。

    注意:底行指令的执行,必须在底行模式下,以“:”开头

    1.列出行号
    「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号

    2.跳到文件中的某一行
    「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行

    3.查找字符

    「/  关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止
    「? 关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止


    4.保存文件
    「w」: 在冒号输入字母「w」就可以将文件保存起来

    5.离开vim

    「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim
    「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件


    6.执行外部命令后返回vim
    在 Vim 的底行模式中,! 符号有一个特殊的作用,它允许你执行外部命令。当你以 ! 开头输入一个命令时,Vim 会退出到 shell 环境中执行这个命令,并在命令执行完毕后返回到 Vim(最常见的是与man手册使用)。这个功能允许你直接从 Vim 内部调用系统命令,比如查看文件、搜索文本、编译程序等

    7.分屏

    在底行模式下输入:vs文件名,Vim 会在当前窗口的右侧(或左侧,取决于你的 Vim 配置和当前分屏情况)垂直地打开一个新窗口,并尝试加载指定的文件名
    Ctrl+w :在分屏之间切换光标
    wq:保存并退出当前分屏

    2.6 vim的配置

    Vim的基础配置主要涉及对其配置文件.vimrc的编辑,以实现对Vim编辑器的个性化设置。

    在目录/etc/vim/下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。但是一般不推荐直接对所有的用户一起配置,最好是在个人账号下配置。


    在Linux系统中,Vim的配置文件通常位于用户的家目录下,文件名为.vimrc。使用命令vim ~/.vimrc打开(或创建).vimrc文件进行编辑,因为这里配置的文件位于用户的家目录下,所以只对当前用户有效。
    进入插入模式(按i键),在.vimrc文件中添加所需的配置选项
    设置完成后,按下Esc键退出插入模式,然后输入:wq(表示保存并退出)并回车,以保存对.vimrc文件的更改

    常见的配置项:

    Vim 常用配置选项速查表

    类别配置项命令/示例说明
    基础设置显示行号set number显示绝对行号
    相对行号set relativenumber显示相对行号(便于跳转)
    语法高亮syntax enable启用语法高亮
    文件类型检测filetype plugin indent on根据文件类型加载插件和缩进规则
    搜索与替换高亮搜索结果set hlsearch高亮所有匹配项
    实时搜索set incsearch输入时实时显示匹配结果
    智能大小写set ignorecase
    set smartcase
    搜索默认忽略大小写,含大写时区分
    缩进与制表符自动缩进set autoindent
    set smartindent
    继承上一行缩进,支持智能缩进(如代码块)
    Tab 转空格set expandtab将 Tab 转换为空格
    缩进宽度set tabstop=4
    set shiftwidth=4
    Tab 显示为4空格,自动缩进用4空格
    界面优化高亮当前行/列set cursorline
    set cursorcolumn
    高亮光标所在行或列
    滚动边界set scrolloff=5滚动时保留上下5行上下文
    状态栏显示set laststatus=2
    set ruler
    始终显示状态栏及光标位置(行:列)
    鼠标支持set mouse=a启用鼠标操作(滚动、选择等)
    文件与编码默认编码set encoding=utf-8设置默认编码为 UTF-8
    禁用备份文件set nobackup
    set noswapfile
    不生成备份文件(如 file~ 或 .swp
    快捷键映射自定义 Leader 键let mapleader = ","将 Leader 键设为逗号
    快速保存/退出nnoremap <Leader>w :w<CR>
    nnoremap <Leader>q :q<CR>
    按 ,w 保存,,q 退出
    分屏操作nnoremap <Leader>v :vsplit<CR>
    nnoremap <Leader>s :split<CR>
    垂直/水平分屏
    插件管理Vim-Plug 插件管理器call plug#begin('~/.vim/plugged')
    Plug 'preservim/nerdtree'
    call plug#end()
    插件安装示例(运行 :PlugInstall 安装)
    主题与外观颜色主题colorscheme desert使用 desert 主题
    真彩色支持set termguicolors启用终端真彩色(需终端支持)

    懒人配置:

                   大家直接到gitee,搜索“Vim ForCpp”上面有专门针对Centos7的懒人配置方案,很简单。 


    总结:

    通过本讲对yum/aptvim的探索,我们撕开了Linux高效运维的第一层帷幕——工具的本质是思维的延伸

    记住,工具的价值不在其本身,而在与如何被人类使用。下一站,我们将深入更多核心工具(如gcc/g++,make),继续用代码编织Linux的无限可能。我们下期见。

    相关文章:

  1. 一个linux系统电脑,一个windows电脑,怎么实现某一个文件夹共享
  2. 部署企业网站内部导航 Team-Nav 2.0
  3. MCAL学习(1)——AutoSAR
  4. OpenGL-ES 学习(12) ---- GPU 系统结构
  5. RAG工程-基于LangChain 实现 Advanced RAG(预检索-查询优化)(上)
  6. 类和对象(拷贝构造和运算符重载)下
  7. 脑机接口技术:开启人类与机器的全新交互时代
  8. jupyter notebook汉化教程
  9. 【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息
  10. SIEMENS PLC程序代码 赋值 + 判断
  11. 操作系统(1)多线程
  12. CMake管理外部依赖的模块
  13. 极大电视 0.0.5.2| 基于Web的电视直播应用,提供高清、流畅的央视频道和各大卫视直播,完全免费无广告
  14. C# 方法的结构与执行详解
  15. GD32F407单片机开发入门(二十五)HC-SR04超声波模块测距实战含源码
  16. [计算机科学#7]:CPU的三阶段,取指令、解码、执行
  17. 2025五一杯数学建模B题:矿山数据处理问题,详细问题分析,思路模型
  18. 实习入职的总结
  19. RPG_5.角色动画
  20. 如何拿奖蓝桥杯
  21. 天津航空一航班盘旋14圈才降落,客服:因天气影响
  22. 中国固体火箭发动机领域杰出专家赵殿礼逝世,享年92岁
  23. “五一”假期首日国铁郑州局迎大客流,预计发送旅客逾95万人次
  24. “80后”杨占旭已任辽宁阜新市副市长,曾任辽宁石油化工大学副校长
  25. 从孔雀尾巴到蒙娜丽莎,一个鸟类学博士眼中的“美”
  26. 媒体:黑话烂梗包围小学生,“有话好好说”很难吗?