目录
浏览普通文件内容
命令
|
常用选项
|
说明
|
cat |
-n:
对输出内容中的所有行标注行号
-b:
对输出内容中的非空行标注行号
| 查看本地文件内容 |
haed |
-num:
指定需要显示文件
num
行的内容
| 默认查看文档的前10行 |
tail |
-num:
指定需要显示文件
num
行的内容
-f:
使
tail
不停地去读取和显示文件最新的内容
,
这样有实时监视的效果
(tail
命令更多的用于查看系统日志文件,按【
Ctrl+C
】
键终止显示和跟踪)
| 默认查看文件后10行 |
more |
-c:
从顶部清屏然后显示文件内容
|
分页查看文件内容
(按
Enter
键向下逐行滚动,按空格键向下翻一屏,按b
键向上翻一屏,文件末尾时more
会自动退出)
|
less |
-c:
从顶部清屏然后显示文件内容
-N:
其作用是在每行前添加输出行号
|
分页查看文件内容
(按
Enter
键向下逐行滚动,按空格键向下翻一屏,按b
键向上翻一屏,按q
键退出)
|
注意:以上命令都可以结合管道符“|”使用。
过滤文件内容显示 - grep命令
grep --- 在指定的普通文件中查找并显示含有指定字符串的行,也可与管道符一起使用
格式:
grep [选项]... 模式 [文件]...
选项:
选项 | 说明 |
-c | 仅仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择--仅列出没有关键词的行 |
-A | 加数字‘n’,例如-A 2 搜索时显示匹配到的那一行以及下2行 |
-B | 加数字‘n’,例如-B 2 搜索时显示匹配到的那一行以及上2行 |
-C | 加数字‘n’,例如-C 2 搜索时显示匹配到的那一行以及上下2行 |
-w | 精确匹配仅含有该字符的行 |
示例
使用
grep
命令来查找出当前系统中不允许登录系统的所有用户信息,并输出行号。
[root@localhost ~]# grep -n nologin /etc/passwd
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
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
14:systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
15:dbus:x:81:81:System message bus:/:/sbin/nologin
。。。//省略一部分
补充:
在
Linux
系统中,
/etc/passwd
文件是保存着所有的用户信息,而一旦用户的登录终端被设置 成/sbin/nologin
,则不再允许登录系统。
使用特殊符号进行字符串的匹配
匹配模式
| 说明 |
grep h 文件 | 查找文件里有字符‘h’的行 |
grep ^[q] 文件 | 匹配以字符‘q’开始的行 |
grep ^[qf] 文件 | 匹配以字符‘q’或‘f’开始的行 |
grep ^[^qf] 文件 | 不匹配以字符‘q’或‘f’开始的行 |
grep ^[0-9] 文件 | 匹配以数字开始的行 |
grep q$ 文件 | 匹配以字符‘q’结束的行 |
grep ^$ | 过滤空白行 |
grep -r h ./* |
明确搜索当前目录中的子目录有
h
的行
|
grep -d skip h ./*
|
忽略当前目录下的子目录下的普通文件
|
切割显示 - cut命令
cut --- 用于按列提取文本内容
格式:
cut [选项]... [文件]...
选项:
-d | 切割文档,加分隔符 |
-f | 切割后选择想要的文段,后加数字 |
-c | 不指定分割符,切割每一个字符 |
示例
输出passwd文档的用户名和权限
[root@localhost ~]# cut -d: -f1,7 /etc/passwd
root:/bin/bash
bin:/sbin/nologin
daemon:/sbin/nologin
adm:/sbin/nologin
lp:/sbin/nologin
。。。//省略
排序显示 - sort命令
sort --- 对文本内容进行排序显示,执行后默认会按照字母顺序进行排序
格式:
sort [选项]... [文件]...
选项:
选项
|
作用
|
-f | 忽略大小写 |
-b | 忽略缩进与空格 |
-n | 以数值大小排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字段范围 |
示例:
以第三个字段中的数字作为排序依据对/etc/passwd
文件中前五个字段进行排序
[root@localhost ~]# head -5 /etc/passwd | sort -t : -k 3 -n
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
去重显示 - uniq命令
uniq ---
去除文本中连续的重复行
格式:
uniq [选项]... [文件]
上面的sort中的-u选项就是调用的这个命令。
-c选项:可以统计重复次数。
替换文件中的字符显示 - tr命令
tr --- 指令从标准输入读取数据,经过替换或者删除后,将结果输出到标准输出
格式:
tr [选项]... SET1 [SET2]
选项:
-c | 反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换 |
-d | 删除指令字符 |
-s | 缩减连续重复的字符成指定的单个字符 |
示例:
将文件
testfile
中的小写字母全部转换成大写字母
[root@master ~]#cat testfile |tr a-z A-Z