`

linux 查看文件内容的命令(转载)

阅读更多
观看档案内容:cat, tac, more, less, head, tail, nl,
刚刚我们提到的都只是在于显示档案的外观,或者是移动与复制一个档案或目录而已,那么如果我们要视察一个档案的内容时,该如何是好呢?!这里有相当多有趣的指令可以来分享一下:最常使用的显示档案内容的指令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的档案(好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外, tac 这个指令也可以达到!好了,说说各个指令的用途吧!
cat  由第一行开始显示档案内容
tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
nl   显示的时候,顺道输出 行号!
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
0000040 071545 060440 062156 063040 067165 072143 067551 071556
0000060 050012 052101 036510 027442 064542 035156 071457 064542
0000100 035156 072457 071163 071457 064542 035156 072457 071163
0000120 061057 067151 027472 071565 027562 067554 060543 027554
0000140 061163 067151 027472 071565 027562 067554 060543 027554
0000160 064542 035156 050044 052101 021110 062412 070170 071157
0000200 020164 040520 044124 005012 066141 060551 020163 066562
0000220 023475 066562 026440 023551 060412 064554 071541 061440
0000240 036560 061447 020160 064455 005047 066141 060551 020163
0000260 073155 023475 073155 026440 023551 021412 060440 064554
0000300 071541 066040 036554 066047 020163 066055 026440 061455
0000320 066157 071157 067075 073145 071145 005047 066141 060551
0000340 020163 066154 023475 071554 026440 023554 060412 064554
0000360 071541 066040 036555 066047 020163 060455 076154 067555
0000400 062562 005047 066141 060551 020163 036550 064047 071551
0000420 067564 074562 005047 021412 051440 072557 061562 020145
0000440 066147 061157 066141 062040 063145 067151 072151 067551
0000460 071556 064412 020146 020133 063055 027440 072145 027543
0000500 060542 064163 061562 056440 020073 064164 067145 004412
0000520 020056 062457 061564 061057 071541 071150 005143 064546
0000540 000012
0000541
 
说明:
好了,那么如果有一个非 ASCII 的数据文件呢?例如那个 binary 的档案!使用 vi 根本就是看不着~这个时候看来只有使用将整个数据以数值方法读出来啦!那就是 od 这个指令来读出来呦!这个东西可以用来输出该数据为十进制、16进位等等的数据格式!不过这个东西对于工程师可能比较有用啦!因为印出来的东西都是数字或内存当中的数据~~
分享到:
评论

相关推荐

    linux学习笔记和命令操作详解

    写的蛮好的linux学习笔记,包含各种命令及Linux文件架构,不知道哪下的,再次转载,感谢原作者

    Linux字符设备驱动(转载)

    可以使用与普通文件相同的文件操作命令对字符设备文件进行操作,例如打开、关闭、读、写等 字符设备是最基本、最常用的设备。概括的说,字符设备驱动主要要做三件事:1、定义一个结构体static struct file_...

    后端、嵌入式等岗位常用Linux命令总结(非常详细,持续更新).pdf

    其中包括:文件相关操作、系统运行监测相关操作(进程、线程、内存、内核等)、网络配置和网络性能相关命令、linux动态库相关操作、数据库相关操作等。详细内容请看正文。 ———————————————— 版权...

    linux系统vim实验报告.doc

    【注】里面的内容和自己跟着敲敲,文件名字换成自己的,可以套用我的模板和前言结论,代码最好跟着敲敲,里面的操作步骤我也说的非常明白。 1.vi 的三种模式:编辑模式,命令模式,最后行模式及模式之间的切换。 2.vi ...

    Linux基础知识(4): 文件搜索命令

    文章目录1 文件搜索——locate2 命令搜索——whereis与which3 文件名搜索——find命令4 字符串搜索——grep 注:转载请标明原文出处链接:https://xiongyiming.blog.csdn.net/article/details/105856510 1 文件...

    linux系统apache编译配置一体化

    大家在配置linux系统的apache经常遇见apr,apr-util,pcre文件缺失或者出错的情况(比如not found apr),这里将所缺失文件和使用方法给大家上传上来,方便大家使用 文件包括,httpd-2.4.4 apr-1.4.5 apr-util-1.3.12 ...

    linux入门编程例子大全

    这是我自己之前学习的linux时的入门学习的例子大全(非网上转载),其中包括了:文件读写、管道、信号量、消息队列、线程/进程、互斥锁、socket通信……等29个案例,还有自己曾经用过的暗文密码(即输入密码时显示*,...

    Linux 中批量提取文件夹下所有目录及文件名称

    以上所述是小编给大家介绍的Linux 中批量提取文件夹下所有目录及文件名称 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! 如果你觉得本文...

    Linux基础知识(1): 目录处理命令

    文章目录1 查询目录中内容——ls2 建立目录——mkdir3 创建文件——touch4 切换所在目录——cd5 当前工作目录——pwd6 删除空目录——rmdir和rm7 复制——cp8 剪切或重命名——mv9 查看文件的类型——file ...

    Linux操作系统下各项服务的解释

     7、autofs:当您需要时自动转载文件系统,而当您不需要时自动卸载。  8、bootparamd:该服务允许老的Sun工作站从Linux网络启动,它和rarp现在很少使用,基本上被bootp和dhcp取代了。  9、crond:cron是Unix下...

    保姆级教学!Linux操作3天快速入门系列 第一天【篇一】(不看真的错过了..)

    写在前面: 这是我学习的Linux入门笔记,我会分三篇写出,最后我还会总结Linux的...本文目录Linus介绍:Linux介绍:Linux与Windows比较LInux领域:一、★linux文件目录(必须熟悉)重点目录:Vi与Vim模式★Vi和Vim的三

    Linux_unix_shell第一部分编程(共两部分)

    10.6 将sed结果写入文件命令 97 10.7 从文件中读文本 98 10.8 匹配后退出 98 10.9 显示文件中的控制字符 99 10.10 使用系统sed 99 10.10.1 处理控制字符 99 10.10.2 处理报文输出 101 10.10.3 去除行首数字 101 ...

    SUSE Linux Enterprise Server 设置防火墙开启ssh远程端口

    系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 2、安装ssh zypper serach ssh #查找软件包 zypper install openssh #安装,或者使用yast2 -i openssh 命令 chkconfig sshd on #设置开机...

    linux下运行程序为什么要用 ./

    3、版权所有,转载请注明作者和出处 一、原因(先给出原因,后面再解释为什么) 不加 ./ 时shell要去 $PATH 环境变量下找命令是如何运行的,但是 $PATH 下并没有该命令,所以无法运行;加上 ./ 后,告诉shell这个...

    反编译apk文件工具及使用方法

    2.打开命令窗口 (开始 &gt; 运行,输入cmd,回车。)进入到apktool.bat的文件夹里。 输入: apktool d C:\***.apk C:\***文件夹 (命令行解释:apktool d 要反编译的文件 输出文件夹) 特别注意:你要反编译的...

    filebeat-6.6.0-linux-x86_64.tar.gz

    Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail file),并将它们转发给Elasticsearch或Logstatsh进行索引、kafka等。带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个...

    busybox-1.36.1.tar.bz2

    BusyBox 是一个集成了一百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux...

    apk反编译得到源代码

    2.打开命令窗口 (开始 &gt; 运行,输入cmd,回车。)进入到apktool.bat的文件夹里。 输入:apktool d C:***.apk C:***文件夹 (命令行解释:apktool d 要反编译的文件 输出文件夹) 特别注意:你要反编译的文件一定要...

    samba的编译安装20160615_1154.7z

    修改方法:在配置文件末尾添加如下内容: [Share] comment=Shared Folder path=/home/fzuir/share #public=yes(允许匿名访问) writable=yes(可写) #readonly=yes(只读) valid users=fzuir (可访问用户名,组可用...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    14.我们双击它,并将其内容改为helloworld。 15.我们在右下角的属性栏里将字体大小由9 改为15。 16.我们拖动标签一角的蓝点,将全部文字显示出来。 17.再次按下运行按钮,便会出现helloworld。 到这里helloworld ...

Global site tag (gtag.js) - Google Analytics