linux中cat、more、less命令区别详解
linux中命令cat、more、less均可用来查看文件内容,主要区别有:
1、cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况。
cat主要有三大功能:
1.1 一次显示整个文件:cat filename
1.2 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件
1.3 将几个文件合并为一个文件:cat file1 file2 > filecat -n filename 显示整个文件,加上行号
cat -n messages
# cat -n messages
1 Jan 6 10:09:02 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0" x-pid="619" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
2 Jan 6 10:09:02 localhost logrotate: ALERT exited abnormally with [1]
3 Jan 6 10:09:12 localhost systemd: Removed slice User Slice of root.
4 Jan 6 10:09:12 localhost systemd: Stopping User Slice of root.
5 Jan 6 10:10:01 localhost systemd: Created slice User Slice of root.
####
[root@localhost bbb]# cat vv
cat
:wq
[root@localhost bbb]# cat q
aa
[root@localhost bbb]# cat vv q >bb
# cat bb
cat
:wq
aa
[root@localhost bbb]# cat vv q >>bb
[root@localhost bbb]# cat bb
cat
:wq
aa
cat
:wq
aa
2、more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
常用操作命令:
Enter 向下n行,需要定义。默认为1行
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
q 退出more
# more messages
Jan 6 10:09:02 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.
0" x-pid="619" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Jan 6 10:09:02 localhost logrotate: ALERT exited abnormally with [1]
Jan 6 10:09:12 localhost systemd: Removed slice User Slice of root.
Jan 6 10:09:12 localhost systemd: Stopping User Slice of root.
Jan 6 10:10:01 localhost systemd: Created slice User Slice of root.
Jan 6 10:10:01 localhost systemd: Starting User Slice of root.
Jan 6 10:10:01 localhost systemd: Started Session 11 of user root.
Jan 6 10:10:01 localhost systemd: Starting Session 11 of user root.
Jan 6 10:10:01 localhost systemd: Removed slice User Slice of root.
Jan 6 10:10:01 localhost systemd: Stopping User Slice of root.
Jan 6 10:14:06 localhost smartd[645]: Device: /dev/sda [SAT], CHECK POWER STATU
S spins up disk (0x82 -> 0xff)
Jan 6 10:20:01 localhost systemd: Created slice User Slice of root.
Jan 6 10:20:01 localhost systemd: Starting User Slice of root.
Jan 6 10:20:01 localhost systemd: Started Session 12 of user root.
Jan 6 10:20:01 localhost systemd: Starting Session 12 of user root.
Jan 6 10:20:01 localhost systemd: Removed slice User Slice of root.
Jan 6 10:20:01 localhost systemd: Stopping User Slice of root.
Jan 6 10:25:01 localhost systemd: Created slice User Slice of pcp.
Jan 6 10:25:01 localhost systemd: Starting User Slice of pcp.
Jan 6 10:25:01 localhost systemd: Started Session 13 of user pcp.
Jan 6 10:25:01 localhost systemd: Starting Session 13 of user pcp.
--More--(7%)
3、less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜,而且 less 在查看之前不会加载整个文件。
常用操作命令:
-N 显示每行的行号
空格键 滚动一页
回车键 滚动一行
b 向后翻一页
d 向后翻半页
u 向前滚动半页
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)