linux学习(7)查看文件内容

来源:互联网 发布:极简厨房 知乎 编辑:程序博客网 时间:2024/06/07 05:16

  • cat  由第一行开始显示文件内容
  • tac  从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
  • nl   显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行
  • od   以二进位的方式读取文件内容!
  • cat (concatenate)
[root@www ~]# cat [-AbEnTv]选项与参数:-A  :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;-b  :列出行号,仅针对非空白行做行号显示,空白行不标行号!-E  :将结尾的断行字节 $ 显示出来;-n  :列印出行号,连同空白行也会有行号,与 -b 的选项不同;-T  :将 [tab] 按键以 ^I 显示出来;-v  :列出一些看不出来的特殊字符范例一:检阅 /etc/issue 这个文件的内容[root@www ~]# cat /etc/issueCentOS release 5.3 (Final)Kernel \r on an \m范例二:承上题,如果还要加印行号呢?[root@www ~]# cat -n /etc/issue     1  CentOS release 5.3 (Final)     2  Kernel \r on an \m     3# 看到了吧!可以印出行号呢!这对於大文件要找某个特定的行时,有点用处!# 如果不想要编排空白行的行号,可以使用『cat -b /etc/issue』,自己测试看看:范例三:将 /etc/xinetd.conf 的内容完整的显示出来(包含特殊字节)[root@www ~]# cat -A /etc/xinetd.conf#$....(中间省略)....$defaults${$# The next two items are intended to be a quick access place to$....(中间省略)....^Ilog_type^I= SYSLOG daemon info $^Ilog_on_failure^I= HOST$^Ilog_on_success^I= PID HOST DURATION EXIT$....(中间省略)....includedir /etc/xinetd.d$ $# 上面的结果限於篇幅,鸟哥删除掉很多数据了。另外,输出的结果并不会有特殊字体,# 鸟哥上面的特殊字体是要让您发现差异点在哪里就是了。基本上,在一般的环境中,# 使用 [tab] 与空白键的效果差不多,都是一堆空白啊!我们无法知道两者的差别。# 此时使用 cat -A 就能够发现那些空白的地方是啥鬼东西了![tab]会以 ^I 表示,# 断行字节则是以 $ 表示,所以你可以发现每一行后面都是 $ 啊!不过断行字节# 在Windows/Linux则不太相同,Windows的断行字节是 ^M$ 罗。# 这部分我们会在第十章 vim 软件的介绍时,再次的说明到喔!
  • tac (反向列示)
[root@www ~]# tac /etc/issueKernel \r on an \mCentOS release 5.3 (Final)# 嘿嘿!与刚刚上面的范例一比较,是由最后一行先显示喔!
  • nl (添加行号列印)
[root@www ~]# nl [-bnw] 文件选项与参数:-b  :指定行号指定的方式,主要有两种:      -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);      -b t :如果有空行,空的那一行不要列出行号(默认值);-n  :列出行号表示的方法,主要有三种:      -n ln :行号在萤幕的最左方显示;      -n rn :行号在自己栏位的最右方显示,且不加 0 ;      -n rz :行号在自己栏位的最右方显示,且加 0 ;-w  :行号栏位的占用的位数。范例一:用 nl 列出 /etc/issue 的内容[root@www ~]# nl /etc/issue     1  CentOS release 5.3 (Final)     2  Kernel \r on an \m# 注意看,这个文件其实有三行,第三行为空白(没有任何字节),# 因为他是空白行,所以 nl 不会加上行号喔!如果确定要加上行号,可以这样做:[root@www ~]# nl -b a /etc/issue     1  CentOS release 5.3 (Final)     2  Kernel \r on an \m     3# 呵呵!行号加上来罗~那么如果要让行号前面自动补上 0 呢?可这样[root@www ~]# nl -b a -n rz /etc/issue000001  CentOS release 5.3 (Final)000002  Kernel \r on an \m000003# 嘿嘿!自动在自己栏位的地方补上 0 了~默认栏位是六位数,如果想要改成 3 位数?[root@www ~]# nl -b a -n rz -w 3 /etc/issue001     CentOS release 5.3 (Final)002     Kernel \r on an \m003# 变成仅有 3 位数罗~
  • more (一页一页翻动)
[root@www ~]# more /etc/man.config## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6d....(中间省略)....--More--(28%)  <== 重点在这一行喔!你的光标也会在这里等待你的命令

仔细的给他看到上面的范例,如果 more 后面接的文件内容行数大於萤幕输出的行数时,就会出现类似上面的图示。重点在最后一行,最后一行会显示出目前显示的百分比,而且还可以在最后一行输入一些有用的命令喔!在 more 这个程序的运行过程中,你有几个按键可以按的:

  • 空白键 (space):代表向下翻一页;
  • Enter         :代表向下翻『一行』;
  • /字串         :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
  • :f            :立刻显示出档名以及目前显示的行数;
  • q             :代表立刻离开 more ,不再显示该文件内容。
  • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
  • less (一页一页翻动)
[root@www ~]# less /etc/man.config## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6d....(中间省略)....:   <== 这里可以等待你输入命令!

less 的用法比起 more 又更加的有弹性,怎么说呢?在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,呵呵!就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,你瞧,是不是更容易使用来观看一个文件的内容了呢!

除此之外,在 less 里头可以拥有更多的『搜寻』功能喔!不止可以向下搜寻,也可以向上搜寻~实在是很不错用~基本上,可以输入的命令有:

  • 空白键    :向下翻动一页;
  • [pagedown]:向下翻动一页;
  • [pageup]  :向上翻动一页;
  • /字串     :向下搜寻『字串』的功能;
  • ?字串     :向上搜寻『字串』的功能;
  • n         :重复前一个搜寻 (与 / 或 ? 有关!)
  • N         :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • q         :离开 less 这个程序;
小标题的图示数据撷取

我们可以将输出的数据作一个最简单的撷取,那就是取出前面 (head) 与取出后面 (tail) 文字的功能。不过,要注意的是, head 与 tail 都是以『行』为单位来进行数据撷取的喔!


  • head (取出前面几行)
[root@www ~]# head [-n number] 文件 选项与参数:-n  :后面接数字,代表显示几行的意思[root@www ~]# head /etc/man.config# 默认的情况中,显示前面十行!若要显示前 20 行,就得要这样:[root@www ~]# head -n 20 /etc/man.config范例:如果后面100行的数据都不列印,只列印/etc/man.config的前面几行,该如何是好?[root@www ~]# 


0 0
原创粉丝点击