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|设置简称|
软件包管理
软件包种类:
- 源码包(脚本安装包)
- 二进制包(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命令的更多相关文章
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- Linux 学习记录 五(软件的安装升级).
一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行 ...
- Linux 学习记录五(软件的安装升级).
一.gcc gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接. gcc -c hello.c 编译产生目标文件hello.o gcc -O hello.c 编译产生目标文件,并进行 ...
- Linux学习笔记3-VI 和 VIM的使用
vi: Visual Interface vim: VI iMproved 全屏编辑器, Linux系统下最强大的两款编辑器,vi和vim,vi是Linux本身自带的一款编辑器,纯文本编辑不带任何效果 ...
- 【Linux学习三】VI/VIM全屏文本编辑器
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...
- Linux学习(五)远程登录
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...
- Linux学习 - 02 使用 - Centos8 - 『更换rpm/epel包源为国内源』
1. Centos8 - 『更换rpm/epel包源为国内源』 centos 8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的. 如果你的网络访问mirro ...
- Linux学习笔记<五>
管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第 ...
- linux学习笔记--vi与vim编辑器
vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...
随机推荐
- Oracle数据库表空间查看和更改
set linesize 200 --设置输出一行字符个数为200 1.查看表空间名称和大小(单位MB) SELECT t.tablespace_name, round(SUM(bytes / (1 ...
- Ajax监测开始执行及结束执行
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- spring boot shiro redis整合基于角色和权限的安全管理-Java编程
一.概述 本博客主要讲解spring boot整合Apache的shiro框架,实现基于角色的安全访问控制或者基于权限的访问安全控制,其中还使用到分布式缓存redis进行用户认证信息的缓存,减少数据库 ...
- 576D Flights for Regular Customers
分析 https://www.cnblogs.com/onioncyc/p/8037056.html 写的好像有点问题 但是大致就是这个意思 代码很好理解 代码 #include<bits/st ...
- Linux内核中的cmpxchg函数
http://www.longene.org/forum/viewtopic.php?t=2216 前几天,为了这个函数花了好多时间,由于参考的资料有误,一直都没有看明白,直到google之后,总算搞 ...
- VS2010远程调试C#程序
场景: 客户的计算机运行程序出现异常,由于办公场所不在一起,无法直接在客户的机器上调试.此时希望可以直接在开发人员的计算机(本地机器)上远程调试客户机上的软件. 假设: 本地机器的系统账户为 GIS, ...
- 我们建了一个 Golang 硬核技术交流群(内含视频福利)
目录 目录 Golang 是什么? 我们为什么选择 Golang? Golang 是云时代的宠儿! 我们搞了一场 Golang 入门直播 Golang 是什么? Golang 是谷歌 2009 年发布 ...
- 【Spring】的【Bean】管理(注解)【四个相同功能的注解】
[Spring]的[Bean]管理(注解)[四个相同功能的注解] 注解:代码里面特殊的标记,使用注解也可以完成一些相关的功能. 注解写法:@注解名称(属性名称=属性值) 注解使用在类.方法.属性上面 ...
- Python子类调用父类内属性的方法
常见的就是初始化方法__init__() python中类的初始化方法是__init__(),因此父类子类的初始化方法都是这个,如果子类不实现这个函数,初始化时调用父类的初始化函数,如果子类实现这个函 ...
- CSS3——表单 计数器 网页布局 应用实例
CSS应用实例 表单 实例 输入框样式 输入框填充-----内边距 输入框------边框 输入框-----颜色 输入框-----聚焦 输入框-------图标 输入框------动画 [自动右滑] ...