當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]Linux提供了許多命令來顯示文件的內(nèi)容,包括cat,more,head和tail。 這僅僅是開始。

Linux提供了許多命令來顯示文件的內(nèi)容,包括cat,more,head和tail。 這僅僅是開始。

舉例說,連最明顯的命令也有大量選項,比許多Linux用戶平常用的多得多。還有一些不太明顯的命令提供了一些獨特的功能。本文介紹了查看文件內(nèi)容的命令和定制那些視圖以更好地滿足實際需要的選項。

cat

cat命令將文本文件的全部內(nèi)容發(fā)送到終端窗口以供查看。實際上,如果您鍵入“cat”,后面跟以有數(shù)千行的文件的名稱,那些行會在窗口一閃而過,您只能看到最后一屏幕的文本。不過,盡管cat命令對Linux用戶來說很熟悉,連這個基本命令也提供了許多有用的選項,比如對輸出的行進行編號,我們許多人可能從未使用過該選項。補充一下,您不僅可以對行進行編號,進行編號時還有一些選擇。

對每行編號如下所示:

$ cat -n msg1 Hello --23 I hope you are having a wonderful day!456 That's it for ... now78 bye!910 s.

還可以只對有內(nèi)容的行進行編號。注意:內(nèi)容為空的行對該命令而言并不被認為是“空行”,也會加以編號。

$ cat -b msg1 Hello --2 I hope you are having a wonderful day!3 That's it for ... now4 bye!5 s.

cat命令讓您可以用-s選項忽略重復的空行,但您得添加另一個命令才能完全排除空行。

$ cat -s msgHello --I hope you are having a wonderful day!That's it for ... nowbye!s.

想忽略所有空行,只要將輸出從cat命令pipe到grep命令,如下所示。點(.)匹配包括空字符的文本,所以它會顯示內(nèi)容空白的行。

$ cat msg | grep .Hello --I hope you are having a wonderful day!That's it for ... nowbye!s.

-E選項提供了視覺線索,顯示行末尾有沒有多余的空白,只需在每行末尾添加$。

$ cat -E msgHello --$$I hope you are having a wonderful day! $$$That's it for ... now$$bye!$$s.$

若使用-A,您既得到每行末尾處的$字符,還得到顯示為^I而不是空白區(qū)的標簽。

$ cat -A msgHello --$$I hope you are having a wonderful day!$$$That’s it for …^Inow$$bye!$$s.$

用head和tail顯示文件的部分內(nèi)容

head和tail命令顯示文件的頂部或底部,默認顯示10行。您可以指定不同的行數(shù)來查看,只要使用-3(顯示3行)或-11(顯示11行)之類的字符串。tail命令的工作原理與head一樣,但顯示文件的底部,而不是頂部。

$ head -3 msgHello --I hope you are having a wonderful day!$ tail -3 msgbye!s.

您還可以結(jié)合head和tail命令來查看文件頂部和底部之間的文本。您只要選擇起點以及想查看的行數(shù)。在該例子中,該命令將顯示文件中的第200行;借助cat命令,可對那些行進行編號。

$ cat -b mybigfile | head -200 | tail -100101 Invoice #2020-06-07a sent to vendor...

用more或less每次瀏覽一屏幕的文本

more命令顯然用于每次瀏覽一屏幕的文件內(nèi)容,而less增添了使用向上和向下鍵盤箭頭在文件中上下移動的功能,以便您可以開始掃描、然后返回到文件前面的內(nèi)容。

用od一次雙向查看文本文件

od(八進制輸出)命令讓您可以將文件輸出為普通文本和一系列ASCII值(即該文本在文件中如何實際編碼)。您可以從下面示例中看到,編號的行顯示了數(shù)字ASCII值,隔行顯示了文本和非輸出字符。

$ od -bc msg0000000 110 145 154 154 157 040 055 055 012 012 111 040 150 157 160 145H e l l o - - \n \n I h o p e0000020 040 171 157 165 040 141 162 145 040 150 141 166 151 156 147 040y o u a r e h a v i n g0000040 141 040 167 157 156 144 145 162 146 165 154 040 144 141 171 041a w o n d e r f u l d a y !0000060 012 012 012 124 150 141 164 047 163 040 151 164 040 146 157 162\n \n \n T h a t ' s i t f o r0000100 040 056 056 056 011 156 157 167 012 012 142 171 145 041 012 012. . . \t n o w \n \n b y e ! \n \n0000120 163 056 012s . \n

注意:換行字符顯示成\n(八進制012),標簽顯示成\t(八進制011)。

od命令特別有幫助的用途之一是查看非文本文件,以獲取識別文件類型的信息。在這里,我們看到JFIF(JPEG文件交互格式)標簽向報告文件類型的命令(比如file)表明這是jpg文件。還有其他許多有用的信息,如果你很想知道這些文件的格式更是如此。

在這下一個命令中,我們查看jpg文件的起始部分。

$ od -bc arrow.jpg | head -120000000 377 330 377 340 000 020 112 106 111 106 000 001 001 000 000 001377 330 377 340 \0 020 J F I F \0 001 001 \0 \0 0010000020 000 001 000 000 377 333 000 103 000 003 002 002 002 002 002 003\0 001 \0 \0 377 333 \0 C \0 003 002 002 002 002 002 0030000040 002 002 002 003 003 003 003 004 006 004 004 004 004 004 010 006002 002 002 003 003 003 003 004 006 004 004 004 004 004 \b 0060000060 006 005 006 011 010 012 012 011 010 011 011 012 014 017 014 012006 005 006 \t \b \n \n \t \b \t \t \n \f 017 \f \n0000100 013 016 013 011 011 015 021 015 016 017 020 020 021 020 012 014\v 016 \v \t \t \r 021 \r 016 017 020 020 021 020 \n \f0000120 022 023 022 020 023 017 020 020 020 377 333 000 103 001 003 003022 023 022 020 023 017 020 020 020 377 333 \0 C 001 003 003

如果我們向file命令索取該圖像文件方面的信息,可以看到這樣的內(nèi)容。file命令從文件開始處的數(shù)據(jù)獲取所有這些描述性信息。

$ file arrow.jpgarrow.png: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 500x375, components 3

用jp2a查看文件,顯示成基于文本的圖像

如果你只能使用命令行,想了解某個圖像文件含有什么內(nèi)容,可以使用jp2a(jpeg to ascii)之類的工具來提供字符版本。該格式中圖像多易于識別將取決于文件。別抱太大的希望,因為你會看到的圖像版本“分辨率很低”!該圖像是分辨率很低的帝企鵝。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