5.Linux系统的vim与软件包管理
5.1 Linux系统的vim编辑器
5.1.1 vim编辑器的概述
- vim编辑器的简介
1.vim是什么?
- vim是一个类似vi的文本编辑器,它在vi的基础上增加了很多新特性
- vim是vi发展出来的一个文本编辑器,编译及错误跳转等方便编译的功能丰富,在实际应用中较为广泛
2.为什么要学vim?
- 所有的Linux系统都会内建vi文本编辑器,其他的文本编辑器不一定存在
- 很多软件的编辑接口都会主动调用vi
- vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序开发
5.1.2 vim的三种模式详解
- vim有哪三种模式
1.一般模式
2.编辑模式
3.命令模式
- vim的一般模式
1.一般模式的作用
- 以vim打开一个文件就直接进入一般模式(默认模式)
- 一般模式可以使用上下左右键来移动光标的位置
- 一般模式可以使用删除字符或者删除整行来处理文件内容
- 一般模式可以使用复制、粘贴来处理文件数据
- 一般模式无法任意编译文件内容
- vim的编辑模式
1.编辑模式的作用
- 编辑模式可以输入文本内容
- 按下<Esc>从编辑模式返回一般模式
2.如何从一般模式进入编辑模式
- 在一般模式下按下以下按键即可进入编辑模式
- vim的命令模式
1.命令模式的作用
- 命令模式可以提供查询、替换等功能
- 保存、离开vi显示行号等命令都是在命令模式下进行
2.如何从一般模式进入命令模式
- 在一般模式中,输入":"、"/"、"?"三个字符中的任意一个就可以将光标移动到最下面一行,然后输入所需的命令即可
- vim三种模式的相互转换
1.vim三种模式如何相互转换
- vim中一般模式可以转换到编辑模式和命令模式,但是编辑模式和命令模式之间不能相互转换
5.1.3 vim三种模式常用的快捷键
- 一般模式常用的快捷键
1.移动光标类型的快捷键
下表为vim移动光标类型的快捷键
2.查找相关的快捷键
以下为vim与查找相关的快捷键
3.替换相关的快捷键
以下为vim与替换相关的快捷键
4.删除相关的快捷键
以下为vim删除相关的快捷键
- 更正:最后两个应分别为:删除光标所在处到同行的最后一个字符和删除光标所在处到同行的第一个字符
5.复制粘贴相关的快捷键
以下为vim复制粘贴相关的快捷键
- 编辑模式的快捷键
1.一般模式到编辑模式的快捷键
以下为一般模式到编辑模式的快捷键
补充:配合鼠标使用的复制粘贴
Ctrl+Ins:复制,利用鼠标选择要复制的内容,就类似windows系统的Ctrl+C
Shift+Ins:粘贴,将复制的内容粘贴到对应的位置,类似Windows系统的Ctrl+V
- 命令模式的快捷键
1.命令模式下可以执行一些命令
以下为命令模式下常用的快捷键
5.2 Linux系统的软件包管理
5.2.1 文件的压缩与打包
- 什么是文件的压缩和打包
1.文件压缩与打包的基本概念
- 文件的压缩是指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容
- 文件的打包是指将多个文件或者目录合并成一个文件,方便传递或部署
2.Linux系统常见的文件扩展名
- Linux系统的文件扩展名用途不大,但是压缩或打包文件的扩展名是必须的,有文件扩展名才能根据扩展名对应的算法解压文件,以下为一些常见的文件扩展名
- Linux系统常用的压缩/打包指令
1.Linux系统有哪些常用的压缩与打包指令
- compress:压缩性能效率较低,压缩比比较差,现阶段几乎不再使用
- gzip:提供更快的压缩比速度
- bzip2:提供更好的压缩比
- tar:将多个文件打包成一个文件
- 三种压缩算法的压缩比排序:bzip > gzip > compress
- gzip命令的压缩与解压
1.gzip命令及其常用选项
语法格式: gzip [选项] file
常用选项:
示例:将文件压缩
示例:解压之前压缩的文件
2.查看gzip压缩文件的内容
查看文件的全部内容语法格式: zcat *.gz
查看文件前n行的内容语法格式: zcat *.gz|head -n
示例:
3.注意点
- 源文件被压缩后,系统就会在源文件名后面追加".gz",此时源文件被压缩文件覆盖掉,源文件将不再存在
- 压缩文件被解压后,系统自动将源文件后面的".gz"删掉,此时压缩文件被覆盖掉,压缩文件将不再存在
- cat可以读取存文本文件,而zcat可以读取存文本文件被压缩后的压缩文件
- 由以上可以gzip本身不管是压缩还是解压都没有提供保留源文件的功能,若要想保留源文件,则可以通过使用">>"将内容写入到新的文件中
语法格式: gzip -c 文件 >> 新文件名.gz
示例:
- bzip2命令的压缩与解压
1.bzip2命令及其常用选项
语法格式: bzip2 [选项] file
常用选项
示例:(解压也同理)
2.bzip2压缩文件的内容
语法格式: bzcat file
它只能查看bzip2压缩的文本文件的内容
- tar命令打包压缩与解压
1.tar命令及其常用的选项
打包压缩语法格式: tar [选项] [路径]新文件名.tar.gz/bz2 [路径]/源文件
解压语法格式: tar [选项] [路径]/文件名.tar.gz/bz2 解压到目标路径
常用选项:
注意:-c,-t和-x不可同时出现在一串指令列中
2.tar常用的指令组合
打包与利用bzip2算法压缩:
tar -jcvf 路径/newFileName.tar.bz2 要压缩的文件或目录
打包与利用gzip算法压缩:
tar -zcvf 路径/newFileName.tar.bz2 要压缩的文件或目录
示例:
查询对应的gzip算法打包的文件:
tar -ztvf 文件路径/fileName.tar.gz
查询对应的bzip2算法打包的文件:
tar -jtvf 文件路径/fileName.tar.bz2
解压到当前目录:
tar -zxvf 文件路径/fileName.tar.gz
解压到指定目录下:
tar -zxvf 路径/fileName.tar.gz -C 目标路径
5.2.2 rpm安装软件
- rpm的概述
1.什么是rpm
- rpm是RedHat Package Manager的简称,称为安装管理,是一种软件安装的管理方式
2.rpm的优点
- rpm内含已经编译过的程序与配置文件等数据,可以让用户免除重新编译的困扰
- rpm在被安装之前,会先检查系统的硬盘容量,操作系统的版本等,可以避免文件被错误安装
- rpm文件本身提供软件版本信息,相依属性软件名称,软件用途说明,软件所含文件等信息
- rpm管理的方式使用数据库记录rpm文件相关参数,便于升级,移除,查询与验证
- rpm的安装
1.rpm的安装路径
rpm的默认安装路径
2.rpm的安装命令及其选项
安装单个rpm包语法格式: rpm -ivh packge_name.rpm
安装多个rpm包语法格式: rpm -ivh a.package_name.rpm b.package_name.rpm
安装网上某个位置的rpm包: rpm -ivh url/package.rpm
选项含义:
示例:安装单个rpm包
示例:安装多个rpm包,中间用空格隔开
3.注意点:
- 在进行单个或者多个rpm包安装之前需要先将对应的rpm包导入虚拟机,或者通过wget下载对应的rpm包下载至虚拟机再安装
- 安装lrzsz程序,然后使用命令可以将本地的东西,拷贝到虚拟机,也能从虚拟机拷贝到本地机
- 可以通过wget下载lrzsz的rpm,访问如下地址:http://rpmfind.net/linux/Mandriva/official/2011/x86_64/media/main/release/lrzsz-0.12.21-15-mdv2011.0.x86_64.rpm
- 安装完成之后,可以使用命令rz,将本地的内容导入虚拟机,使用sz,将虚拟机的内容导入本地
- rpm的查询
1.rpm查询的原理
rpm在查询的时候,其实查询的地方是在/var/lib/rpm目录下的数据库文件
2.rpm查询已安装软件
语法格式: rpm [选项]
常用选项:
示例:查询系统是否已经安装了JDK
- rpm软件的卸载
1.rpm进行软件卸载
软件卸载的语法格式: rpm -e package_name
示例:卸载apr,先找出apr有关的软件名称,然后对其进行卸载
- rpm软件的升级与更新
1.软件的升级与更新的命令及其选项
语法格式: rpm [选项] package_name
可用选项:
- rpm安装软件存在的问题
1.rpm软件安装管理的缺点
- 不管是在安装软件还是卸载软件,都会遇到一个环境依赖的问题,那么这个问题是RPM的一个痛点。
5.2.3 yum软件
- yum的概述
1.yum的作用
- rpm软件的依赖性强,,对软件的安装管理需要解决:下载+解决依赖问题+安装三个步骤,如果需要安装多个则步骤繁琐,很不方便,而yum就解决了rpm的依赖性问题
- yum源存在/etc/yum.repos.d目录下
2.注意点:
- 刚开始虚拟机可能存在没有epel源的情况,如果没有则需要先安装epel源
- 先通过wget下载epel的rpm,然后通过rpm安装epel源
- epel的rpm下载的URL:http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- 安装完epel源之后,使用yum如果报错:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- 此时需要打开epel源的配置文件进行修改:vim /etc/yum.repos.d/epel.repo
- 将epel.repo文件中的第三行注释打开,然后将第四行注释掉
- 退出,然后执行:yum clean all
- 最后执行:yum makecache即可
- yum的升级、安装和卸载
1.yum的升级、安装和卸载使用以下命令即可
安装:yum install 软件
升级:yum update 软件
卸载:yum remove 软件
2. yum在操作时会有提示,如何解决不用提示的问题
- 在执行yum的过程中如果不想再提示"y/N",那么可以在yum的命令中加上"-y"
- 例如:yum install lrzsz -y
- yum的查询
1.通过yum查询已安装的软件参数
5.Linux系统的vim与软件包管理的更多相关文章
- linux系统rpm和yum软件包管理
软件安装方式总结 安装软件方式有如下几种: 方式1:编译安装 将源码程序按照需求进行先编译,后安装 缺点:装过程复杂,而且很慢 优点:安装过程可控,真正的按需求进行安装(安装位置.安装的模块都可以选择 ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- Linux命令(六)——软件包管理(安装应用程序)
与windows安装各种应用程序相似,在linux下也可以安装各种需要的应用程序,通常称为软件包.目前,在linux系统下常见的软件包格式主要有:RPM包.TAR包.bz2包.gz包.deb包.sh结 ...
- Linux系统的用户和用户组管理
一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及账户组管理之前,先简单了解一下多用户.多任务操作系统的基本概念. Linux的单用户多任务 在Linux下,当你 ...
- Linux系统用户与属组管理(3)
好了,终于要到了管理 Linux 账号的时刻了,对于 Linux 有一定的熟悉度之后,再来就是要管理连上 Linux 的账号问题了,这个账号的问题可大可小,大到可以限制他使用 Linux 主机的各项资 ...
- Linux各发行版本及其软件包管理方法
Linux发行版本有很多,按照使用领域分为桌面系统领域和服务器领域.下面简要介绍如下: 1.Red Hat和Fedora:redhat最早发行的个人版本的Linux,自从Red Hat 9.0版本发布 ...
- Linux文本处理sed、软件包管理、磁盘存储、文件系统和挂载
Linux文本处理工具sed.软件包管理.磁盘存储及文件系统 文本处理工具sed巧妙用法 1.通过sed获取文件路径的基名和目录名 思路:采用正则表达式将文本字符串分组,取对应的分组后向引用即可. 获 ...
- Linux系统监视资源与进程管理
Linux 系统中时刻运行着许多的进程,如果能够合理的管理它们,有益于系统性能的优化, 系统进程总共有五种不同的状态: 命令一:ps命令,用于查看系统中进程状态 格式:ps [参数] 查看进程与状态: ...
随机推荐
- jvm 堆内存 栈内存 大小设置
4种方式配置不同作用域的jvm的堆栈内存. 1.Eclise 中设置jvm内存: 改动eclipse的配置文件,对全部project都起作用 改动eclipse ...
- 四:Java之字符串操作String、StringBuffer和StringBuilder
string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer ...
- npm/bower/brew
npm: npm(node package manager)node包管理器,用来下载发布第三方工具包,例如:代码的压缩.合并.编译的插件包.主要功能:安装.卸载.更新.查看.搜索.发布等 npm的具 ...
- How do browser cookie domains work?
https://stackoverflow.com/questions/1062963/how-do-browser-cookie-domains-work 答案一 Although there is ...
- jQuery的jsop,jsonp跨域请求
https://www.cnblogs.com/chiangchou/p/jsonp.html
- [Swift通天遁地]八、媒体与动画-(1)实现音频的播放和停止
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- web自动化测试—selenium操作游览器属性
# coding=utf-8'''web游览器属性: 页面最大化 maximize_window() 获取当前页面地址 current_url 代码 page_source title title 后 ...
- Android Studio 常用快捷键(超实用!!!)
快捷键又称为“热键”,多个按键的组合可以实现某些快速操作,例如Window中最常用的Ctrl+C和Ctrl+V,熟练使用快捷键可以大大提高开发效率并可以减少某些错误的发生.Android Studio ...
- warning: remote HEAD refers to nonexistent ref, unable to checkout
今天使用git clone时候 提示 warning: remote HEAD refers to nonexistent ref, unable to checkout 经过测试解决办法如下 git ...
- [ POI 2017 ] Podzielno
\(\\\) \(Description\) \(B\)进制数,每个数字\(i(i\in [0,B-1])\)有\(A_i\)个.用这些数字组成一个最大的\(B\)进制数\(X\)(不能有前导零,不需 ...