vim使用

三种模式:

  • 编辑模式
  • 插入模式
  • 命令模式

    |命令|作用|

    |--|--|

    |a|在光标字符后插入|

    |A|在光标行尾插入|

    |i|在光标字符前插入|

    |I|在光标行首插入|

    |o|在光标下插入新行|

    |O|在光标上插入新行|

    |:set nu|设置行号|

    |:set nonu|取消行号|

    |gg|到第一行|

    |G|到最后一行|

    |nG|到第n行|

    |x|删除光标所在处的字符|

    |nx|删除光标所在处后的共n个字符|

    |dd|删除当前行|

    |dG|删除所在行到文件末尾的内容|

    |D|删除光标所在地方到行尾内容|

    |:n1,n2d|删除指定范围的行|

    |yy|复制当前行|

    |nyy|复制当前行后的n行,包括了当前行|

    |ndd|剪切当前行以下的n行,包括当前行|

    |p|粘帖至当前光标的行下|

    |P|粘帖至当前光标的行上|

    |r|替换光标处文字|

    |R|从光标处开始替换文字|

    |u|撤销上一步|

    |:%s/old/new/g|全文的old替换成new|

    |:n1,n2s/old/new/g|在指定范围内把old替换成new|

    |:w|保存修改|

    |:w filename|另存为指定文件|

    |:wq|保存退出|

    |ZZ|保存退出|

    |:q!|不保存退出|

    |:wq!|保存退出(没有权限的时候,文件所有者和root可使用)|

    |:r 文件名|导入文件内容到光标位置|

    |!命令|执行命令,然后按任意键继续|

    |:r !命令|将命令结果插入光标位置|

    |map ^P :wq|设置快捷键 保存退出,其中^P是按住ctrl和v和p|

    |:n1,n2s/^/#/g|批量注释|

    |:n1,n2s/^//g|批量删除注释|

    |:n1,n2s/^////g|批量注释|

    |:ab mail 7555555@qq.com|设置简称|

软件包管理

软件包种类:

  1. 源码包(脚本安装包)
  2. 二进制包(rpm包)

二进制包:编译过后的软件包,01代码,看不到源代码。

源码包安装慢且容易出错。但是源码包安装的软件效率高稳定,据统计比二进制包块5%。

源码包卸载方便,直接删除目录。

rpm: redhat package manage

rpm包全名:httpd-2.2.14-15.el6.centos.i686.rpm

  • httpd:包名
  • 2.2.14:版本
  • 15:发行次数
  • el6.centos:适合的linux平台
  • i686:适合的硬件平台
  • rpm:后缀名

noarch 所有平台都可以

依赖:普通依赖,环形依赖,模块依赖。(模块依赖查询网址 rpmfind.net)

命令 作用
rpm -ivh 包全名 -i:安装 -v:显示详细信息 -h:显示进度
rpm -Uvh 包全名 -U:更新
rpm -e 包名 erase:卸载
rpm --nodeps 不检查依赖性,生产环境下禁止使用
rpm -q 包名 query:查看是否安装rpm
rpm -qa 查看所有安装的包
rpm -qi 包名 info:显示安装包详细信息
rpm -ql 包名 ls:查询包中文件安装位置
rpm -qlp 包全名 (-p:未安装的软件,后跟包全名)可查询未安装软件的预安装位置,因为设置好安装在哪儿了
rpm -qf 系统文件名 查询系统文件属于那个rpm包
rpm -qR 包名 查询软件包的依赖性
rpm -pRq 包全名 安装过的系统会查找默认路径,没装过的软件必须进入对应目录并且输入包全名
rpm -V 包名 验证包是否被修改过

rpm安装命令的时候尽量不要指定安装路径,因为这样会导致可能系统操作时候找不到软件。

rpm 可以安装,升级,卸载,查看。yum不能查看。

|rpm -V 包名| 描述|

|---|---|

|S|文件大小是否变化|

|M|文件类型或权限是否变化|

|5|md5值是否变化|

|D|代码是否有变化|

|L|文件路径是否变化|

