Linux文本编辑工具vi/vim
- vi编辑器是所以Linux系统下标准的编辑器,其功能相当于Windows系统中的记事本,对于Linux的任意版本,vi编辑器都是完全相同的。
- 而vim编辑器相当于vi编辑器的增强版,它具有语法着色功能,我们可以通过字体颜色来判断语法的正确性,以达到方便程序设计的目的。
- 在最小化安装的系统中是没有安装vim编辑器的,我们需要通过yum
命令来安装。 # yum install vim -y
vim的模式有3种,命令模式、输入模式、末行模式。
三个模式下都可以执行相应的功能并且三个模式之间可以相互转换。
- 命令模式到输入模式有三种转换方式分别是:
1.插入(i,I)
i | 从光标的位置前面开始插入,并且光标随着插入内容向后移动. |
---|---|
I | 从光标所在行的第一个非空白字符前面开始插入 |
2.新增(a,A)
a | 从光标所在位置后面开始新增,光标随着插入内容向后移动 |
---|---|
A | 从光标坐在行最后的地方开始新增 |
3.开始(o,O)
o | 从光标所在行的下一列新增一行进入输入模式 |
---|---|
O | 从光标所在行的上方新增一行并进入输入模式。 |
输入模式到命令模式的转换方法是按下Esc键
命令模式到末行模式的转换方式是shift+:
末行模式到命令模式的转换方法是按下Esc键
命令模式下的操作方法如下:
操作 | 操作键 | 功能 |
---|---|---|
光标方向移动 | ↑,↓,←,→ | 上,下,左,右 |
翻页 | Page Down 或Ctrl+F | 向下翻动一整页内容 |
Page Up或Ctrl+B | 向上翻动一整页内容 | |
行内快速跳转 | Home键或者“^” 或者“0” | 跳转至行首 |
End键或者“$” | 跳转至行尾 | |
行间快速跳转 | 1G或gg | 跳转至文件的行首 |
G | 跳转至文件的末尾行 | |
#G | 跳转至文件的第#行 | |
行号显示 | :set nu | 显示行号 |
:set nonu | 取消显示行号 | |
删除 | x或者Del | 删除光标处的单个字符 |
dd | 删除光标所在行 | |
#dd | 删除光标开始出的#行 | |
d^ | 删除从当前光标处到行首的所以字符 | |
d$ | 删除从当前光标处到行尾的所以字符 | |
复制 | yy | 复制当前行整行的内容到粘贴板 |
#yy | 复制光标处开始的#行内容 | |
粘贴 | P | 粘贴到光标处之后 |
p | 粘贴到光标处之前 | |
查询 | /word | 自上而下查找字符串word |
?word | 自下而上查找字符串word | |
n | 与查询方向一致 | |
N | 与查询方向相反 |
末行模式下的操作方法如下:
功能 | 命令 | 备注 |
---|---|---|
保存文件 | :w | |
:w /tmp/newfile | 另存为其他文件 | |
退出 | :q | 未做修改退出 |
:q! | 放弃对内容的修改退出 | |
保存并退出 | :wq | |
:e~ /install | 打开新的文件进行编辑 | |
:r /etc/passwd | 在当前文件中读入其他文件 | |
:s/old/new | 光标所在行第一个找到的字符替换 | |
:s/old/new/g | 光标所在行所有找到的字符替换 | |
: #,# s/old/new/g | 第几行到几行之间内容替换 | |
:% s/old/new/g | 全文替换 | |
: s/old/new/c | 替换的时候需要确认 |
打开文件
[root@centos6 ~]# vim /etc/passwd
- vim +# 打开文件时定位到第几行
[root@centos6 ~]# vim +5 /etc/passwd
撤销操作
指令 | 功能 |
---|---|
u | 撤销前一次编辑操作 |
#u | 撤销前面#次操作 |
Ctrl+r | 撤销最近一次撤销操作 |
重复上一次操作
.:重复上一次的操作,比如上一次dd删除了一行,现在输入.就可以重复dd删除操作。
可视操作
命令模式:
命令 | 功能 |
---|---|
v | 按字符选取,键盘控制光标划过的区域被选取 |
V | 按矩形选取,键盘控制光标划过的行被选取 |
压缩
常见的压缩命令和解压命令:
1.zip:unzip .zip
- zip是使用最广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。
- unzip为.zip压缩文件的解压缩程序。
2.gzip:gunzip .gz
- gzip命令用来压缩文件,文件经它压缩后,其名称后面会多出“。gz”的扩展名。它还可以与tar命令一起构成Linux操作系统中比较流行的压缩文件格式“.tar.gz”。
- gunzip为.gz压缩文件的解压缩程序。
3.bzip2,bunzip2 .bz2
- bzip2命令用来压缩文件,文件经它压缩后,其名称后面会多出“。bz2”的扩展名。
- bunzip2为.bz2压缩文件的解压缩程序。
4.xz unxz
语法格式:
xz 【option】…file…
命令 | 功能 |
---|---|
-d | 解压缩 |
-# | 指定压缩比,默认是6,范围(1-9) |
-k | 保留原文件 |
5.显示压缩文件内容
zcat zless bzcat bzless xzcat
不解压,只显示压缩的内容
6.打包归档命令tar
tar命令可以为Linux的文件和目录创建档案。
打包和压缩是两个概念,打包是指将一大堆文件或目录变成一个总的文件,压缩是将一个大文件压缩成一个小文件。
tar命令
选项 | 功能 |
---|---|
-c | 建立压缩打包文件 |
-x | 解压 |
-t | 查看内容 |
-r | 追加文件 |
-u | 更新文件 |
-A | 归档 |
压缩命令
选项 | 功能 |
---|---|
-z | 带gzip 属性的 |
-j | 带bz2属性的 |
-J | 带xz属性的 |
-v | 显示压缩过程 |
-o | 文件解压后到标准输出 |
-N [date | file] somedir |
-f | 必须的选项,选项笔试是最后一个,后面要接的是压缩文件名 |
tar -cvf,tar xvf 打包 解包
tar -zcvf/-zxvf 压缩,解压
打包 tar -cvf:
压缩
tar -cvf file.tar file 打包命令, 将file文件打包成file.tar
tar -zcvf file.tar.gz file 先将file文件打包成file.tar,并且执行gzip压缩,最终命名
tar -jcvf file.tar.bz2 file
tar -Jcvf file.tar.xz file
打包后压缩:
*.tar: tar -xvf 解压
*.tar.gz tar -xzvf 解压
*.tar.bz2 tar -xjvf 解压
*.gz gunzip 解压
*.bz2 bunzip2 解压
解压:
.rar unrar
.zip unzip
查看:
7.dd:拷贝文件命令
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
例如:
dd if=/dev/zero of=/tmp/file bs=1K count=10
参数注释:
参数 | 注释 |
---|---|
if =文件名 | 标准输入,输入的文件名,指定源文件 |
of=文件名 | 标准输出,输出的文件名,指定目的文件 |
bs=bytes | 指定输入输出块大小 |
ibs=bytes | 一次读入bytes个字节,即指定一个块大小为bytes个字节 |
obs=bytes | 一次读出bytes个字节,即指定一个块大小为bytes个字节 |
count=blocks | 拷贝blocks个块,大小等于ibs指定的字节数 |
skip=blocks | 从输入的文件跳过blocks个块后再开始复制 |
seek=blocks | 从输出的文件跳过blocks个块后再开始复制 |
conv=conversion | 用指定的参数转换文件 |
dd的用法示例:
备份磁盘:
dd if=/dev/sda of=/dev/sdb
备份磁盘到文件
dd if=/dev/sda of=/tmp/file
dd if=/dev/sda | gzip > /tmp/file.gz
将备份文件恢复到指定磁盘
dd if=/tmp/file of=/dev/sdc
备份MBR:
dd if=/dev/sda of=/tmp/file count=1 bs=512
拷贝内存文件
dd if=/dev/mem of=/tmp/file bs=1m count=1024
测试硬盘的读写速率
dd if=/dev/zero of=/tmp/file bs=100K count=1024
测试硬盘的最佳块大小,1K 4K 8 K 16K
dd if=/dev/zero of=/tmp/file bs=1024 count=1000000
dd if=/dev/zero of=/tmp/file bs=4096 count=250000
dd if=/dev/zero of=/tmp/file bs=8192 count=125000
转换
dd if=/tmp/file of=/tmp/file1 conv=ucase
8.cpio 备份命令
cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio,img或tar备份档内的文件。
cpio文件的类型判断:
[root@Centos6 test]# file test.cpio
test.cpio: ASCII cpio archive (SVR4 with no CRC)
常规操作模式:
(1)备份: cpio -ocvB > file
(2)还原: cpio -ivcdu < device > file
(3)查看: cpio -ivct > file
附加选项:
选项 | 功能 |
---|---|
-o | 拷贝文件到某个文件或者设备 |
-c | 存储方式 |
-v | 显示存储过程 |
-B | 以XXX块大小拷贝, 默认是512 ,以5120大小拷贝 |
-i | 从某个文件或者设备拷贝出 |
-d | 自动创建目录 |
-u | 自动新文件覆盖旧文件 update |
-t | 查看文件或者设备中的内容 |