文件内容查看
1. cat命令
语法:
用法:cat [选项]...[文件]...
常用选项:
-n:对输出的所有行编号
-b:对输出的所有行编号(不含空白行,即空白行是没有行号的)
-t:将制表符(tab)显示为^I
-e:在每行结束出显示“$”
-s:当连续空白行数量大于1时,合并为1个空白行
cat命令会一次性将文件的完整内容全部显示出来,不适合大文件。
查看文件所有内容:
[root@iZ2ze4z8h14hq1x56p3n9xZ test]# cat test1.java
100
200
300
jio
fasdf
fav
查看文件所有内容,并且添加行号:
[root@iZ2ze4z8h14hq1x56p3n9xZ test]# cat -n test1.java
1 100
2 200
3 300
4 jio
5
6
7
8
9 fasdf
10 fav
查看文件所有内容,添加行号,但是空白行不添加行号:
[root@iZ2ze4z8h14hq1x56p3n9xZ test]# cat -b test1.java
1 100
2 200
3 300
4 jio
5
6
7
8 fasdf
9 fav
查看文件,并且将制表符显示为^I:
[root@iZ2ze4z8h14hq1x56p3n9xZ test]# cat -t test1.java
100
200
300
jio
^I
^I
^I
fasdf
fav
查看文件所有内容,在每行结束处显示“$”
[root@iZ2ze4z8h14hq1x56p3n9xZ test]# cat -e test1.java
100$
200$
300$
jio$
$
$
$
$
fasdf$
fav$
查看文件所有内容,合并多个连续空白行为1个空白行:
[root@iZ2ze4z8h14hq1x56p3n9xZ test]# cat -s test1.java
100
200
300
jio
fasdf
fav
一次性查看多个文件:
cat test1.java test2.java
借助重定向命令合并两个文件:
cat test1.java test2.java > merge.java
清空文件内容:
cat /dev/null > test1.java # 固定写法
2. more命令
more命令和cat命令的相同点和不同点:
- 相同点:more和cat在开始读取文件的时候,都是一次性将文件全部内容装载到缓存中。
- 不同点:cat是一次性的全部输出打印,more可以进行部分打印(一屏一屏地打印),因此more命令适合查看大文件。
语法:
用法:
more [选项] <文件>...
常用选项:
-<number> 每个屏幕地行数
+<number> 从行号开始显示文件
+/<pattern> 从匹配的位置前两行开始显示内容
-p 以清除原内容地方式进行翻页。
常用操作:
回车键:[显示下一行]
空格键:[显示下一页]
ctrl + b:[显示上一页]
=:[显示行号]
:f :[显示文件名地同时显示行号]
q:[退出more命令]
more命令也可以结合其他命令来使用,比如说:
查看进程,每5条为一屏,翻屏时清空原内容:
ps -ef | more -5 -p
3. less命令
less工具也是对文件或其他输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能极其强大。less的用法比起more更加有弹性。使用less时,可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容,初次之外,在less中可以拥有更多的搜索功能。
3.1 less命令用法
3.2 less命令标记兴趣点
在感兴趣的位置添加标记:
- 先按m键(set mark)
- 输入标记名称,例如标记名字为:x
需要回到感兴趣的位置时:
- 先按 ’ 键(单引号,goto mark)
- 输入标记名称x
3.3 less命令实时监控文件动态变化
第一步:在窗口1中执行:less + F log.txt
第二步:在窗口2中执行:ps -ef >> log.txt
注意:在监控的过程中,按ctrl + c是终止监控,可以继续使用less命令的相关操作,按大写F,再次进入监控模式。
这里log.txt是一个文件名,只有机器自动写入或通过输入重定向写入的才可以监控。
3.4 less命令查看多个文件
less log.txt log2.txt
- 输入:n :跳转到log2.txt
- 输入:p :跳转到log.txt
3.5 less命令结合管道一起使用
ps -ef | less -N
4. head命令
head命令:显示文件头部内容
用法:head [选项]...[文件]...
默认将每个指定文件的前10行输出到标准输出。
如果指定了多余一个文件,在每块输出之前附加文件名称作为头部
参数:
-c:输出前几个字符
-n:指定行数
-q:不显示包含给定文件名的文件头
5. tail命令
tail命令:显示文件尾部内容。
用法:tail [选项]...[文件]...
默认显示每个指定文件的最后10行并输出至标准输出。
若指定了多余一个文件,程序会在每段输出的开始添加响应文件名作为头。
参数:
-c:输出最后几个字符
-f:随文件增长即时输出新增数据(也就是说也可以进行文件的动态实时监控)
-n:指定行数
-q:不输出文件名的头
6. nl命令
nl命令是比较专业的显示行号的命令。
nl test1.java
用法如下:
- nl -b a 所有行添加行号,包括空白行;
- nl -b t 给行添加行号,不包括空白行(默认行为,和直接使用nl一样效果);
- nl -n ln 行号在自己栏位左侧显示;
- nl -n rn 行号在自己栏位的右侧显示;
- nl -n rz 显示行号,行号栏位不满时,自动补0;
- nl -w 行号栏位的占用的位数;
7. tailf命令
用于实时监控文件的变化,与tail -f不同的是,如果文件不增长,他不会去访问磁盘文件。tailf特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问。tailf命令不是个脚本,而是一个用C语言编译后的二进制执行文件,某些Linux安装之后没有这个命令。
CentOS是不支持这个命令的。如果想要使用这个命令就需要自己新建一个tail.c,然后输入对应的C语言代码,最后使用gcc环境进行编译才可以。这里就不提供代码了,等后面有时间再补充吧。