zoukankan      html  css  js  c++  java
  • Linux学习--第五天--vim使用、rpm命令

    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代替

  • 相关阅读:
    CentOS7安装MySQL5.7
    .gdbinit文件配置
    Linux 动态库加载
    GDB常用调试命令(二)
    git删除缓存区中文件
    git添加空文件夹
    Linux 打开core dump功能
    C++ 预处理器
    C++ 模板
    C++ 命名空间
  • 原文地址:https://www.cnblogs.com/onegoal/p/7244795.html
Copyright © 2011-2022 走看看