cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出tac 是cat 的倒着写!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看末几行
nl 显示的时候,顺道输出行号!
od 以二进制的方式读取文件内容
文件内容查找
find . -type f -name "*.*" |xargs grep 'xiaoshou' -l
1、 cat
语法:
[root @test /root ]# cat [-nAE]
参数说明:
-n: 显示时,连行号印出屏幕上。
-A: 将 DOS 下的 与断行字符都列出来!
-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 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 则是 按键啦!
cat 是 Concatenate (连续)的简写,主要的功能是将一个文件的内容连续的印出在屏幕上面!例如上面的例子中,我们将重要的参数档.bashrc 印出来!如果加上-n 的话,则每一行前面还会加上行号!cat 比较少用!毕竟当你的文件内容的行数超过40 行以上,根本来不及看!所以,配合more 或者是|more 来执行比较好!此外,如果是一般的DOS 文件时,就需要特别留意一些奇奇怪怪的符号了,例如断行与等,要显示出来,就得加入-A 之类的参数了!。
2、 tac
语法:
[root @test /root ]# tac [文件名]
参数说明:
他的功能跟cat 相反,cat 是由『第一行到最后一行连续显示在屏幕上』,而 tac 则是『由最后一行到第一行反向在屏幕上显示出来』!
3、 more语法:
[root @test /root ]# more [文件名]
参数说明:
范例:
[root @test /root]# more ~/.bashrc <==一页一页的显示文件内容
[root @test /]# ls -al | more <==一页一页的将 ls 的内容显示出来
more 真是个很有用的指令!当你的文件太大的时后,那么使用cat 将没有办法看清楚!这个时候你可以使用more 来做动作!more 也可以用来做为管线的同时执行之用!例如你在执行find 这个寻找的指令时,可以同时使用|more ,则搜寻结果可以一页一页的列出!
4、 less语法:
[root @test /root ]# less [文件名]
参数说明:
范例:
[root @test /root]# less ~/.bashrc
说明:
less 的用法比起 more 又更加的有弹性,在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件。
5、 head
语法:
[root @test /root ]# head [-n number] [文件名]
参数说明:
-n :显示 number 行
范例:
[root @test /root]# head ~/.bashrc <==预设情况下,显示头十行
[root @test /root]# head -n 20 ~/.bashrc<==显示头二十行!
说明:
head 的英文意思就是『头』,显示出一个文件的前几行!若没有加上-n 这个参数时,预设只显示十行。
6、 tail
语法:
[root @test /root ]# tail [-n number] [文件名]
参数说明:
-n :显示number 行
范例:
[root @test /root]# tail ~/.bashrc
[root @test /root]# tail -n 5 ~/.bashrc <==只显示最后面五行!
tail 的用法跟 head 的用法差不多类似,只是显示的是后面几行就是了!预设也是显示十行,若要显示非十行,就加-n number 的参数!
7、nl语法:
[root @test /root ]# nl [文件名]
参数说明:
范例:
[root @test /root]# nl ~/.bashrc
说明:
这个指令的用法跟cat -n 的用法类似,也就是『可以印出行号』的指令来查看文件!
8、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
0000040 071545 060440 062156 063040 067165 072143 067551 071556
说明:
如果有一个非ASCII 的数据文件呢?例如那个binary 的文件!使用 vi 根本就是看不着~这个时候看来只有使用将整个数据以数值方法读出来啦!那就是od 这个指令来读出来呦!这个东西可以用来输出该数据为十进制、16进位等等的数据格式!
9、几个小技巧
(1)搜索字符串
more 与 less 的用途与用法很广!你可以在more 与less 的画面中进行『搜索』的工作!如何进行呢?我们以less 来说明好了,如果你想要知道 /etc/man.config 这个文件里面有没有一个叫做 GER 的大写字眼,那么可以:
[root @test /root ]# less /etc/man.config
按键说明:
/word:在/etc/man.config 这个文件中搜寻word 这个字符串的所在
q :离开less 的画面
然后在输入 / 之后,光标会移动到最左下角等待输入,这个时候您只要输入你的字符串之后,就会自动的帮你找出来该关键词!
(2)显示m~n行
假如我想要显示 ~/.bashrc 的第11 到第20 行呢?
这个应该不算难,想一想,在第 11 到第 20 行,那么我取前 20 行,再取后十行,所以结果就是:『 head –n 20 ~/.bashrc | tail –n 10 』,这样就可以得到第 11 到第 20 行之间的内容了!
(3)滚动显示文件内容
#tail -f [文件名]
(4)清空文件内容
# /dev/null > [文件名]