【第六章】文件内容查看

文件内容查看

直接查看文件内容

cat

Concatenate,串联,将一些文件的内容连续打印的屏幕上

cat [-AbEnTv]
-A 相当于-vET
-b 列出行号,但是空白行不标号
-n 列出行号,包括空白行
-E 将结尾的换行符用$显示
-T 将[Tab]^I的形式显示出来
-v 列出一些看不出来的字符

在这里插入图片描述

tac

反向输出
在这里插入图片描述

nl

添加行号打印

nl [-bnw] 文件
-b 指定行号指定的方式
	-b a 不论是否有空行,同样列出行号,类似cat -n
	-b t 如果有空行,空的那一行不要列出行号(默认)
-n 列出行号表示的方法
	-n ln 行号在屏幕最左方显示
	-n rn 行号在自己栏位的最右方显示,且不加0
	-n rz 行号在自己栏位的最右方显示,且加0
-w 行号栏位的占用的字符数

在这里插入图片描述

nl默认将输出的文件内容加上行号,且对行号可以做较多的显示设计。

翻页查看

cat、nl、tac都是一次性将数据全显示到屏幕上,但是不能一页一页查看。

more

在这里插入图片描述
在这里插入图片描述
最后会显示目前显示的百分比,在more运行的过程中,有几个按键可以用:

  1. 空格键:向下翻一页
  2. 回车键:向下翻一行
  3. /字符串:在这个显示的内容中,向下查找字符串这个关键词
  4. :f:立刻显示出文件名以及目前显示的行数
  5. q:离开more,不再显示该文件内容
  6. b或ctrl+b:往回翻页(只对文件有用,对管道无用)
less
  1. 空格键:向下翻一页
  2. [pagedown]:向下翻动一页
  3. [pageup]:向上翻动一页
  4. /字符串:向下查找字符串
  5. ?字符串:向上查找字符串
  6. n:重复前一个查找(与/和?有关)
  7. N:反向重复前一个查找
  8. g:前进到这个数据的第一行
  9. G:前进到这个数据的最后一行
  10. q:离开less

数据截取

取出文件前几行和后几行的操作

head

显示前几行

head [-n number] 文件
-n 后面接数字,表示显示几行

不加数字默认显示10行
默认显示10行
显示15行
在这里插入图片描述

tail

显示后几行

tail [-n number] 文件
-n 后面接数字,表示显示几行
-f 表示持续刷新显示后面所接文件中的内容,等到按下ctrl+c才结束

也是默认显示10行
在这里插入图片描述
加-n 20显示后20行
在这里插入图片描述
现在看到man_db.conf一共有131行
在这里插入图片描述
执行tail -n +100 /etc/man_db.conf可以显示100~131行
在这里插入图片描述
因为/var/log/messages随时有数据写入,用-f可以在该文件有数据写入时立即显示到屏幕上。用ctrl+c可以结束这个命令。
在这里插入图片描述

【例】
如果想取/etc/man_db.conf的第11到20行该怎么做?
先看一下前20行的内容
在这里插入图片描述
也就是要取前20行,然后在这20行中取后10行。可以用一个管道符号|来实现在这里插入图片描述
管道符号的意思是前面的命令所输出的信息,通过管道交由后续的命令继续使用所以这里的tail不需要文件名,因为tail需要的数据就是head处理后的数据。
【进阶】如果还要显示行号该怎么做?
先用nl给每个数列出序号,然后再取中间那段
在这里插入图片描述
调整顺序来从头标号
在这里插入图片描述

非纯文本文件

上面的指令都是用来看纯文本文件的,而看非纯文本文件可以用od来读

od [-t TYPE] 文件
-t 后面接各种类型的输出,比如
	a 使用默认字符输出
	c 使用ASCII字符输出
	d[size] 利用十进制输出数据,每个整数占用[size]字节
	f[size] 利用浮点数进制输出数据,每个整数占用[size]字节
	o[size] 利用八进制输出数据,每个整数占用[size]字节
	x[size] 利用十六进制输出数据,每个整数占用[size]字节

比如将/etc/issue这个文件的内容以八进制列出存储值和ASCII的对照表
在这里插入图片描述
每个字符对应的数值是八进制,S对应的记录值是123,转化成十进制是83

修改文件时间或创建新文件

文件有三个主要的变动时间:

  1. mtime 内容数据变更时更新的时间
  2. ctime 文件状态改变时更新的时间(比如权限属性被更改)
  3. atime 文件内容被读取时更新的时间

在这里插入图片描述
可以看出默认显示的是mtime。

touch [-acdmt] 文件
-a 仅自定义access time(atime)
-c 仅修改文件的时间,若文件不存在则不建立新文件
-d 后面可以接想要自定义的日期而不用目前的日期
-m 仅修改mtime
-t 后面接想要自定义的时间而不用目前的时间,格式为YYYYMMDDhhmm

在这里插入图片描述
如果该文件不存在则会建立一个新的空文件,默认atime/ctime/mtime都是当前时间。
在这里插入图片描述
(这里ll就相当于ls -l)
cp -a将文件的属性内容全部复制过来,所以文件修改时间(mtime)和原来的文件相同。但是文件是刚刚建立的,所以状态时间(ctime)是现在的时间。然后现在用touch更改时间
在这里插入图片描述
atime和mtime都变成了14,但是ctime没变
换一种更改方式,将时间改为现在的时间2020/12/16/19:11
在这里插入图片描述
ctime没改变,一直是记录的目前时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值