linux more和less命令详解


如果文本文件的行数太多,超过了一屏显示的行数,通过cat、tac和nl命令显示文件内容的话, 文件前面的内容会一闪而过,根本来不及看清,只能看到最后一屏的内容。这在图形界面模式下还好,terminal工具可以往上滚动翻页。 但是如果你是在纯命令行模式下运行的命令,那就只能用more或者less命令了。 more和less命令可以在用户的控制下一页一页的显示内容,这在查看大文件的时候非常方便。

1.more命令(一页一页翻动)

回到顶部
more命令常用格式:
              [root@initroot ~]# more filepath
            
用more命令查看/etc/manpath.config文件:
[root@initroot ~]# more /etc/manpath.config
# manpath.config
#
# This file is used by the man-db package to configure the man and cat paths.
# It is also used to provide a manpath for those without one by examining
# their PATH environment variable. For details see the manpath(5) man page.
#
# Lines beginning with `#' are comments and are ignored. Any combination of
# tabs or spaces may be used as `whitespace' separators.
#
# There are three mappings allowed in this file:
# --------------------------------------------------------
# MANDATORY_MANPATH			manpath_element
# MANPATH_MAP		path_element	manpath_element
# MANDB_MAP		global_manpath	[relative_catpath]
#---------------------------------------------------------
# every automatically generated MANPATH includes these fields
#
#MANDATORY_MANPATH 			/usr/src/pvm3/man
#
MANDATORY_MANPATH			/usr/man
--More--(15%)
            
如果more显示的文件内容行数大于屏幕输出的行数时, 就会在最后一行显示--More--(15%), 15%为已经显示了的百分比。光标也停留在最后一行的末尾处等待用户输入指令。有以下几个指令可以输入:
空格键(space) :向下翻一页;
Enter :向下翻一行;
/字符串 :代表在这个显示的内容当中,向下搜寻字符串关键词;
:f :显示文件名以及目前显示的行数;
q :立刻退出more,不再显示该文件的内容;
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管道无用。
我们通过空格键向下翻一页,或者按enter键往下翻一行,如果想看看目前的行数。只需要按下:f即可。基本上以上这些指令就足够了。 比较有用的是搜索指令/,输入/后,最后一行就会变成/,后面接光标等待用户进一步输入。 输入关键词字符串后按enter键,more就会向下搜索关键词。可以按n重复向下搜索。 more翻到最后一页就会自动退出,如果看到一半不想看了,就按q直接退出。

cat、tac和nl都是将文件内容一次性显示到屏幕上,不能一行一行或者一页一页的查看,比较适合查看行数较少的文件。
对于有些文件的行数超过整个屏幕可以输出的行数,可以用more或者less查看。more和less可以按行或者按页向下翻阅。 执行more命令查看文件的时候,在最后一行会显示出目前显示的百分比, 可以输入一些功能按键:
空格键(space):代表向下翻一页;
Enter:代表向下翻一行;
/string:代表在这个显示的内容当中,向下搜寻string这个关键词;
:f:立刻显示出文件名以及目前显示的行数;
q:退出more ,不再显示该文件内容。
b 或 [ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管道无用。
less和more类似,但是less在功能上比more更加丰富,比如more在翻页上有很多限制,只能使用回车向下翻页,而less可以使用翻页按键翻页。 此外less的查找功能也比more更加灵活,不仅可以向下查找,也可以向上查找。
可以输入的功能键有:
空格键:向下翻一页
[pagedown]:向下翻一页;
[pageup]:向上翻一页;
/string:向下搜寻string;
?string:向上搜寻string;
n:重复前一个搜寻 (与 / 或 ? 有关!)
N:反向的重复前一个搜寻 (与 / 或 ? 有关!)
g:前进到这个资料的第一行去;
G:前进到这个数据的最后一行去 (注意大小写);
q:退出less;
事实上,man命令就是调用less来显示文档内容的,所以less的显示和man非常类似。
Usage:
more [options] ...
A file perusal filter for CRT viewing.
Options:
-d display help instead of ringing bell
-f count logical rather than screen lines
-l suppress pause after form feed
-c do not scroll, display text and clean line ends
-p do not scroll, clean screen and display text
-s squeeze multiple blank lines into one
-u suppress underlining
-<number> the number of lines per screenful
+<number> display file beginning from line number
+/<string> display file beginning from search string match
--help display this help
-V, --version display version
For more details see more(1).

2.less命令(一页一页翻动)

回到顶部
more命令虽然也可以前后翻页,但是可用的指令比较少。less命令的指令就比较灵活了。 less有多种翻页方式,而且搜索功能更加强大,既可以向下搜索,也可以向上搜索。
less命令常用格式:
              [root@initroot ~]# less filepath
            
用less命令查看/etc/manpath.config文件:
[root@initroot ~]# less /etc/manpath.config
# manpath.config
#
# This file is used by the man-db package to configure the man and cat paths.
# It is also used to provide a manpath for those without one by examining
# their PATH environment variable. For details see the manpath(5) man page.
#
# Lines beginning with `#' are comments and are ignored. Any combination of
# tabs or spaces may be used as `whitespace' separators.
#
# There are three mappings allowed in this file:
# --------------------------------------------------------
# MANDATORY_MANPATH                     manpath_element
# MANPATH_MAP           path_element    manpath_element
# MANDB_MAP             global_manpath  [relative_catpath]
#---------------------------------------------------------
# every automatically generated MANPATH includes these fields
#
#MANDATORY_MANPATH                      /usr/src/pvm3/man
#
MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/man
#---------------------------------------------------------
# set up PATH to MANPATH mapping
# ie. what man tree holds man pages for what binary directory.
#
/etc/manpath.config
            
最后一行显示文件的路径,光标在最后一行的末尾等待用户输入指令,less命令常用指令如下所示:
空格键 :向下翻一页;
[pagedown] :向下翻一页;
[pageup] :向上翻一页;
/字符串 :向下搜索字符串;
?字符串 :向上搜索字符串;
n :重复前一个搜索(与/或?有关!)
N :反向的重复前一个搜索(与/或?有关!)
g :到文件的第一行;
G :到文件的最后一行;
q :退出less;
大家可以亲自在自己的linux上面体验这些指令的功能,这些和查看man page的操作是一样的, 其实man命令在内部就是调用的less命令来显示man page的,所以如果你之前经常用man来查看帮助文件,那么这些对你来讲应该很熟悉了。

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读