刚刚我们提到的都只是在于显示档案的外观,或者是移动与复制一个档案或目录而已,那么如果我们要视察一个档案的内容时,该如何是好呢?!这里有相当多有趣的指令可以来分享一下:最常使用的显示档案内容的指令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的档案(好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外, tac 这个指令也可以达到!好了,说说各个指令的用途吧!
cat 由第一行开始显示档案内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! more 一页一页的显示档案内容 less 与 more 类似,但是比 more 更好的是,他可以往前翻页! head 只看头几行 tail 只看尾巴几行 nl 显示的时候,顺道输出 行号! od 以二进制的方式读取档案内容!
# 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
说明:
好了,那么如果有一个非 ASCII 的数据文件呢?例如那个 binary 的档案!使用 vi 根本就是看不着~这个时候看来只有使用将整个数据以数值方法读出来啦!那就是 od 这个指令来读出来呦!这个东西可以用来输出该数据为十进制、16进位等等的数据格式!不过这个东西对于工程师可能比较有用啦!因为印出来的东西都是数字或内存当中的数据~~