一。grep
参考文章:https://blog.csdn.net/u013230234/article/details/79312557
1.正则表达式(对文本处理)
正则表达式是用来匹配字符串的,针对文件内容的文本过滤工具里,大都用到正则表达式,如vi,grep,awk,sed等。
简单点来说,正则表达式是对一组正在处理的文本的描述。
# 匹配包含abc xxxxxxxxxxxxxx xyz的文本
less xxx.txt|grep "abc.*xyz"
二。通配符(对文件名处理)
参考文章:https://blog.csdn.net/blackfwhite/article/details/80382849
通配符与正则表达式很相似,千万不要混淆
通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。
# ll中匹配任意字符直接使用*即可
ll abc*xyz
三。grep命令
-E 正则模糊匹配
# 正则模式不需要加转义符,普通模式需要对特殊字符需要加转义符
less xxx.txt|grep -E "abc|xyz"
less xxx.txt|grep "abc\|xyz"
# 也可以发过来写
grep xxx.txt "abc\|xyz"|less
-F 精确字母匹配
# 如果不加-F会匹配为info有任意字符即可匹配,与需要不符
less xxx.txt|grep -F "[info]"
less xxx.txt|grep "\[info\]"
-w 精确单词匹配 用的较少
四。less
打开文件操作(也可以打开后直接输入 )
操作 | 方法 |
---|---|
查看文件 | less 文件名 |
查看文件并显示行号 | less -N 文件名 |
查看文件并定位到行 | less 行号g 文件名 |
文件内操作
操作 | 方法 |
---|---|
向下查找 | /查找内容 |
向上查找 | ?查找内容 |
下一个 | n |
上一个 | N |
下移动一行 | 下箭头 或 回车 |
向下滚动一屏 | 空格键 或 pageDown 或 d |
跳到第一行 | g |
跳到最后一行 | G |
跳到指定行 | 直接输入 行号g |
跳到行百分百 | 直接输入 行号% |
编辑 | v |
读取最新文件内容(类似tail -f) | F(大写) |
五。tail
操作 | 方法 |
---|---|
实时监控 | tail -f filename |
实时监控10行日志信息 | tail -10f filename |
日志尾部的最后100行日志信息 | tail -n 100 filename |
查看日志100行之后的日志信息 | tail -n +100 filename |
五。head
操作 | 方法 |
---|---|
查看文本开始的头100行信息 | head -n 100 filename |
查看文本最后100行信息以上的内容 | head -n -100 filename |
六。cat
cat 命令是linux系统下一个文本打印的命令,用于输出一个文本的信息到控制台
查看全部文本内容
cat filename
七。tac
和cat命令有点相反,cat命令更多的是从头部往尾部的顺序展现文本内容,而tac命令正好是从文本的尾部往头部展现日志内容
tac filename
八。sed
九。more
十。vim
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
1.命令模式
用户刚刚启动 vi/vim,便进入了命令模式。 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
操作 | 方法 |
---|---|
切换到测试模式 | i或insert |
切换到底线命令模式 | : |
删除当前光标所在处的字符 | x或del |
上下左右移动 | 方向键或hjkl |
100下箭头 | 向下移动100行 |
光标移动到非空格符的上/下一行 | +或 - |
移动到首行 | gg |
移动到尾行 | G |
移动到第100行 | 100G |
删除一行 | dd |
删除向下100行 | 100dd |
删除光标所在到第一行的所有数据 | d1G |
删除光标所在到最后一行的所有数据 | dG |
删除游标所在处,到该行的最后一个字符 | d$ |
删除游标所在处,到该行的最前面一个字符 | d0 |
复制游标所在的那一行 | yy |
复制光标所在的向下 n 行 | nyy |
复制光标所在的那个字符到该行行首/行尾的所有数据 | y0 、y$ |
复制游标所在的那一行 | yy |
粘贴 | p |
2.输入模式
操作 | 方法 |
---|---|
删除光标前一个字符 | 退格键 |
删除光标后一个字符 | del |
移动光标 | 上下左右方向键 |
移动光标 | 上下左右方向键 |
移动到行首/行尾 | HOME/END |
上/下翻页 | Page Up/Page Down |
移动到行首/行尾 | HOME/END |
3.底线模式
操作 | 方法 |
---|---|
删除光标前一个字符 | 退格键 |
删除光标后一个字符 | del |
移动光标 | 上下左右方向键 |
移动光标 | 上下左右方向键 |
移动到行首/行尾 | HOME/END |
上/下翻页 | Page Up/Page Down |
移动到行首/行尾 | HOME/END |
搜索
操作 | 方法 |
---|---|
/word | 向上查找 |
?word | 向下查找 |
:n1,n2s/word1/word2/g | 第 n1 与 n2 行之间替换wrod1为word2 |
:1,$s/word1/word2/g | |
或 :%s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 |
g换成gc | 替换前确认 |
上/下翻页 | Page Up/Page Down |
显示行号 | :set nu |