一、阅读文本内容
1.连接并显示文件
cat —Concatenate−用法:cat [选项]... 文件名...
注意事项
−结合-n 选项可显示出行号,方便文本定位、了解行数
−但当内容较多时,阅读不完整
[root@hadoop ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
[root@hadoop ~]# cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
2.分页阅读工具
more命令
−用法:more 文件名...
−不足:往回翻页不方便
基本交互操作
−按Enter键下翻一行、空格键下翻一屏
−按q 或Q 键退出−按/ 键向后查找特定关键字
[root@hadoop ~]# more /etc/passwd #显示内容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
less命令
−用法:less 文件名...
−优势:支持前后翻页
基本交互操作
−按上下箭头键滚动一行
−按PgUp向前翻页、PgDn向后翻页
−按q 或Q 键退出−按/ 键向后查找特定关键字
[root@hadoop ~]# less /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
二、提取文本的部分行
1.截取文件首/尾部
head、tail 命令
−格式:head [ -n 数字] 文件名
tail [ -n 数字] 文件名
不写行数,默认十行
[root@hadoop ~]# tail /etc/passwd
2.取首/尾应用示例
查看文件开头的2 行
[root@hadoop ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
查看文件末尾的2 行
[root@hadoop ~]# tail -n 2 /etc/passwd
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
ntp:x:38:38::/etc/ntp:/sbin/nologin
3.取文件中段应用示例
与管道操作的组合
−head .. .. | tail .. ..
[root@hadoop ~]# cat -n /etc/passwd | head -20 | tail
11 operator:x:11:0:operator:/root:/sbin/nologin
12 games:x:12:100:games:/usr/games:/sbin/nologin
13 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
14 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
15 nobody:x:99:99:Nobody:/:/sbin/nologin
16 vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
17 saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
18 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
19 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
20 mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
4.保存命令输出
重定向操作−用法:cmd1 > 文件路径
[root@hadoop ~]# man ls > file1.txt //保存ls的man手册文档
[root@hadoop ~]# less file1.txt
三、wc字数统计
1.文件字数统计
wc—Word Count
−用法:wc[选项]... 文件名...
−统计结果依次为:行数、单词数、字节数
[root@hadoop ~]# wc /etc/passwd
21 28 944 /etc/passwd
2.字节vs字符统计
注意事项
−英文字符占1个字节、中文字符占2~3个字节
−隐藏的换行符也占用1个字节
[root@hadoop ~]# wc -c file1.txt //按字节数统计
10088 file1.txt
[root@hadoop ~]# wc -m file1.txt //按字符数统计
10053 file1.txt
3.wc-l应用示例
统计一共有多少用户账号
[root@hadoop ~]# wc -l /etc/passwd
21 /etc/passwd
计算/etc/ 目录下.conf配置文件的个数
[root@hadoop ~]# ls -l /etc/*.conf | wc -l
19
四、grep文本检索
1.grep基本用法
2.grep检索应用示例
过滤配置文件的有效行
−忽略文件内的注释行、忽略空行
−注释行以# 号开始
3.使用扩展正则表达式
查找多个关键词,匹配任一个都输出
−用法:grep-E '关键词1|关键词2
−与egrep命令等效
[root@hadoop ~]# grep -vE '^#|^$' /etc/default/useradd
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@hadoop ~]# egrep -v '^#|^$' /etc/default/useradd
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
4.练习
列出/proc/cpuinfo文件中的processor 行(CPU核心记录)
[root@hadoop ~]# grep 'processor' /proc/cpuinfo
processor : 0
列出/proc/cpuinfo文件中的physical id 行(物理CPU记录)
[root@hadoop ~]# grep 'physical id' /proc/cpuinfo
列出系统中使用/bin/bash作登录Shell的用户记录
[root@hadoop ~]# grep 'bin/bash' /etc/passwd
root:x:0:0:root:/root:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash