Linux学习-第四章

文件内容查看

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环境进行编译才可以。这里就不提供代码了,等后面有时间再补充吧。

  • 33
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值