文本查看cat、more、less
cat
-A FILE 显示所有控制符
-n 加行号
-b 非空行加行号=nl file
-s 压缩空白行号
tac 逆向显示内容
rev 每一行的内容逆向显示
分页查看文件内容
more FILE
空格往下翻,到底退出
Ctrl+b往回翻
q退出
-d 显示页数
less 最好用
/pattern 搜索
n/N 跳转到匹配字符的下一个或上一个
查看行内容head、tail
head
-n # :#为正数,显示前#行,#为负数,不显示后#行
[root@Rocky8~]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@Rocky8~]# seq 10 |head -n 3
1
2
3
[root@Rocky8~]# seq 10 |head -n -3
1
2
3
4
5
6
7
tail
-n #:+#显示从第#行到末行;-#/#显示后#行
[root@Rocky8~]# seq 10 |tail -n 3
8
9
10
[root@Rocky8~]# seq 10 |tail -n -3
8
9
10
[root@Rocky8~]# seq 10 |tail -n +3
3
4
5
6
7
8
9
10
-f 跟踪显示文件新追加的内容,常用于日志监控/var/log/message。当文件删除在建同名文件,将无法继续跟踪文件。
-F 跟踪文件名,当文件删除在建同名文件,将继续跟踪文件
显示纵行信息cut
-d DELIMITER:指明分割符,默认是TAB
-c 按字符切割
-f FILEDS
# 第#个字段
#,#[,#] 离散的多个字段
#-#:连续的多个字段
[root@Rocky8~]# df |cut -d% -f1 |rev |cut -d" " -f1 |rev
Use
0
0
1
0
18
44
1
100
[root@Rocky8~]# df |tr -s ' ' |cut -d" " -f5 |tr -d %
Use
0
0
1
0
18
44
1
100
合并文件paste
横向合并:paste
-d指定分割符
-s 纵向显示转化为横向显示
[root@Rocky8~]# seq 10 |paste -s
1 2 3 4 5 6 7 8 9 10
[root@Rocky8~]# seq 10 |paste -s -d" "
1 2 3 4 56 7 8 9 10
[root@Rocky8 ~]#
纵向合并:cat FILE1 FILE2
分析文本工具wc、sort、uniq
1、wc
-l 计数行数
-w 计数单词总数
-c 计数字节总数
-m 计数字符总数
-L 显示文件中最长行的长度
wc a.txt
40 500 2000 a.txt
行数 单词数 字节数
2、sort
-t 指定分割符
-k# 指定第#列
-n 按数字排序
-r 从大到小排序
-R 随机排序
-u 合并重复
-rnk
3、uniq : 相邻重复去重
-c 显示重复出现的次数
-d 仅显示重复的行
-u 仅显示不重复的行
比较文件diff、patch
diff:比较两个文件的不同
-u 对比两文件,删除,增添内容以达到两文件内容一致
vimdiff
patch:对比两文件内容,还原之前被删除文件的内容
-b 备份改变的文件
diff -u f1.txt f2.txt > f.patch
rm -rf f2.txt
patch -b f1.txt f.patch
tr命令
标准输入实现转换、压缩、和删除
[root@Rocky8~]# tr 'a-z' 'A-Z'
askjdfkjas
ASKJDFKJAS
-d 实现删除
[root@Rocky8~]# echo heaabllccabo | tr -d 'abc'
hello
-s 实现压缩,相邻的压缩
[root@Rocky8~]# echo aaabbbcccaaa | tr -s 'abc'
abca
[root@Rocky8~]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@Rocky8~]# seq 10 | tr -d '\n'
12345678910
[root@Rocky8~]# seq 10 | tr '\n' ' ' 换行替换成空格
1 2 3 4 56 7 8 9 10
[root@Rocky8~]# df | tr -s ' ' + (将多个空格压缩成一个并将空格替换成+)
Filesystem+1K-blocks+Used+Available+Use%+Mounted+on
devtmpfs+966976+0+966976+0%+/dev
tmpfs+996036+0+996036+0%+/dev/shm
tmpfs+996036+9680+986356+1%+/run
cat实现多行重定向
[root@Rocky8~]# cat > a.txt <<!
> a
> b
> c
> d
> !(可换)
[root@Rocky8~]# cat a.txt
a
b
c
d
tee,支持标准输入
读取标准输入既可以存入文件,会自动创建此文件中也可以在屏幕中显示
-a 追加,tee默认覆盖
[root@Rocky8~]# echo -e 'line1\nline2\nline3' |tee a.log
line1
line2
line3
[root@Rocky8~]# cat a.log
line1
line2
line3
-a 追加