more,less,head,tail

当用cat,tac命令查看文件时,文件的所有内容都会被刷出来,因为缓存有限,被刷过去的内容可能就留不住了。用cat查看个小文件还可以,查看大文件时就用到下面的命令。

 

more (选项)(参数)    基于VIM编辑器的文本查看工具

默认:

1
2
3
4
5
6
7
8
9
10
11
[root@localhost tmp]# more rc.sysinit
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
。。。
。。。
if [ ! -d /proc/bus/usb ]; then
    modprobe usbcore >/dev/null 2>&1 && mount -n -t usbfs /proc/bus/usb /
proc/bus/usb
--More--(2%)

-数字:代表每一屏可以查看的行数

1
2
3
4
5
6
7
8
9
10
[root@localhost tmp]# more -2 rc.sysinit
#!/bin/bash
#
[root@localhost tmp]# more -5 rc.sysinit
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
# Taken in part from Miquel van Smoorenburg's bcheckrc.
--More--(0%)

-d:显示“[press space to continue,'q' to quit.]”

1
2
3
4
5
6
7
[root@localhost tmp]# more -5d rc.sysinit
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
# Taken in part from Miquel van Smoorenburg's bcheckrc.
--More--(0%)[Press space to continue, 'q' to quit.]

 -c:不进行滚屏操作。每次刷新这个屏幕;

1
2
3
4
5
6
7
这个不好演示,大概意思就是满屏幕就是这个,他只会在这个部分刷新显示
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
# Taken in part from Miquel van Smoorenburg's bcheckrc.
--More--(0%)

 -s:将多个空行压缩成一行显示,在cat中演示过。

-u:禁止下划线;

+数字:从数字行开始显示。

 

 

-------------------------------------------------------------------------------------------------------------------------

 

 

less (选项)(参数)  和more选项差不多,但是可以前后翻页,再显示完成后不退出。

-e:文件内容显示完毕后,自动退出;

1
2
3
less操作完文本之后,不会自动退出,在末尾加上
(END)
当加上-e选项后,显示完成直接退出

-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
这个选项的意义在less命令执行之后,输入”/关键词“之后,不进行全屏关键词泛白,对比效果如下
if [ -f /etc/sysconfig/network ]; then
    . /etc/sysconfig/network
fi
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
    HOSTNAME=localhost
fi
 
if [ ! -e /proc/mounts ]; then
        mount -n -t proc /proc /proc
        mount -n -t sysfs /sys /sys >/dev/null 2>&1预览了下并没有效果,在bash下上面这部分if都是泛白的,下面的部分单个if泛白
-------------------------------------------------------------------
if [ -f /etc/sysconfig/network ]; then
    . /etc/sysconfig/network
fi
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
    HOSTNAME=localhost

 -l:搜索时忽略大小写的差异;

1
跟-g差不多的意思,不做演示了

 -N:每一行行首显示行号;

1
2
3
4
5
6
1 #!/bin/bash
     2 #
     3 # /etc/rc.d/rc.sysinit - run once at boot time
     4 #
     5 # Taken in part from Miquel van Smoorenburg's bcheckrc.
     6 #

 -s:将连续多个空行压缩成一行显示;

-S:在单行显示较长的内容,而不换行显示;

-x<数字>:将TAB字符显示为指定个数的空格字符。

 

 

-------------------------------------------------------------------------------------------------------------------------

 

 

 

head (选项)(参数)   head用来显示文件的头信息

-n数字:显示文件的头n行,n也可以省略,默认显示10行

1
2
3
4
5
6
[root@localhost tmp]# head -n2 a
ddsfjasndfkjasbdf
asdgagafdg
[root@localhost tmp]# head -2 a
ddsfjasndfkjasbdf
asdgagafdg

 -c数字:显示文件的头n个字符

1
2
[root@localhost tmp]# head -c5 a
ddsfj[root@localhost tmp]#

 -v:把文件名显示在开头

1
2
3
4
5
6
7
8
9
[root@localhost tmp]# head -v a
==> a <==
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a

 

 

 

-------------------------------------------------------------------------------------------------------------------------

 

 

 

tail (选项)(参数)   默认从文本某位到-10行显示,如果参数是多个文件,会加上文件名来区分。如果在数字前面加上+号,那就是从这个数字行或字符开始显示

-c数字:从末尾开始输出数字个字符

1
2
3
[root@localhost tmp]# tail -c3 a
aa
文本末尾有结束符或各种符号

-c+数字:从第数字个字符开始显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@localhost tmp]# tail a
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa
[root@localhost tmp]# tail -c+3 a
sfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa

-f:监视这个文本的变化,即在一端打开这个文本,另一端在操作文本之后保存,这端马上就会更新文本的变化

-n数字:从末尾到数字行显示,n可以省略,只能在这里省略n

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost tmp]# tail a
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa
[root@localhost tmp]# tail -n 3 a
adag
a
aaaaaaaaa

 -n+数字:从第数字行开始显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost tmp]# tail  a
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa
[root@localhost tmp]# tail -n +3 a
adga
 ag
    
adag
a
aaaaaaaaa

 -v:当有多个参数时,分别显示其文件名,也是默认参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@localhost tmp]# tail a b
==> a <==
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa
 
==> b <==
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa

 -q:当有多个参数时,不显示其文件名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@localhost tmp]# tail -q a b
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa
ddsfjasndfkjasbdf
asdgagafdg
adga
 ag
    
adag
a
aaaaaaaaa

 

posted @   ForLivetoLearn  阅读(250)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示