linux-doc-文本编辑与查看命令

cat

介绍

用于连接文件并打印到标准输出设备上以及用来显示文件的内容。
当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

用法

1
cat (选项)(参数)

选项

选项 描述
-n或-number 有1开始对所有输出的行数编号;
-b或--number-nonblank 和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A 显示不可打印字符,行尾显示$
-v 显示不打印的符号
-T ^来显示制表符
-E $来显示换行符
-e 等价于-vE选项;
-t 等价于-vT选项;

参数

参数 描述
文件列表 指定要连接的文件列表。

例子

1
2
3
4
5
# 将log1和log2文件合并到log文件
cat log1 log2 > log

# 统计文件有多少行包含指定内容
cat log.20200730 | grep -i "成功" | wc -l

vim

介绍

用于编辑文件

用法

1
vim (参数)

参数

参数 描述
文件列表 指定要编辑的文件集合

例子

1
2
3
4
5
# 编辑log文件
vim log

# 编辑log1 log2
vim log1 log2

删除快捷键

快捷键 描述
x 向后删除一个字符
X 向前删除一个字符
nx(n代表数字) 向后删除n个字符
nX(n代表数字) 向前删除n个字符
dd 删除当前行
D 将光标所在行,后面的所有字符删除
ndd(n代表数字) 删除光标所有行向下n列
d1G 删除光标所在行到第一行的所有数据
dG 删除光标所在行到最后一行的数据
dnj(n代表数字) 删除光标所在行向下n+1行

复制快捷键

快捷键 描述
yy 复制光标所在行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的数据
ynj(n代表数字) 复制光标所在行向下n+1行

粘贴快捷键

快捷键 描述
p 将复制的数据粘贴到光标下一行
P 将复制的数据粘贴到光标上一行

合成快捷键

快捷键 描述
J 将光标所在行与下一行的数据结合成一行

撤销快捷键

快捷键 描述
u 恢复前一个动作

编辑模式快捷键

快捷键 描述
i 在当前光标处输入字符
I 在当前光标行第一个非空字符输入字符
a 在当前光标后输入字符
A 在当前光标行最后一个非空字符输入字符
o 在当前光标行后新加一行输入字符
O 在当前光标行前新加一行输入字符
r 进入替换模式,用新的字符替换当前光标的字符,替换一个后退出替换模式
R 进入替换模式,用新的字符替换当前光标的字符,直到退出替换模式才不继续替换

查找

需要转换的特殊字符.*[]^%/?~$

输入 描述
/ word 在光标之后查找 word字符串
?word 在光标之前查找word字符串
:set ignorecase 忽略大小写的查找
:set noignorecase 不忽略大小写的查找
:set hlsearch 高亮所有搜索结果
:set nohlsearch 关闭高亮搜索
:nohlsearch 关闭当前的高亮显示(下次搜索或按nN会再次高亮)
:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成
:set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启

替换

输入 描述
:s/word1/word2/g 用word2替换当前行找到的所有word1
n1,n2s/word1/word2/g 用 word2替换第n1-n2行的所有word1
%s/word1/word2/g 用word2替换文件所有的word1

文件处理

输入 描述
:n 编辑下一个文档
:N 编辑上一个文档
:files 列出目前vim编辑的所有文档
:open file 在vim窗口打开一个新文件
:split或sp file 在新窗口打开文件,如果不加file,会在新窗口打开当前的文档
:bn 切换到下一个文件
:bp 切换到上一个文件
:args 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来
:e 打开远程文件:e ftp://192.168.10.76/abc.txt :e \\qadrive\test\1.txt
:q 退出窗口
:w 保存文件
:w [filename] 将当前文件保存到另一个文件
:r [filename] 将另一个文件的内容追加到光标下一行之后
:set nu 显示行号
:set nonu 取消行号
:n1,n2 w [filename] 将n1-n2行的内容保存到另一个文件中(文件不可以存在)

窗口快捷键

快捷键 描述
Ctrl + w 后按↑或k 切换到上面的窗口
Ctrl + w 后按↓或j 切换到下面的窗口

查阅快捷键

快捷键 描述
ctrl+f 屏幕向下翻一页
ctrl+b 屏幕向上翻一页
ctrl+d 屏幕向下翻半页
ctrl+u 屏幕向上翻半页
+ 光标移到到下一行第一个字符
- 光标移到到当前第一个非空字符
n空格(n表示数字) 光标向后移到n个字符
0 光标移动到当前行开头
$ 光标移动到当前行最后
H 光标移动到当前屏幕的第一行第一个非空字符
M 光标移动到当前屏幕中间行第一个非空字符
L 光标移动到当前屏幕最后一行第一个非空字符
G 光标移动到文件最后一行第一个非空字符
gg 调到文件头
nG(n表示数字) 光标移动到文件第n行的第一个非空字符

more

介绍

用于全屏按页的方式显示文本的内容

快捷键 描述
space 显示文本的下一屏内容。
Enier 只显示文本的下一行内容。
按斜线符\ 输入一个模式,可以在文本中寻找下一个相匹配的模式。
H 显示帮助屏,该屏上有相关的帮助信息。
B 显示上一屏内容。
Q 退出more命令。
N 继续执行上一次斜线输入的表达式
. 继续执行上一次的命令

用法

1
more(语法)(参数)

选项

选项 描述
-<数字> 指定每屏显示的行数;
-d 显示[press space to continue,'q' to quit.][Press 'h' for instructions]
-c 不进行滚屏操作。每次刷新这个屏幕;
-s 将多个空行压缩成一行显示;
-u 禁止下划线;
-<数字> 从指定数字的行开始显示。

参数

参数 描述
文件 指定分页显示内容的文件。

例子

1
2
# 只在屏幕前10行显示log日志
more -c -10 log

tail

介绍

用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为-,则读取标准输入。
在输入命令的时候,如果表示字节或行数的N值之前有一个+号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。

用法

1
tail(选项)(参数)

选项

选项 描述
--retry 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项--follow=name连用;
-c<N>或--bytes=<N> 输出文件尾部的N(N为整数)个字节内容;
-f<name/descriptor>或;--follow<nameldescript> 显示文件最新追加的内容。name表示以文件名的方式监视文件的变化。-f-fdescriptor等效;
-F 与选项-follow=name--retry连用时功能相同;
-n<N>或--line=<N> 输出文件的尾部N(N位数字)行内容。
--pid=<进程号> -f选项连用,当指定的进程号的进程终止后,自动退出tail命令;
-q或--quiet或--silent 当有多个文件参数时,不输出各个文件名;
-s<秒数>或--sleep-interal=<秒数> -f选项连用,指定监视文件变化时间隔的秒数;
-v或--verbose 当有多个文件参数时,总是输出各个文件名;
--help 显示指令的帮助信息;
--version 显示指令的版本信息。

参数

参数 描述
文件列表 指定要显示尾部内容的文件列表。

例子

1
2
3
4
5
6
7
8
# 动态监听log文件最后30行的内容
tail -n30 -f log

# 显示log第100行到末尾的内容x
tail -n+30 log

# 显示log后面10b的内容
tail -c10b log

ccze

日志着色器,使日志查找更加方便快捷

安装

1
yum install ccze -y

例子

1
2
3
4
5
# 列出ccze模板
ccze -l

# tail命令颜色化
tail /var/log/syslog | ccze -A