一、文件内容
1、head 查看文档的前几行内容
head -n 数字 文件 // -n 表示显示前几行的内容
head -5 /etc/passwd
2、tail 查看文档(日志)的后几行内容
tail -n 数字 文件
tail -5 /etc/passwd
实时监控文件 web.log
tail -f web.log tail -10f web.log
3、grep 搜索存在 关键字 的行
搜索 /etc/passwd 文件中出现 bash 的行
grep bash /etc/passwd //root:x:0:0:root:/root:/bin/bash
ls -l |grep 04
-n 显示行号
grep -n bash /etc/passwd
-i 忽略大小写 grep -i BASH /etc/passwd
-v 搜索文件中没有出现关键字的行
正则表达式 搜索以 sys 开头的行的内容 grep ^sys /etc/passwd
4、正则表达式
\ | 将下一字符标记为特殊字符、文本、反向引用或八进制转义符 |
^ | 以 开头 ^hello.* 以 hello 开头的 |
* | 量词 0次到多次 ^he.*[1-9]*$ 结尾可以不出现数字 |
. | 0 到任意一个单个字符 |
$ | 匹配 输入字符串结尾的位置 ^hello.*[1-9]$ hello1 |
+ | 1 次到多次 ^he.*[1-9]+$ 结尾数字至少要有一个 |
? | 0 次或 1 次 ^he.*[1-9]?$ |
{n} | 正好匹配 n 次 |
{n,m} | 至少匹配 n 次,至多匹配 m 次 o{0,1} |
x|y | 匹配 x 或 y |
[xyz] | 匹配包含的任意一个字符 匹配 abxcin 中的 x |
[^xyz] | 匹配不在指定范围内的任何字符 |
\d | 数字字符匹配 等效于 [0-9] |
\D | 非数字字符匹配 等效于 [^0-9 ] |
\w | 匹配任何字类字符 包括下划线 等效于 [A-Za-z0-9_ ] |
\W | 与任何非单词字符匹配 等效于 [^A-Za-z0-9_] |
5、cut 以某种方式按照文件的行进行分割
-b 按字节选取 -c 按字符选取 -d 自定义分隔符,默认为制表符 -f-d 指定显示哪个区域
n :只有第 n 项 n- :第 n 项一直到行尾 n-m : 第 n 项到第 m 项,包括m
cut -b 3 a.txt 角标从 1 开始 //111:aaa:bbb:ccc 返回每一行第三个位置的数字
cut -b 1-4 a.txt //返回每一行 第1到第四个位置的内容
找出文件中每一行中第 1、2、3、4个字符
cat a.txt | cut -b 1,2,3,4 //111:
cut -d ':' -f 1 a.txt