linux 查看文件内容的几种命令

简介:




最常使用的显示档案内容的指令可以说是 cat 与 more 及 less !此外,如果我们要查看一个很大型的档案(好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?可以使用 tail,此外,tac 这个指令也可以达到!以下为各个指令的用途:

cat  由第一行开始显示档案内容,cat可以结合more或less使用翻页。如cat xxx | more
tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写! 
more 一页一页的显示档案内容 
less 与 more 类似,但是比 more 更好的是,他可以往前翻页! 
head 只看头几行 
tail 只看尾巴几行 
nl   显示的时候,顺道输出 行号!nl也可以和more或less相结合翻页。nl xxx| less
od   以二进制的方式读取档案内容!

以下我们来谈一谈每个指令的基本用法吧!

·  cat 
语法

[root @test /root ]# cat [-nAE] 
参数说明:
 
-n:   
显示时,连行号印出屏幕上。
 
-A:   
将 DOS 下的 <tab> 与断行字符都列出来!
 
-E:   
将 DOS 编辑的文件中,仅列出 断行字符出来!
 
范例:
 
[root @test /root]# cat ~/.bashrc         <==
显示 .bashrc 这个档案
 
# .bashrc

# User specific aliases and functions 
PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
alias rm='rm -i' 
alias cp='cp -i' 
alias mv='mv -i' 
alias ll='ls -l --color=never'

[root @test /root]# cat ~/.bashrc -n      <==显示 .bashrc 并且加上行号! 
     1  # .bashrc 
     2 
     3  # User specific aliases and functions 
     4  PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
     6  alias rm='rm -i' 
     7  alias cp='cp -i' 
     8  alias mv='mv -i' 
     9  alias ll='ls -l --color=never'

[root @test /root]# cat -A regexp.txt 
This is a cat, however, I need a dog.^M$ 
I want to "Happy" and <Happy> and /Happy/ here.^M$ 
OK! ^Ieverythins is OK^M$ 
Now, I will eat my food^M$ 
are you ^Ifinished your work^M$ 
what do you 123 goto where^M$ 
显示出 DOS 档案的几个特殊符号,以上面档案为例,
 
可发现 ^M 为断行符号,而每行的 $ 为行尾符号,
 
至于 ^I 则是 <tab> 按键啦! 

说明 
嘿嘿! Linux 里面有『猫』?!喔!不是的, cat  Concatenate (连续)的简写,主要的功能是将一个档案的内容连续的印出在屏幕上面!例如上面的例子中,我们将重要的参数档 .bashrc 印出来!如果加上 -n 的话,则每一行前面还会加上行号呦!cat 比较少用!毕竟当你的档案内容的行数超过 40 行以上,嘿嘿!根本来不及看!所以,配合 more 或者是 |more 来执行比较好!此外,如果是一般的 DOS 档案时,就需要特别留意一些奇奇怪怪的符号了,例如断行与<tab>等,要显示出来,就得加入 -A 之类的参数了!。 

·  tac 
语法

[root @test /root ]# tac [檔名] 
范例: 
[root @test /root]# tac ~/.bashrc <==发现了没?反向印出呦! 
fi 
        . /etc/bashrc 
if [ -f /etc/bashrc ]; then 
# Source global definitions

alias h='history' 
alias lm='ls -al|more' 
alias ll='ls -l' 
# alias ll='ls -l --color=never' 
alias mv='mv -i' 
alias cp='cp -i' 
alias rm='rm -i'

export PATH 
PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
# User specific aliases and functions

# .bashrc

说明 
tac 
这个好玩了!怎么说呢?详细的看一下, cat  tac ,有没有发现呀!对啦! tac 刚好是将cat 反写过来,所以他的功能就跟 cat 相反啦, cat 是由『第一行到最后一行连续显示在屏幕上』,而 tac 则是『由最后一行到第一行反向在屏幕上显示出来』,很好玩吧!

·  more 
语法

[root @test /root ]# more [檔名] 
范例: 

[root @test /root]# more ~/.bashrc  <==一页一页的显示档案内容 
[root @test /]# ls -al | more  <==
一页一页的将 ls 的内容显示出来

说明 
more 
真是个很有用的指令!我好喜欢呦!当你的档案太大的时后,那么使用 cat 将没有办法看清楚!这个时候你可以使用 more 来做动作!more 也可以用来做为管线的同时执行之用!例如你在执行find 这个寻找的指令时,可以同时使用 |more ,则搜寻结果可以一页一页的列出呦!关于管线( pipe )的用法我们在 bash shell 的地方再来谈!

·  less 
语法

[root @test /root ]# less [檔名 

范例:[root @test /root]# less ~/.bashrc 

说明 
less 
的用法比起 more 又更加的有弹性,怎么说呢?在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,呵呵!就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,您瞧,是不是更容易使用来观看一个档案的内容了呢!? 
more 
 less 的用途与用法真的是很广啦!首先,你可以在 more  less 的画面中进行『搜寻』的工作!如何进行呢?我们以 less 来说明好了,如果你想要知道 /etc/man.config 这个档案里面有没有一个叫做 GER 的大写字眼,那么可以: 

[root @test /root ]# less /etc/man.config  
按键说明:
 
/word
:在 /etc/man.config 这个档案中搜寻 word 这个字符串的所在
 
q    
:离开 less 的画面

然后在输入 / 之后,光标会移动到最左下角等待输入,这个时候您只要输入你的字符串之后,就会自动的帮你找出来该关键词啰!

·  head 
语法

[root @test /root ]# head [-n number] [檔名] 
参数说明:
 
-n 
:显示 number 
 
范例:
 
[root @test /root]# head ~/.bashrc  <==
预设情况下,显示头十行
 
[root @test /root]# head -n 20 ~/.bashrc<==
显示头二十行!

说明 
head 
的英文意思就是『头』啦,那么这个东西的用法自然就是显示出一个档案的前几行啰!没错!就是这样!若没有加上 -n 这个参数时,预设只显示十行,若只要一行呢?那就加入『 head -n 1 filename 』即可! 

·  tail 
语法

[root @test /root ]# tail [-n number] [檔名] 
参数说明:
 
-n 
:显示 number 
 
范例:
 
[root @test /root]# tail ~/.bashrc 
[root @test /root]# tail -n 5 ~/.bashrc <==
只显示最后面五行!

说明 
那么有 head 自然就有 tail ( 尾巴 ) 啰!没错!这个 tail 的用法跟 head 的用法差不多类似,只是显示的是后面几行就是了!预设也是显示十行,若要显示非十行,就加 -n number 的参数!

例题一:假如我想要显示 ~/.bashrc 的第 11 到第 20 行呢? 

答:这个应该不算难,想一想,在第 11 到第 20 行,那么我取前 20 行,再取后十行,所以结果就是:『 head –n 20 ~/.bashrc | tail –n 10 』,这样就可以得到第 11 到第 20 行之间的内容了!但是里面涉及到管线命令,需要在第三篇的时候才讲的到!

·  nl 
语法

[root @test /root ]# nl [檔名] 
参数说明:
 
范例:
 
[root @test /root]# nl ~/.bashrc

说明 
那么 nl 又是什么?这也没什么,这个指令的用法跟 cat -n 的用法类似,也就是『可以印出行号』的指令来查看档案啦!也是挺好用的! 

·  od 
语法

[root @test /root ]# od [檔名] 
参数说明:
 
范例:
 
[root @test /root]# od ~/.bashrc 
0000000 020043 061056 071541 071150 005143 021412 052440 062563 
0000020 020162 070163 061545 063151 061551 060440 064554 071541 

说明 
好了,那么如果有一个非 ASCII 的数据文件呢?例如那个 binary 的档案!使用 vi 根本就是看不着~这个时候看来只有使用将整个数据以数值方法读出来啦!那就是 od 这个指令来读出来呦!这个东西可以用来输出该数据为十进制、16进位等等的数据格式!不过这个东西对于工程师可能比较有用啦!因为印出来的东西都是数字或内存当中的数据~~


本文转自 lorysun 51CTO博客,原文链接:http://blog.51cto.com/lorysun/1599756


相关文章
|
1天前
|
Linux
Linux常用命令2
Linux常用命令2
3 0
|
1天前
|
Linux
Linux常用命令1
Linux常用命令1
5 0
|
1天前
|
人工智能 Linux Shell
linux命令-条件判断-test
linux命令-条件判断-test
5 1
|
1天前
|
Linux 开发工具
Linux E325: 注意 发现交换文件 “*.swp“
Linux E325: 注意 发现交换文件 “*.swp“
11 0
|
1天前
|
Linux 开发工具
linux中出现不在 sudoers 文件中。此事将被报告的解决方法
linux中出现不在 sudoers 文件中。此事将被报告的解决方法
9 0
|
1天前
|
Linux
linux设置全局命令
linux设置全局命令
6 0
|
1天前
|
Linux 虚拟化 Windows
linux之df命令 查看分区大小
linux之df命令 查看分区大小
7 1
|
1天前
|
关系型数据库 MySQL Linux
Linux 文件访问权限说明
Linux 文件访问权限说明
7 0
|
1天前
|
安全 Linux Shell
Linux常用命令详解与实战应用
【5月更文挑战第7天】本文详述了Linux常用命令,包括文件与目录操作(ls, cd, pwd, cp, mv, rm)、文本处理(cat, grep, sed)及系统管理(top, df, du)命令。通过实例演示了如何使用这些命令,帮助读者理解和掌握Linux操作,提升系统管理效率。学习和熟练运用这些基础命令,是高效使用Linux的关键。