文章目录
- 文件内容查看
- 查看文本文件内容
- cat
- tac
- rev
- nl
- 查看非文本文件内容
- hexdump
- od
- xxd
- 分页查看文件内容
- more
- less
- 显示文本前后的行内容
- head
- tail
- 文件描述符
- 如果找到文件描述符
- 查看最新日志
- 范例:找出IP地址的那一行
- cut--按列抽取文本
- 按分隔符
- 按字符位置
- 取网卡ip
- tr--文本转换/删除/压缩
- 转换字母大小写
- 删除字符串中的数字
- 压缩重复字符
- 先替换再删除指定字符
- 替换
- 分析文本的工具
- wc--统计文本数据
- 去掉df信息的头部注释行
- sort--文本排序
- 找到磁盘利用率最大的数据
- uniq--去重
- 统计曰志访问量最多的请求
- 并发连接最多的远程主机IP
- 取两个文件的相同和不同的行
- 比较文件
- diff
文件内容查看
查看文本文件内容
cat
cat可以查看文本内容
格式
cat [OPTION]... [FILE]...
常见选项
-E: 显示行结束符$
-A: 显示所有控制符
-n: 对显示出的每一行进行编号
-b: 非空行编号
-s: 压缩连续的空行成一行
[root@rocky ~]# cat /data/fc.txt
a
b
c
[root@rocky ~]# hexdump -C /data/fb.txt
00000000 61 0a 62 0a 63 0a 64 0a 0a |a.b.c.d..|
00000009
[root@rocky ~]# cat -A /data/fc.txt
a^M$
b^M$
c^M$
[root@rocky ~]# file /data/fc.txt
/data/fc.txt: ASCII text, with CRLF line terminators
[root@rocky ~]#
压缩连续的空行
cat即支持输入又支持输出,如果想临时的创建一个文件的话就可以直接使用cat不必再用vim打开了。
tac
tac可读键盘输入
rev
rev也可读取键盘输入
nl
显示行号,相当于cat -b
查看非文本文件内容
hexdump
od
od即dump files in octal and other formats
xxd
分页查看文件内容
more
可以实现分页查看文件,可以配置管道实现输出信息的分页
格式
more [OPTIONS. . .] FILE. . .
选项:
-d: 显示翻页及退出提示
more一旦翻到底就退出了,less则不会。
less
less 也可以实现分页查看文件或STDIN输出,,less命令是man命令使用的分页器。less使用的更多
查看时有用的命令包括:
/文本 搜索 文本
n/N 跳到下一个 或 上一个匹配
PgUP/PgDn 上下翻页
[root@rocky ~]# ls -R /etc/ |less
显示文本前后的行内容
head
可以显示文件或标准输入的前面行
格式:
head [OPTION] ... [FILE]...
选项:
-c num 指定获取前num字节
-n num 指定获取前num行,num如果为负数,表示从文件头取到倒数第num前
-num 同上
head也支持标准输入重定向和管道
tail
tail和head相反,查看文件或标准输入的倒数行
格式:
tail [OPTION].. . [FILE]...
常用选项
-c num 指定获取后num字节
-n num 指定获取后num行,如果num是负数,表示从第num行开始到文件结束-num同上
-f 跟踪显示文件fd(文件描述符)新追加的内容,常用日志监控,相当于--fo1low=descriptor,
当文件删除再新建同名文件,将无法继续跟踪文件
-F 跟踪文件名,相当于--fo11ow=name --retry,当文件删除再新建同名文件,将可以继续跟踪文件
tailf 类似 tail -f,当文件不增长时并不访问文件,节约资源, Centos8已经无此工具
tail -fn0 只监控新日志内容。
文件描述符
tail -f xxx跟踪的是文件描述符,
如果找到文件描述符
删除文件后,tail并没有报错,是因为此时f1.txt文件的描述符还在,使用-F选项则是跟踪文件名。
查看最新日志
[root@rocky ~]# tail -fn0 /var/log/messages
[root@rocky ~]# tail -0f /var/log/messages
范例:找出IP地址的那一行
ifconfig ens160 |head -2|tail -1
cut–按列抽取文本
cut命令可以提取文本文件或STDIN数据的指定列
格式
cut [OPTION]. .. [FILE]...
常用选项
-d delimiter: 指明分隔符,默认tab
-f fileds:
num: 第num个字段,例如:3
num,num[,num]: 离散的多个字段,例如:1,3,6
num-num: 连续的多个字段,例如:1-6
混合使用:1-3,7
-c 按字符切割
--output-de1imiter=STRING 指定输出分隔符
按分隔符
按字符位置
打开Xshell显示已复制的字符数设置
取网卡ip
tr–文本转换/删除/压缩
tr(translate)命令是 Linux 中的一个简单但强大的命令行工具,用于替换或删除文本中的字符。它从标准输入读取数据,并将输出结果发送到标准输出。tr 命令特别适合处理字符转换、删除、压缩重复字符等任务。
格式
tr [OPTION]... SET1 [SET2]
SET1:指定要被替换或删除的字符集。
SET2:指定替换字符集(当执行替换操作时)。
常用选项
常用选项
-d:删除指定的字符集,而不是转换。
-s:替换连续重复的字符为单一字符。
-c:对指定字符集的补集进行操作,即对不在集合中的字符进行处理
转换字母大小写
删除字符串中的数字
压缩重复字符
先替换再删除指定字符
替换
分析文本的工具
文本数据统计:wc
整理文本:sort
比较文件:diff和patch
wc–统计文本数据
wc命令可用于统计文件的行总数、单词总数、字节总数和字符总数,可以对文件或STDIN中的数据统计。
常用选项
-l 只计数行数
-w 只计数单词总数
-c 只计数字节总数
-m 只计数字符总数
-L 显示文件中最长行的长度
去掉df信息的头部注释行
sort–文本排序
把整理过的文本显示在stdout,不改变原始文件。默认安装字符顺序排序
格式:
sort [options] file(s)
常用选项
-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-h 人类可读排序,如:2K 1G
-f 选项忽略(fo1d)字符串中的字符大小写
-u 选项(独特,unique),合并重复项,即去重
-t c 选项使用c做为字段界定符
-k num 选项按照使用c字符分隔的num列来整理能够使用多次
按数字正序排
按数字倒序排
找到磁盘利用率最大的数据
df |tr -s ' ' '%'|cut -d% -f5|sort -nr|head -1
uniq–去重
uniq命令从输入中删除前后相邻的重复的行
格式:
uniq [OPTION]... [FILE]...
常见选项:
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
显示重复出现的次数
统计曰志访问量最多的请求
[root@centos8 ~]#cut -d' ' -f1 access_log |sort |uniq -c| sort -nr | head -3
4870 172.20.116.228
3429 172.20.116.208
2834 172.20.0.222
172.20.116.228的ip访问我的次数太多了4870次,肯定是个恶意请求,我要设置iptables规则,拒绝它的访问。
iptables -AINPUT -s 172.20.116.228
并发连接最多的远程主机IP
[root@centos8 ~]#ss -nt |tail -n+2 |tr -s ' ' : |cut -d: -f6 |sort |uniq -c |sort -nr |head -n2
7 10.0.0.1
2 10.0.0.7
取两个文件的相同和不同的行
比较文件
diff
diff命令比较两个文件之间的区别
-u选项来输出"统一的(unified)"diff格式文件,最适用于补丁文件