Linux学习第九篇--linux文件查看

来源:互联网 发布:js form ajax 提交 编辑:程序博客网 时间:2024/05/17 08:49

前言

在使用linux的过程中,我们不可避免的要去查看一些文件,有些时候是查看这些文件的内容,有些时候是查看文件的权限属性.

那么,在linux中如何去查看一个文件呢?

linux查看文件的命令大致如下:

cat: 从一行开始显示文件内容

tac 从最后一航开始显示

nl 显示的时候,顺道输出行号

more 一页一页的显示数据

less 类似于more,但是less可以往前翻页.

head只看头几行

tail只看后几行.

od 以二进制的方式读取文件内容

下面就详细的介绍这几个命令~

注意,我们应该常用man 命令来查看命令的介绍,我英文水平也很差,但是感觉看文档时间长了,就能猜出来了...

cat(concatenate):从头开始读文件

在cat命令的介绍中,指出cat命令用于连接文件并在输出设备上打印出来.
他有以下参数:
1.A  等效于-vET的组合
2.b 显示出非空行的行号
3.e 等效于 -vE
4.E 在每一行的末尾显示$符号
5.n 所有行都显示行号,包括空白行
6.s 合并多个空行为一行
7.t 等效于 vt
8.T 将制表符(TAB)以 ^I 的形式显示出来.
9.v  显示看不出来的内容

tac:从尾部开始读文件


tac命令的作用是反向输出文件的内容,即从尾行输出.

他的选项主要有三个:

1.b 在(行)前面添加分隔符

2.r 将分隔符视为正则表达式来解析

3.s 指定字符串作为分隔符

就我感觉,tac命令用的并不多.

nl(number lines):显示文件的行号

其实nl是个不常用的命令,学到这的时候,我浮躁的心理又出现了,
心里蹦跶出一个小黑人,他旋转跳跃,他闭着眼,告诉我:跳过去吧,跳过去吧,
反正学了也不会,会了也不一样能用到,能用到,也不定是自己用,既然如此,还学他干什么?
正在我蠢蠢欲动的时候,这时候内心又蹦跶出一个小白人,
小白人没说话.看了小黑人一眼,伸出一根手指,
小黑人没搭理他,然后小白人又伸出了一根手指,小黑人依然没搭理他.
然后小白人就把小黑人拍死了....,
接下来,小白人看了我一眼,伸出一根手指.....
so,我还是man一下nl吧.


额咳咳,看一下nl的描述,

那个,nl是number of lines的缩写,顾名思义嘛,就是每一行的编号.他的作用是将指定的文件添加行号标注后输出,但是又和cat不同,nl命令可以将行号做比较多的显示设计.

然后他的参数也大多数同样式有关系.

1.b 使用指定样式编号文件的主体部分.

2.d 使用指定的定界符来分隔逻辑分页

3.f  使用指定的样式作为页脚

4.h 使用指定的样式作为页眉

5.i 指定每一行的增量值,意思就是,比如,现在设置增量为10,然后打开文件后,本来第一行为1,第二行为2,第三行为3,但是增量后,第一行是1,第二行却是11,第三行就是21,也就是说这个增量值就是每换一行,添加几行.

6.l 将多个空行视为一个空行

7.n 根据指定的格式插入行号

8.p 在逻辑分页的时候,(翻页时)不会重置行号

9.s 在行号后面添加指定的字符串(尽可能的)

10.v 指定每一页第一行的行号

11 w  指定每一行的列数

额,学起来也就这样嘛,也不是很难呀....

在上面的选项里使用好多次指定样式这个词汇,指定样式到底是个什么东西呢?

在 b选项时,可以使用的样式,主要有:

a 给所有行编号, 

t 只给非空行编号, 

n 不编号.

d选项,可以选择页面分界符(分页符),分界符是自己输入的格式,紧跟在d选项后的字符串就是分界符.这个分界符用于匹配文件中的该字符,进行分页.

在n选项上支持指定格式化样式,比如:

ln 左对齐,前面没有0

rn 右对齐,前面没有0

rz 右对齐 ,前面有0

more:分页看文件

使用more命令查看文件的时候,当文件的内容长度超出当前屏幕的时候,文件内容显示满当前屏幕就会停止,在下方显示  [已显示文件内容的百分比],

同时可以使用空格键来翻页,这里有一点,more命令从前向后读取文件,因此在启动的时候,就已经加载了整个文件.


在man more中介绍了more命令,more是一个一次只显示一个屏幕内容的分页过滤器,里面还牵扯到一个命令less,less命令是我们下一个要学习的命令.

下面是关于more 选项的介绍:

1.-[数值]通过指定一个数字,来初始化屏幕显示的行数.不需要输入number这个单词,直接 more -100 文件 这种方式即可指定.

2. d       显示[Press space to continue, 'q' to quit.],同时禁用系统的响铃功能(就是那个你一输错就"噔!噔!"的声音 ).

3.l    忽略掉ctrl+l 换页字符

4. f  引入计算逻辑.比如可以一直不换行

5.p 通过清除整个屏幕来显示内容,而不是滚动屏幕.

6.c 和p差不多,但是先显示内容,后清除屏幕.

7.s 多个连续空行合并成一行

