文件内容
查看文件
1.cat
2.more
3.less
cat
cat命令连接文件并打印到标准输出设备上
cat [OPTION]… [FILE]…
选项
-E: 显示行结束符$
-n: 对显示出的每一行进行编号
-A: 显示所有控制符
-b: 非空行编号
-s: 压缩连续的空行成一行
例子
把last命令的输出重定向到f1文件里面并编号显示
1. [ root@centos7 ~ ]# last > f1
2. cat -n f1
3. 1 root pts/0 172.222.222.222 Fri Jul 28 11:45 - 16:38 (04:53)
4. 2 root pts/1 172.222.222.222 Fri Jul 28 08:19 still logged in
5. 3 root pts/0 172.222.222.222 Fri Jul 28 08:12 - 09:59 (01:47)
…….
more
more命令是一个基于vi编辑器文本过滤器
cat [OPTION]… [FILE]…
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,
给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答:
- 按Space键:显示文本的下一屏内容。
- 按Enier键:只显示文本的下一行内容。
- 按H键:显示帮助屏,该屏上有相关的帮助信息。
- 按B键:显示上一屏内容。
- 按Q键:退出rnore命令。
选项
-<数字>:指定每屏显示的行数
-d:显示翻页及退出提示
-c:不进行滚屏操作。每次刷新这个屏屏幕
-s:将多个空行压缩成一行显示
-u:禁止下划线
+<数字>:从指定数字的行开始显示
less
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
less [OPTION]… [FILE]…
选项
-e:文件内容显示完毕后,自动退出
-f: 强制显示文件
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度
-l:搜索时忽略大小写的差异
-N:每一行行首显示行号
-s:将连续多个空行压缩成一行显示
-S:在单行显示较长的内容,而不换行显示
-x<数字>:将TAB字符显示为指定个数的空格字符
文件截取
显示文本前或后行内容
1.head
2.tail
head
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容
head [OPTION]… [FILE]…
选项
-c<字符数>:指定显示头部内容的字符数
-v:总是显示文件名的头信息
-q:不显示文件名的头信息
-#: 指定行数
例子
把1 2 3 4 5输入f1中,用head取前3行
1. cat >f1<<666
2. >1
3. >2
4. >3
5. >4
6. >5
7. >666
8. cat f1 | head -3
9. 1
10. 2
11. 3
tail
tail命令用于显示文件的尾部的内容。tail命令默认在屏幕上显示指定文件的末尾10行
tail [OPTION]… [FILE]…
选项
-c: 指定获取后#字节
-n: 指定获取后#行
-#: 指定行数
-f: 跟踪显示文件新追加的内容,常用日志监控
例子
把1 2 3 4 5输入f1中,用tail取后3行
- cat >f1<<999
- >1
- >2
- >3
- >4
- >5
- >999
- cat f1 | tail -3
- 3
- 4
- 5
抽取合并文本
按列抽取文本和合并文本
1.cut
2.paste
cut
cut命令用来显示行中的指定部分,删除文件中指定字段。
cut [OPTION]… [FILE]…
选项
-b:仅显示行中指定直接范围的内容
-c:仅显示行中指定范围的字符
-d:指定字段的分隔符,默认的字段分隔符为“TAB”
-f:显示指定字段的内容
-n:与“-b”选项连用,不分割多字节字符
–complement:补足被选择的字节、字符或字段
–out-delimiter=<字段分隔符>:指定输出内容是的字段分割符
–help:显示指令的帮助信息
–version:显示指令的版本信息
例子
显示出/etc/passwd第一列和第三列
- cut -d: -f 1,3 /etc/passwd
- root:0
- bin:1
- daemon:2
- adm:3
……
直接显示出centos7的IP地址
- ifconfig ens33 | tr -s ’ ’ ‘:’|head -2|tail -n1|cut -d: -f3
- 172.222.222.222
查看分区利用率
- df | tr -s ” ” “%” | cut -d% -f5
- Use
- 10
- 0
- 0
- 2
- 0
- 100
- 1
- 17
- 0
paste
paste命令用于将多个文件按照列队列进行合并
paste [OPTION]… [FILE]…
选项
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
例子
用paste命令将f1 f2按照列队列进行合并
- paste f1 f2
- 1 1
- 2 2
- 3 3
- 4 4
- 5 5
分析文本
文本排序
1.wc
2.sort
3.uniq
wc
wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
wc [OPTION]… [FILE]…
选项
使用 -l 来只计数行数
使用 -w 来只计数单词总数
使用 -c 来只计数字节总数
使用 -m 来只计数字符总数
例子
显示/etc/passwd里面的行数
- wc -l /etc/passwd
- 43 /etc/passwd
sort
sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入
sort [OPTION]… [FILE]…
选项
-b:忽略每行前面开始出的空格字符
-c:检查文件是否已经按照顺序排序
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f:排序时,将小写字母视为大写字母
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符
-m:将几个排序号的文件进行合并
-M:将前面3个字母依照月份的缩写进行排序
-n:依照数值的大小排序
-o<输出文件>:将排序后的结果存入制定的文件
-r:以相反的顺序来排序
-t<分隔字符>:指定排序时所用的栏位分隔字符
+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位
例子
反方向整理f1数据
- sort -r f1
- 5
- 4
- 3
- 2
- 1
uniq
uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
uniq [OPTION]… [FILE]…
选项
-c: 显示每行重复出现的次数 (把重复的压缩了)
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
例子
删除重复行
- uniq file.txt
- sort file.txt | uniq
- sort -u file.txt
只显示单一行
- uniq -u file.txt
- sort file.txt |uniq -u
统计各行在文件中出现的次数
- sort file.txt | uniq -c
在文件中找出重复的行
- sort file.txt | uniq -d
文本过滤
三剑客之grep
grep
作用:文本搜索工具,根据用户指定的“模式”对目标文
本逐行进行匹配检查;打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
grep [OPTIONS] PATTERN [FILE…]
选项
–color=auto: 对匹配到的文本着色显示
-v: 显示不被pattern匹配到的行
-i: 忽略字符大小写
-n:显示匹配的行号
-c: 统计匹配的行数
-o: 仅显示匹配到的字符串
-q: 静默模式,不输出任何信息
-A #: after, 后#行
-B #: before, 前#行
-C #:context, 前后各#行
-e:实现多个选项间的逻辑or关系 grep –e ‘cat ’ -e ‘dog’ file
- w:匹配整个单词
- E:使用ERE
- F:相当于fgrep,不支持正则表达式
例子
在多个文件中查找abcd
- grep “abcd” f1 f2 f3 f4
显示/proc/meminfo文件中以大小s开头的行(要求:使用两 种方法)
- cat /proc/meminfo | grep ^[Ss].*
- grep -i “^s” /proc/meminfo
显示/etc/passwd文件中不以/bin/bash结尾的行
- grep -v “/bin/bash$” /etc/passwd
显示用户rpc 默认的shell程序
- grep “^rpc:” /etc/passwd | cut -d: -f7
显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行
- grep -E “^[[:space:]]+[^[:space:]]” /etc/grub2.cfg
感谢指导小白错误之处