【51cto.com速译】Linux提供了很多查看文件内容的命令,包括cat、more、head、tail,而这仅仅是个开始。例如,即使是最明显的命令也有大量的选项,远远超过许多Linux用户通常使用的选项。还有一些不太明显的命令提供了一些独特的功能。本文介绍了用于查看文件内容的命令以及用于自定义这些视图以更好地满足您的需要的选项。catcat命令将文本文件的全部内容发送到终端窗口以供查看。事实上,如果您键入“cat”后跟一个包含数千行的文件名,这些行将在窗口中闪烁,您将只看到最后一屏文本。然而,虽然Linux用户熟悉cat命令,但即使是这个基本命令也提供了许多有用的选项,例如对输出行进行编号,我们中的许多人可能从未使用过这些选项。补充一下,您不仅可以对行进行编号,而且在编号方面还有一些选择。每行编号如下:$cat-nmsg1Hello--23Ihopeyouarehavingawonderfulday!456That'sitfor...now78bye!910s。您也可以仅对包含内容的行进行编号。注意:对于此命令,空行不被视为“空行”并且已编号。$cat-bmsg1Hello--2Ihopeyouarehavingawonderfulday!3That'sitfor...now4bye!5s.cat命令允许您使用-s选项忽略重复的空行,但您必须添加另一个命令以完全排除空行。$cat-smsgHello--希望你今天过得愉快!就这样……再见了!要忽略所有空行,只需将cat命令的输出通过管道传输到grep命令,如下所示。点(.)匹配包含空字符的文本,因此它将显示一个空行。$catmsg|grep.Hello--我希望你今天过得愉快!就这样……现在再见!-E选项提供了一个视觉线索,表明行尾没有多余的空格,只需在每行末尾添加一个$即可。$cat-EmsgHello--$$Ihopeyouarehavingawonderfulday!$$$That'sitfor...now$$bye!$$s.$With-A,你在每行的末尾都得到$字符,它显示为^I而不是空白标签。$cat-AmsgHello--$$Ihopeyouarehavingawonderfulday!$$$That'sitfor...^Inow$$bye!$$s.$用头和尾显示文件的一部分头和尾命令显示文件的顶部或底部该文件,默认显示10行。您可以指定不同的行数来查看,只需使用类似-3(显示3行)或-11(显示11行)的字符串。tail命令的工作方式与head类似,但它显示文件的底部而不是顶部。$head-3msg你好——我希望你今天过得愉快!$tail-3msg再见!s。您还可以结合使用head和tail命令来查看文件顶部和底部之间的文本。您只需选择起点和要查看的行数。在此示例中,该命令将显示文件中的第200行;在cat命令的帮助下,可以对这些行进行编号。$cat-bmybigfile|head-200|tail-100101Invoice#2020-06-07asenttovendor...使用moreorless一次浏览一屏的文本more命令显然是用来浏览一屏的文件内容at一次,less增加了使用向上和向下键盘箭头上下移动文件的功能,这样您就可以开始扫描,然后返回到文件之前的内容。使用od同时查看两个方向的文本文件od(八进制输出)命令可让您将文件输出为纯文本和一系列ASCII值(即该文本在文件中的实际编码方式)。从下面的示例中可以看出,带编号的行显示数字ASCII值,而交替行显示文本和非输出字符。$od-bcmsg0000000110145154154157040055055012012111040150157160145Hello--\n\nIhope0000020040171157165040141162145040150141166151156147040youarehaving0000040141040167157156144145162146165154040144141171041awonderfulday!0000060012012012124150141164047163040151164040146157162\n\n\nThat'sitfor0000100040056056056011156157167012012142171145041012012...\tnow\n\nbye!\n\n0000120163056012s.\n注意:换行字符显示成\n(八进制012),制表符显示为\t(八进制011)。od命令特别有用的用途之一是查看非文本文件以获取识别文件类型的信息。在这里我们看到JFIF(JPEG文件交换格式)标签向报告文件类型(例如文件)的命令表明这是一个jpg文件。还有很多其他有用的信息,尤其是当您对这些文件的格式感到好奇时。在下一个命令中,我们查看jpg文件的开头。$od-bcarrow.jpg|head-120000000377330377340000020112106111106000001001000000001377330377340\0020JFIF\0001001\0\00010000020000001000000377333000103000003002002002002002003\0001\0\0377333\0C\00030020020020020020030000040002002002003003003003004006004004004004004010006002002002003003003003004006004004004004004\b0060000060006005006011010012012011010011011012014017014012006005006\t\b\n\n\t\b\t\t\n\f017\f\n0000100013016013011011015021015016017020020021020012014\v016\v\t\t\r021\r016017020020021020\n\f0000120022023022020023017020020020377333000103001003003022023022020023017020020020377333\0C001003003如果我们向file命令索取该图像文件方面的信息,可以看到这样的内容。Thefilecommandgetsallthisdescriptiveinformationfromthedataatthebeginningofthefile.$filearrow.jpgarrow.png:JPEGimagedata,JFIFstandard1.01,aspectratio,density1x1,segmentlength16,baseline,precision8,500x375,components3Usejp2atoviewthefileanddisplayitasatext-basedimageIfyoucanonlyusethecommandlineandwanttounderstandanimageWhatdoesthefilecontain,youcanuseatoolsuchasjp2a(jpegtoascii)toprovideacharacterversion.Howeasilyrecognizableimagesareinthisformatwilldependonthefile.Don'tgetyourhopesupbecausetheversionoftheimageyou'llseeis"verylowres"!Theimageisofaverylowresemperorpenguin.$jp2aEmperor_Penguin.jpgMMMMMMMMWOdkNMMMMMMMMMMMMMMMMMMMMXK0kc....,OKMMMMMMMMMMMMMMMMMMNK0Ol...:Xx'dNMMMMMMMMMMMMMMMMMMMMMd;lx00Oo...xMMMMMMMMMMMMMMMMMMK.OXMMMMMN,...lMMMMMMMMMMMMMMMMx'KXNNMMMMK..0MMMMMMMMMMMMMMMMx:kkKNWWMMMl..'NMMMMMMMMMMMMMDDx0NNNWMMMMK'...;NMMMMMMMMMMMMdck0NNWWWMM.lMMMMMMMMMMMMMM.d0KXNWWWWMMo...WMMMMMMMMMMMMM.xOXNNWNMMMW.....KMMMMMMMMMMMMM'kKNKWXWMMMK..'.0MMMMMMMMMMMMMxckXNNNNMMMX.:..XMMMMMMMMMMMMMW;xKNWWWMMMM..;.NMMMMMMMMMMMMMMok0NNWNWMMMx.l..MMMMMMMMMMMMMMMkxOKXWXNMMMMl.:'dMMMMMMMMMMMMMMM0dKOdKXXNMMMMNx,WMMMMMMMMMMMMMMMWoKxldXKNNMMMMM;MMMMMMMMMMMMMMMMMxxxxdNWNXNMMMM;MMMMMMMMMMMMMMMMMxOcoo0XOOOOWMW,kMMMMMMMMMMMMMMMMMMMM0xK;.cO0dNX:0XXd;NMMMMMMMMMMNkdd:,'ldXXO0xl;x0kx:;lKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM原标题:Linux上检查文件内容的5种方法,作者:SandraHenry-Stocker作者及来源均在51cto.com
