ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

一文吃透 Linux 软件安装与 Vim 编辑器(含 Ubuntu/CentOS 实操)

一文吃透 Linux 软件安装与 Vim 编辑器(含 Ubuntu/CentOS 实操) 目录一、在Linux中安装软件包的三种做法1.1 包管理器介绍1.2 Linux的软件生态问题二、为什么需要国内镜像源国内主流开源镜像站汇总三、yum与apt3.1 Ubuntu3.2 安装源3.3 清理缓存四、编辑器vim4.1 vim的基本概念4.2 vim正常模式命令集4.3 末行模式下的操作五、两个使用技巧和问题解决5.1 两个技巧5.2 常遇到的两个问题六、vim的配置6.1 配置文件的位置本文系统介绍了Linux下软件包安装的三种方式重点讲解基于yum/apt的包管理器使用涵盖Ubuntu与CentOS的命令差异、国内镜像源优势及配置方法。同时详细解析vim编辑器的三模式操作、常用命令与末行模式功能并提供实用技巧与常见问题如.swp文件处理解决方案。最后介绍vim配置文件位置与个性化设置帮助用户高效完成系统管理与开发任务。一、在Linux中安装软件包的三种做法源代码安装rpm包类似于windows中的安装包yum / apt包管理器我们重点介绍第三种安装方式1.1 包管理器介绍Linux 安装软件不像 Windows 下载 exe 双击安装。包管理器 自动下载软件 自动解决依赖 安装 / 卸载 / 升级本质也为客户端程序1.2 Linux的软件生态问题首先如何评估一个操作系统的好坏最重要的就是看这款操作系统的生态是否完善完善的生态系统可以被更多人使用那么如何确保更多人去使用呢显然是不断地在免费社区提供软件且提供云服务器供我们下载这种好处与开源类似。依赖问题多数软件需要依赖其他库文件如libc.so、ssl.so才能运行。但是包管理器会自动识别并下载这些依赖避免 “缺少某某文件” 的报错。因此使用yum / apt相当方便二、为什么需要国内镜像源Linux默认的软件源多位于国外的服务器国内使用时下载慢而且容易中断而如果在国内有源的话则会避免这样的问题发生常见的源由国内的高校以及企业维护能够大幅提升下载速度。国内主流开源镜像站汇总镜像站名称官网地址维护方适用场景备注清华大学 TUNA 镜像站https://mirrors.tuna.tsinghua.edu.cn/清华大学 TUNA 协会资源最全教育网访问速度极佳Ubuntu/Debian/PyPI/Anaconda 全覆盖学习虚拟机首选中国科学技术大学镜像站https://mirrors.ustc.edu.cn/中科大多线路智能解析电信 / 联通 / 移动 / 教育网国内老牌稳定镜像源阿里云镜像站https://mirrors.aliyun.com/阿里云云服务器首选阿里云 ECS 内网访问极快适合云主机换 apt 源腾讯软件源https://mirrors.cloud.tencent.com/腾讯云腾讯云服务器访问最优主流 Linux 发行版、python/npm 源齐全华为云开源镜像站https://mirrors.huaweicloud.com/home华为云华为云服务器优先支持 Ubuntu、CentOS、OpenEuler网易 163 镜像站http://mirrors.163.com/网易国内公网老牌镜像适合本地家庭宽带Ubuntu 源稳定北京大学镜像站https://mirrors.pku.edu.cn/北京大学教育网资源丰富高校内网推荐三、yum与aptapt 是 Debian/Ubuntu 系列包管理器yum 是 CentOS7 及更早 RHEL 系列包管理器CentOS8 改用 dnf示例查看lrzszLinux与Windows文件传输工具这里我是ubuntu系统所以该示例更详细ubuntuVM-0-4-ubuntu:/$ apt search lrzsz #搜索名为lrzsz的包 Sorting... Done Full Text Search... Done cutecom/jammy 0.30.3-1build1 amd64 Graphical serial terminal, like minicom lrzsz/jammy,now 0.12.21-10 amd64 [installed] Tools for zmodem/xmodem/ymodem file transfer ubuntuVM-0-4-ubuntu:/$ apt show lrzsz #显示lrzsz的详细信息 Package: lrzsz Version: 0.12.21-10 Priority: optional Section: universe/comm Origin: Ubuntu Maintainer: Ubuntu Developers ubuntu-devel-discusslists.ubuntu.com Original-Maintainer: Martin A. Godisch godischdebian.org Bugs: https://bugs.launchpad.net/ubuntu/filebug Installed-Size: 531 kB Depends: libc6 ( 2.15) Suggests: minicom Homepage: https://ohse.de/uwe/software/lrzsz.html Download-Size: 74.8 kB APT-Manual-Installed: yes APT-Sources: http://mirrors.tencentyun.com/ubuntu jammy/universe amd64 Packages Description: Tools for zmodem/xmodem/ymodem file transfer Lrzsz is a cosmetically modified zmodem/ymodem/xmodem package built from the public-domain version of Chuck Forsbergs rzsz package. . These programs use error correcting protocols ({z,x,y}modem) to send (sz, sx, sb) and receive (rz, rx, rb) files over a dial-in serial port from a variety of programs running under various operating systems. ubuntuVM-0-4-ubuntu:/$3.1 Ubuntu搜索apt search 包名 / apt show 包名安装sudo apt install [-y] 你的包名字卸载sudo apt remove [-y] 包名centos搜索yum list | grep 包名安装sudo yum install [-y] 包名卸载sudo yum remove [-y] 包名下面针对ubuntu进行介绍安装软件与包需要root权限或通过root短暂提权-y表示自动确认安装操作场景Ubuntu命令更新软件列表sudo apt update安装指定软件sudo apt install -y 软件名安装扩展源sudo add-apt-repository ppa:xxx列出已安装文件apt list --installed3.2 安装源ubuntu安装源路径#标准源 ubuntuVM-0-4-ubuntu:/$ cat /etc/apt/sources.list # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://mirrors.tencentyun.com/ubuntu jammy main restricted # deb-src http://mirrors.tencentyun.com/ubuntu jammy main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://mirrors.tencentyun.com/ubuntu jammy-updates main restricted # deb-src http://mirrors.tencentyun.com/ubuntu jammy-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://mirrors.tencentyun.com/ubuntu jammy universe # deb-src http://mirrors.tencentyun.com/ubuntu jammy universe deb http://mirrors.tencentyun.com/ubuntu jammy-updates universe # deb-src http://mirrors.tencentyun.com/ubuntu jammy-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://mirrors.tencentyun.com/ubuntu jammy multiverse # deb-src http://mirrors.tencentyun.com/ubuntu jammy multiverse deb http://mirrors.tencentyun.com/ubuntu jammy-updates multiverse # deb-src http://mirrors.tencentyun.com/ubuntu jammy-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. #deb http://mirrors.tencentyun.com/ubuntu jammy-backports main restricted universe multiverse # deb-src http://mirrors.tencentyun.com/ubuntu jammy-backports main restricted universe multiverse deb http://mirrors.tencentyun.com/ubuntu jammy-security main restricted # deb-src http://mirrors.tencentyun.com/ubuntu jammy-security main restricted deb http://mirrors.tencentyun.com/ubuntu jammy-security universe # deb-src http://mirrors.tencentyun.com/ubuntu jammy-security universe deb http://mirrors.tencentyun.com/ubuntu jammy-security multiverse # deb-src http://mirrors.tencentyun.com/ubuntu jammy-security multiverse #扩展源 ubuntuVM-0-4-ubuntu:/$ ls -la /etc/apt/sources.list.d/ total 8 drwxr-xr-x 2 root root 4096 Apr 8 2022 . drwxr-xr-x 8 root root 4096 May 18 2022 .. ubuntuVM-0-4-ubuntu:/$ ll /etc/apt/sources.list.d/扩展源的安装按照实际需求来进行软件源的更新即用新的配置文件替换系统的但云服务器的使用者不用进行软件源的更新因为供应商会进行这个更新因此只需要简单了解即可如果想要保留老的文件可以使用sudo mv进行备份否则直接覆盖3.3 清理缓存apt 产生的缓存包需要定期清理apt 下载的 deb 安装包会缓存到/var/cache/apt/archives/长期不清理会占用磁盘空间。 更新操作本身不会自动删掉这些安装包。清理相关命令# 自动卸载不再需要的依赖包升级后残留依赖最常用 sudo apt autoremove # 清理所有已经下载的deb缓存包 sudo apt clean # 只清理旧版本deb包保留当前版本缓存 sudo apt autoclean四、编辑器vim核心功能只能用来写代码或者更改配置文件vim时vi的增强版是一个具有多种模式的编辑器。4.1 vim的基本概念对于vim我们目前只掌握三个模式命令模式只能移动光标、复制、删除、撤销执行各类快捷键命令不能直接输入文字编辑插入模式自由输入、修改文本写内容末行模式用来执行保存、退出、设置、查找等文件操作。三种模式的切换首先输入vim 文件名如vim text.c后进入的默认界面为命令模式图左在命令模式下按 i 自动切换为插入模式左下角有一个insert如果想退回到命令模式按esc。而如果想进入末行模式需要先退回命令模式然后按下shift与分号即输入冒号需要注意是英文的如下同样按esc回退到命令模式。而退出vim:w保存当前文件:wq存盘并退出 vim:q!不存盘强制退出 vim)命令模式下输入ZZ也可退出4.2 vim正常模式命令集按键作用i光标不动进入插入模式a光标后移一进入插入模式o下新开一行进入插入模式示例G: 命令模式下输入数字G则直接跳转到对应行如我现在输入到了6G移动光标这里只做介绍箭头也可按键作用h光标左移一格j光标下移一格k光标上移一格l光标右移一格行内移动按键作用$移动到光标所在行的行尾^移动到光标所在行的行首#l光标向右移动#位如5l以单词位单位移动按键作用w光标跳到下一个单词的开头e光标跳到下一个单词的词尾b光标回到上一个单词的开头以页为单位按键作用Ctrl f屏幕向 前下翻一页Ctrl b屏幕向 后上翻一页Ctrl d屏幕向 前下翻半页Ctrl u屏幕向 后上翻半页删除按键作用x删除光标所在位置的一个字符#x删除光标所在位置后面含自身共 # 个字符如6xX删除光标所在位置前面的一个字符#X删除光标所在位置前面共 # 个字符如20Xdd删除光标所在整行#dd从光标所在行开始向下删除 # 行如3dddw删除当前单词复制与粘贴按键作用yw从光标所在处复制到字尾到缓冲区#yw复制 # 个单词到缓冲区如3ywyy复制光标当前行#yy从光标所在行开始向下复制 # 行如6yyp将缓冲区内容粘贴到光标位置复制命令需配合p生效替换按键作用r替换光标所在处的单个字符R连续替换光标所到之处的字符按Esc结束撤销与恢复按键作用u撤销上一次操作按多次可连续撤销Ctrl r恢复撤销重做更改按键作用cw删除当前光标到单词末尾的内容并且自动进入插入模式等待你输入新文字c#w更改 # 个单词如c3w跳转指定行按键作用Ctrl g列出光标所在行的行号#G跳转到文章第 # 行行首如15G进入视图模式可以批量选择使用方向键控制可以用于批量注释但是在行末尾加不了4.3 末行模式下的操作查找命令作用/关键词向前向下查找关键词高亮匹配项?关键词向后向上查找关键词n跳到下一个匹配项N跳到上一个匹配项替换命令作用:%s/被替换内容/新内容/g全文替换所有匹配项补充:s/old/new/g只替换当前行:1,10s/old/new/g只替换第 1~10 行末尾加g 替换一行内所有匹配不加g只替换每行第一个匹配行号设置命令作用:set nu显示行号number:set nonu隐藏行号nonu nonumber临时执行shell命令凡是在bash中执行的在底行中都能用命令作用:!command在 vim 中临时执行 bash 命令执行完按任意键回到 vim例:!ls列出当前目录文件不用退出 vim分屏操作命令作用:vs 文件名垂直分屏打开新文件Ctrl ww在多个分屏之间切换光标保存与退出命令作用:w保存文件:q退出未修改才能退出:wq保存并退出:w!强制保存:q!强制退出放弃修改:wq!强制保存并退出五、两个使用技巧和问题解决5.1 两个技巧ubuntuVM-0-4-ubuntu:~$ vim test.c 5 #输入这个会打开文件后直接跳转到第五行ubuntuVM-0-4-ubuntu:~$ vim test.c ubuntuVM-0-4-ubuntu:~$ !v #会直接执行上一条以v开头的指令比如现在执行的这个指令 vim test.c5.2 常遇到的两个问题异常退出时有时会出现一个隐藏文件如test.c.swp叫做交换文件是 vim 的临时备份文件。出现这个提示就两种情况同一个文件已经有另一个 vim 窗口正在打开编辑多人 / 多终端同时编辑同一个文件防止互相覆盖上次 vim 异常崩溃、强制断开 ssh、直接关闭终端vim 没正常退出.swp残留留在目录里如果正常退出这个文件会自动删除掉异常退出的话这个文件会保留可以靠这个文件恢复。看最后一行的绿色的直接输入R就行意思是恢复也有其他的选项给用户进行赋权添加至白名单因为新建的普通用户可能不能直接sudo步骤如下普通用户下不能执行该命令在下方会显示permission deniedubuntuVM-0-4-ubuntu:~$ vim /etc/sudoers因此要切换到root用户同样执行上述命令后进入如下页面下滑找到43行一样的文本其中第44行就是当前的白名单那么只需要在这一行的下面复制粘贴44行然后把root改为你想要赋权的名字即可那么对于不同的发行版不同版本的 Ubuntu 自带模板内容不一样上面我举得是新版的例子也有部分老版会有这样的显示大概在100行后只需要在100行后进行同样的操作即可六、vim的配置6.1 配置文件的位置目录 /etc/下面有个名为vimrc的隐藏文件 这是系统中公共的vim配置文件对所有用户都有效。每个用户可以在自家目录~/.vimrc配置私有 vim 设置仅当前用户生效因此可以现在家目录创建一个 .vimrc 在该文件中输入指令即生效ubuntuVM-0-4-ubuntu:~$ cd ~ #回到家目录 ubuntuVM-0-4-ubuntu:~$ touch .vimrc #创建新文件 ubuntuVM-0-4-ubuntu:~$ vim .vimrc #进入该文件 ubuntuVM-0-4-ubuntu:~$ vim test.c #用配置好的vim执行 ubuntuVM-0-4-ubuntu:~$进入 .vimrc中显示这里我已经配置好了一部分配置后用新的vim打开我们的测试文件文件就自动启用了我们的配置比如行号这里对于CentOS有一个现成的配置所以我把系统重装为centos7.6了只需要在bash输入curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh bash ./install.sh然后输入root密码即可另外如果像我之前是Ubuntu系统则可以访问https://gitee.com/keeferwu/vimplus进行安装不过对vim的版本有要求需要在9.2以上应该今天的全部内容就是这些感谢你能够看到这里
返回列表