|U|文件的属主是否变化|

|G|属组是否变化|

|T|文件修改时间是否变化|

文件类型

  • c:配置文
  • d:普通文档
  • g:鬼文件,很少见,即该文件不应该被这个rpm包包含
  • l:授权文件
  • r:描述文件

误删文件的处理

cd /root		         #进入家目录,不是必要的
rpm -qf /bin/ls #查询ls命令属于哪个rpm包
mv /bin/ls /tmp/ #模拟误删命令
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.cl6.i686.rpm | cpio -idv ./bin/ls
#将光盘中的rpm包中的ls命令提取到当前当前目录/bin/ls下面 ,在centos 7中测试无效,后来将coreutils强制安装覆盖得以解决 --force
cp /root/bin/ls /bin/ #修复完成

\是命令换行符号。

删除ls后可以用dir代替

Linux学习--第五天--vim使用、rpm命令的更多相关文章

  1. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  2. Linux 学习记录 五(软件的安装升级).

    一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行 ...

  3. Linux 学习记录五(软件的安装升级).

    一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行 ...

  4. Linux学习笔记3-VI 和 VIM的使用

    vi: Visual Interface vim: VI iMproved 全屏编辑器, Linux系统下最强大的两款编辑器,vi和vim,vi是Linux本身自带的一款编辑器,纯文本编辑不带任何效果 ...

  5. 【Linux学习三】VI/VIM全屏文本编辑器

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...

  6. Linux学习(五)远程登录

    Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...

  7. Linux学习 - 02 使用 - Centos8 - 『更换rpm/epel包源为国内源』

    1. Centos8 - 『更换rpm/epel包源为国内源』 centos 8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的. 如果你的网络访问mirro ...

  8. Linux学习笔记<五>

    管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第 ...

  9. linux学习笔记--vi与vim编辑器

    vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...

随机推荐

  1. sqli-labs(27a)

    0X01测试闭合 ?id=" 报错 ?id="" 正常 0X02构造语句爆数据库名称 ?id= 和27关一样 只是 ’ 变成了 ” 其他语法就是打组合拳 0X03组合拳 ...

  2. springCloud分布式事务实战(一)案例需求及实现步骤

    本文不对分布式事务原理进行探索,而是通过一个案例来说明如何使用分布式事务 案例需求:创建2个基于springCloud的微服务,分别访问不同的数据库:然后创建一个整合服务,调用微服务实现数据的保存到2 ...

  3. angular 的配置文件的应用

    为什么要使用 angular 的配置文件: 好处:我们可以在一个页面上,实现多个页面的跳转的感觉,但只是在一个页面上进行的操作: 我们的准备工作:下载 angular-route.js 插件 在依赖模 ...

  4. WPF/UWP 模板选择器 DataTemplateSelector

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. Selenium IDE安装及环境搭建教程

    摘自https://blog.csdn.net/ywyxb/article/details/59103683 Selenium IDE环境部署- Firefox浏览器Firefox-ESR版本下载(推 ...

  6. C#接口的实现和继承实践

    1.基本概念 接口是一种契约规范,类似于抽象基类.包括方法,属性,索引器和事件作为成员,这些成员只是作为定义,并不在接口中具体实现. 接口创建时注意以下事项: 继承接口的任何非抽象类都必须实现接口的所 ...

  7. Elasticsearch 安装head插件

    一.简介 elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作.你可以通过插件把它集成到es(首选方式),也可以安装成一个独立webapp. Elastics ...

  8. IntelliJ IDEA调试时,格式化显示日期变量

    格式化前: 格式化后: new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this); 入门常用知识: Ct ...

  9. SPA(single page application)

    一.SPA的概述 SPA(single page application)单页面应用程序,在一个完成的应用或者站点中,只有一个完整的html页面,这个页面有一个容器,可以把需要加载的代码片段插入到该容 ...

  10. Web测试常用的链接测试工具

    1.Xenu Link Sleuth 详细解说地址:http://home.snafu.de/tilman/xenulink.htm http://pan.baidu.com/s/1qY3Tp4C(英 ...