8.u 不显示下划线

9.+/[字符串] 在文件中查找该字符串,然后从该字符串开始显示.

10.+[数值] 从指定行开始显示

more命令在运行过程中,还支持一些操作命令:

Enter 默认向下滚动一行

ctrl+F 向下翻页

空格键 向下翻页

ctrl+B 返回上一页

= 显示当前行号

:f 输入文件名和当前行的行号

v 调用vi编辑器

!命令 调用shell,并执行.

q退出more

h 查看操作命令帮助

Less:功能更强大的more

在说到more命令的时候,提到了一个命令less,在more命令的描述中,less增强了more命令的功能,简称more plus~

咦!!?excuse me!!??喵喵喵!???为何在more中说less是more的增强,但是打开less之后,说more和less是对立的....这是要闹哪样...



希望这个疑问能在文档中找到...


less的文档略微有点长,就不全翻译了,主要看一些主要的内容,我这是又开始浮躁了么...

在man less 中描诉了less的作用,其中主要内容是:

less是比more更强大的一个程序,他允许向前查看内容,而且less和more不同,less在读取文件之前不会加载整份文件,所以less命令相较于vi(文件编辑器)这种命令来说,更快

,而且less拥有终端处理能力,所以less命令可以运行在多种终端上,甚至有限的支持硬拷贝终端.

在less的描述中,其实如果非要说和more有对立的应该就是less在读取文件前不会预加载整份文件,more要加载整份文件这点吧.

那么less的常用参数有哪些呢?又有什么作用呢?

1.b 设置缓冲区大小,我们知道cpu处理的数据必须是存储在内存中的数据,那么当内存中从硬盘中读取数据的时候,往往不会一个一个字节的读取,而是一次性读取多个字节,缓冲区的作用就是用来一次存取多个字节.

2.e 当文件显示结束时,自动退出.

3.f 强制打开特殊的文件,比如二进制文件,目录,硬件设备代号等.

4.g 只标记最后搜索的关键词汇

5.i 忽略搜索时的大小写.

6.m 显示类似于more命令的百分比

7.N 显示行号

8.o[文件名] 将less输出的内容在指定的文件中保存起来

9 Q 关闭系统那个出错时"噔噔噔"的声音.

10.s 合并连续空行为一行

11.S 当一行里的内容过长时,将超长部分舍弃.

12. -x [数值] 将制表符[tab]替换成指定的数字显示.

当然,既然less是more的增强版,那么less在运行时自然也支持一些操作命令.依然在less运行时,输入h,查看一下它支持的操作命令.

在less中:

空格键:向下翻一页,这里要和more区别,在more中空格键默认向下翻一行.

pagedown:向下翻一页

pageup:向上翻一页

/字符串  向后查找内容

?字符串 向前查找内容

n重复前一个搜寻,这个命令和/[字符串].?[字符串]有关,如果之前是/[字符串]那么n就代表向下查找,如果是?[字符串]则表示向前查找.

N反向重复前一个搜寻,和n命令类似,但是,他的结果刚好和n相反.

q 退出

h 查看帮助

新技能get!!

            其实man命令就是通过less来查看文件的.


head:其实我是看脸的

使用head命令可以将文件的第一部分给输出出来.默认的是十行,



他的主要参数就四个,

第一个参数c,指定显示多少字节的数据

第二个参数n,指定显示多少行

第三个参数q,打死都不显示文件名

第四个参数v,我不管我要一直显示文件名.

tail:额..我看腿

tail和head的审美观不同,head是个看脸的人,但是tail是个看腿的人.

所以呢,tail默认输出文件的最后一部分,也是默认输出10行.


各选项的作用:

1.c[数值]输出文件尾部制定大小的数据

2.f 显示文件最新追加的内容

3.F 在tail命令启动后,文件不可访问或者文件稍后变得不可访问,都会尝试打开文件

4.n 输出文件尾部指定行数的内容

5.--pid 当指定进程号的进程结束后,tail命令停止.

6. q 当有多个文件的时候,不显示文件名

7. s 指定监视变化文件时间间隔(秒) .

od:无论如何,我可以看二进制文件

od的作用就是可以以不同的方式来显示文件,比如,十进制,八进制,十六进制,ascii.

下面是od的一些选项:

A:输出格式的文件偏移量,想要选择那种字码基数,可选的有(d,o,x,n),依次对应着,十进制,八进制,十六进制以及木有.

j:略过的字节数量

N:截止到指定的字节数.

S:用于指定输出的字符串占多少个图形字符的位置.

t: 选择输出的格式,可选择的有:

a 每个ascii对应的名字

b 用八进制字节表示字符对应的ascii码值

d 有符号数值

f 浮点数

o 八进制

u 无符号数值

x十六进制数

v:不用*代替重复的输出

w:设置每行显示的字符数.

不行了,我得吐槽一下....

我得天哪,这几个命令我竟然学了两天...我感觉我要疯了....果然认真的学和粗略的看区别很大啊,我记得我之前看了类似的书籍的时候,两天基本一本书就看的差不多了...

现在几个命令我竟然学了这么久....

but,但是确实是有用处的,这种细细的学习方式,远比快读要深刻的多...虽然这样很累.

加油!少年!

原创粉丝点击