整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          在 Linux 上查看文件內容的 5 種方法 - Linux 中國

          何使用 cat、more、head 和 tail 命令查看 Linux 文件的內容,而不僅僅是文本文件。

          • 來源:https://linux.cn/article-12340-1.html
          • 作者:Sandra Henry-stocker
          • 譯者:geekpi

          (本文字數:5839,閱讀時長大約:7 分鐘)


          Linux 提供了許多命令來查看文件的內容,包 括 cat、more、head 和 tail,但這只是一個開始。

          一方面,即使是最顯而易見的命令也有很多許多用戶不會去使用的選項。還有一些普普通通的命令提供了一些獨特的功能。在本文中,我們將介紹查看文件內容的命令,以及如何定制這些視圖以更好地滿足你的需求的選項。

          cat

          cat 命令將文本文件的全部內容發送到終端窗口以供查看。實際上,如果你輸入 cat,然后輸入包含數千行內容的文件名,那么這些行將以極快的速度在你的窗口中滾動,你將無法看到除了最后一屏外的其他文本。對于 Linux 用戶來說 cat 命令很熟悉,但即使是這個基本命令也提供了許多有用的選項,例如對輸出中的行進行編號,這是我們許多人可能從未使用過的。更進一步,你不僅可以對行進行編號,還可以選擇如何編號。

          對每行進行編號就像這樣:

          $ cat -n msg
               1  Hello --
               2
               3  I hope you are having a wonderful day!
               4
               5
               6  That's it for ...       now
               7
               8  bye!
               9
              10  s.
          

          你也可以只對有內容的行編號。請注意,對于此命令,僅包含空格的行不被視為“空”,而是會被編號。

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

          cat 命令允許你使用 -s 選項忽略重復的空白行,但是要完全忽略空白行你必須添加另一個命令。

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

          要忽略所有空白行,只需如下將 cat 的輸出通過管道傳遞給 grep 命令。 點(.)匹配包含任意字符的文本,因此它將顯示任意非空的行,用于結束一行的回車換行做匹配(LCTT 譯注:此處原文有誤,徑改)。

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

          -E 選項通過在每行末尾加 $ 符提供視覺提示,來顯示行尾是否還有多余的空格。

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

          使用 -A 時,既可以在每行的末尾顯示 $ 字符,并且制表符會顯示為 ^I 而不是空白。

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

          使用 head 和 tail 顯示文件部分內容

          head 和 tail 顯示文件的頭部或尾部,默認為十行。 你可以使用 -3(顯示 3 行)或 -11(顯示 11 行)之類的字符串來指定要查看的其它行數。tail 命令與 head 的工作方式相同,但是顯示文件的尾部而不是頭部。

          $ head -3 msg
          Hello --
          I hope you are having a wonderful day!
          $ tail -3 msg
          bye!
          
          s.
          

          你還可以結合使用 head 和 tail 命令來查看文件中間的文本。你只需要選擇起點和想要查看行數即可。在此例中,命令將在文件中顯示第二個一百行,并在 cat 的幫助下為這些行編號。

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

          使用 more 或者 less 瀏覽一屏文本

          more 命令是一次瀏覽一屏內容的自然之選,而 less 通過使用上下鍵盤箭頭增加了在文件中上下移動的能力,這樣你就可以遍歷內容,然后在文件中回退。

          使用 od 查看文本的兩種方法

          od(八進制轉儲)命令能夠以常規文本和一系列 ASCII 值(即該文本在文件中的實際編碼方式)的形式查看文件。在下面的例子中可以看到,帶編號的行顯示了 ASCII 數字值,而其他行則顯示了文本和不可打印的字符。

          $ od -bc msg
          0000000 110 145 154 154 157 040 055 055 012 012 111 040 150 157 160 145
                    H   e   l   l   o       -   -  \n  \n   I       h   o   p   e
          0000020 040 171 157 165 040 141 162 145 040 150 141 166 151 156 147 040
                        y   o   u       a   r   e       h   a   v   i   n   g
          0000040 141 040 167 157 156 144 145 162 146 165 154 040 144 141 171 041
                    a       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   r
          0000100 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  \n
          0000120 163 056 012
                    s   .  \n
          

          請注意,換行符顯示為 \n(八進制 012),而制表符顯示為 \t(八進制 011)。

          od 命令特別有用的用途之一是查看非文本文件以獲取可以標識文件類型的信息。在這里,我們看到 JFIF(JPEG 文件交換格式)標簽,該標簽讓 file 之類報告文件類型的命令將它標示為 jpg 文件。這里還有很多其他有用的信息,特別是如果你對這些文件的格式感到好奇的話。

          在接下來的命令中,我們查看 jpg 文件的開始部分。

          $ od -bc arrow.jpg | head -12
          0000000 377 330 377 340 000 020 112 106 111 106 000 001 001 000 000 001
                  377 330 377 340  \0 020   J   F   I   F  \0 001 001  \0  \0 001
          0000020 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 003
          0000040 002 002 002 003 003 003 003 004 006 004 004 004 004 004 010 006
                  002 002 002 003 003 003 003 004 006 004 004 004 004 004  \b 006
          0000060 006 005 006 011 010 012 012 011 010 011 011 012 014 017 014 012
                  006 005 006  \t  \b  \n  \n  \t  \b  \t  \t  \n  \f 017  \f  \n
          0000100 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  \f
          0000120 022 023 022 020 023 017 020 020 020 377 333 000 103 001 003 003
                  022 023 022 020 023 017 020 020 020 377 333  \0   C 001 003 003
          

          如果我們要 file 命令提供有關此圖像的信息,我們可能會看到類似下面這樣的信息。file 命令從文件開頭的數據中提取了所有這些描述性信息:

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

          使用 jp2a 將文件視為基于文本的圖像

          如果你只能在命令行工作,并且想了解特定圖像包含的內容,那么可以使用 jp2a(jpeg to ascii)之類的工具提供字符渲染。圖像在這種格式下的識別程度取決于文件。不要有太多期待,因為你將看到的圖像版本是“低分辨率”下的測試!這是一只分辨率很低的帝王企鵝。(請離遠點看)

          $ jp2a Emperor_Penguin.jpg
          MMMMMMMMWOdkNMMMMMMMMMMMMMMMMMMM
          MMMXK0kc.... ,OKMMMMMMMMMMMMMMMM
          MMNK0Ol...   :Xx'dNMMMMMMMMMMMMM
          MMMMMMMd;lx00Oo. ..xMMMMMMMMMMMM
          MMMMMMK.OXMMMMMN,...lMMMMMMMMMMM
          MMMMMMx'KXNNMMMMK....0MMMMMMMMMM
          MMMMMMx:kkKNWWMMMl.. 'NMMMMMMMMM
          MMMMMMddx0NNNWMMMK'...;NMMMMMMMM
          MMMMMMck0NNWWWWWMMd  ..lMMMMMMMM
          MMMMMM.d0KXNWWWWMMo  ...WMMMMMMM
          MMMMMM.xOXNNWNMMMW. ....KMMMMMMM
          MMMMMM'kKNKWXWMMMK  ..'.0MMMMMMM
          MMMMMMxckXNNNNMMMX  .:..XMMMMMMM
          MMMMMMW;xKNWWWMMMM. .;. NMMMMMMM
          MMMMMMMok0NNWNWMMMx .l..MMMMMMMM
          MMMMMMMkxOKXWXNMMMMl.:'dMMMMMMMM
          MMMMMMM0dKOdKXXNMMMMNx,WMMMMMMMM
          MMMMMMMWoKxldXKNNMMMMM;MMMMMMMMM
          MMMMMMMMxxxxdNWNXNMMMM;MMMMMMMMM
          MMMMMMMMxOcoo0XOOOOWMW,kMMMMMMMM
          MMMMMMM0xK;.cO0dNX:0XXd;NMMMMMMM
          MMMNkdd:,'ldXXO0xl;x0kx:;lKMMMMM
          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          

          總結

          Linux 上有很多命令可以通過各種方式查看文件的內容。其中一些選項在你需要處理文件內容時可能會非常有用。其它的只是……有趣。


          via: https://www.networkworld.com/article/3561490/5-ways-to-examine-the-content-of-files-on-linux.html

          作者: Sandra Henry-Stocker 選題: lujun9972 譯者: geekpi 校對: wxy

          本文由 LCTT 原創編譯, Linux中國 榮譽推出

          點擊“了解更多”可訪問文內鏈接

          inux下想查看網站用的是什么WEB服務

          黑客都用linux ,黑客怎么查看目標網站用什么WEB服務啊?

          哪除了用KAIL一類工具外查看外 linux 自帶一條特別簡單命令就可以查看了

          使用命令 curl -I 網址或IP 如:

          curl -I https://www.doujiju.com

          HTTP/1.1 200 OK

          Date: Mon, 25 Apr 2022 08:36:03 GMT

          Server: Apache

          Expires: Thu, 19 Nov 1981 08:52:00 GMT

          看到了吧?咱們抖幾句用的是Apache

          咱們抖幾句用Apache

          一起群觀再來看看咱們頭條用的是什么WEB服務

          curl -I www.toutiao.com

          頭條用的是Tengine 做WEB

          HTTP/1.1 301 Moved Permanently

          Server: Tengine

          Date: Mon, 25 Apr 2022 08:45:38 GMT

          Content-Type: text/html

          Content-Length: 262

          Connection: keep-alive

          Location: https://www.toutiao.com/

          Via: cache16.cn1075[,0]

          Timing-Allow-Origin: *

          EagleId: da3dc0a616508763382471759e

          能夠看到頭條用的是Tengine nginx我們知道是非常主流的WEB服務了,那么Tengine 是什么

          Tengine是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高級功能和特性。Tengine的性能和穩定性已經在大型的網站如淘寶網、天貓商城等得到了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易用的Web平臺。

          從2011年12月開始,Tengine成為一個開源項目,Tengine團隊在積極地開發和維護著它。Tengine團隊的核心成員來自于淘寶、搜狗等互聯網企業。Tengine是社區合作的成果,我們歡迎大家參與其中,貢獻自己的力量。

          下面是什么信息看不懂是不是? 來一我們一個一個看

          HTTP/1.1 301 OK:HTTP/1.1表示協議版本 301 是永久重定向 OK狀態信息

          200表示成功 百度就是200

          如下

          curl -I www.baidu.com

          HTTP/1.1 200 OK

          Accept-Ranges: bytes

          Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform

          Connection: keep-alive

          Content-Length: 277

          Content-Type: text/html

          Date: Mon, 25 Apr 2022 09:03:21 GMT

          Etag: "575e1f59-115"

          Last-Modified: Mon, 13 Jun 2016 02:50:01 GMT

          Pragma: no-cache

          Server: bfe/1.0.8.18


          Accept-Ranges: bytes

          Accept:接受

          Ranges:范圍

          bytes:字節

          Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform

          Cache:緩存

          Control:控制

          private:私有的

          store:貯存,存儲

          proxy-revalidate:使代理重新生效

          proxy:代理

          revalidate:使重新生效

          transform:改變

          Connection: Keep-Alive

          Connection:連接

          Keep-Alive:保持活力

          Keep:保持

          Alive:活力

          Content-Length: 277

          Content-Length:內容長度

          Content:內容

          Length:長度

          Content-Type: text/html

          Content-Type:內容類型

          Type:類型

          text:文本

          html:HTML

          Date: Mon, 25 Apr 2022 09:03:21 GMT 周一 25 4月 2022年 09點03分21秒

          Date:時間

          Sat:星期六

          GMT:格林尼治時間

          Etag: "575e1f71-115"

          Etag:被請求變量的實體值

          Last-Modified: Mon, 13 Jun 2016 02:50:25 GMT

          Last:最后

          Modified:改進的,修改

          Mon:周一

          Pragma: no-cache

          Pragma:雜注;編譯指示(通用首部字段,只用在客戶端發送的請求中,要求中介服務器是否返回緩存資源)

          cache:快速緩沖貯存區(緩存)

          Server: bfe/1.0.8.18

          Server:服務器

          這下能看懂 curl -l的信息的含義了吧?詳細學習吧

          你還知道哪些WEB服務呢?


          關注本頭條號,每天堅持更新原創干貨技術文章。

          如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

          1. 前言

          在本教程中,您將學習如何查看所有連接到Apache或Nginx web服務器的客戶端(識別他們的IP地址),這些服務器位于Linux服務器的HTTP 80或HTTPS 443 端口上。

          Apache


          在Linux中,服務器上運行的每個服務都偵聽sockett(套接字),以便客戶機發出連接請求。客戶端連接成功后,將創建socket(套接字),即IP地址和端口號的組合(標識客戶端連接的應用程序和端口號)。

          nginx


          2. 獲取系統上socket(套接字)的詳細信息

          為了獲得這些socket(套接字)的詳細信息,我們將使用一個ss命令行工具,它用于在Linux機器上顯示與網絡socket(套接字)相關的信息。您還可以使用舊的netstat命令,它顯示活動的socket(套接字)連接。

          例如,可以使用這些工具獲取連接到特定端口或服務的所有客戶機的套接字統計信息。

          ss

          ss命令默認輸出


          或者

          netstat

          netstat命令默認輸出


          某些較新的Linux發行版默認已經放棄預安裝netstat工具。

          CentOS 7系統可以執行以下命令安裝相關工具:

          yum -y install net-tools

          3. 找到所有連接到HTTP或HTTPS端口的客戶端

          要獲得連接到HTTP(端口80)或HTTPS(端口443)的所有客戶機的列表,可以使用ss命令或netstat命令,這將列出所有連接(無論它們處于什么狀態),包括UNIX套接字統計信息。

          ss -o state established '( sport = :http or sport = :https )'

          使用ss命令列出所有連接

          或者

          netstat -o state established '( sport = :http or sport = :https )'

          使用netstat命令列出所有連接


          或者,您可以運行以下命令來列出數字端口號。

          ss -tn src :80 or src :443

          使用ss命令來列出數字端口號


          netstat -tn src :80 or src :443

          使用netstat命令來列出數字端口號


          4. 總結

          查看服務器網絡連接情況


          通過本教程,您應該可以了解到如何在Linux系統上使用ss或者netstat工具找到所有連接到HTTP或HTTPS端口的客戶端了吧?

          本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:https://www.linuxrumen.com/rmxx/1770.html


          主站蜘蛛池模板: 国产区精品一区二区不卡中文| 亚洲.国产.欧美一区二区三区| 人妻夜夜爽天天爽爽一区| 伊人色综合视频一区二区三区| 国产亚洲自拍一区| 国产一区内射最近更新| 国产成人欧美一区二区三区| 末成年女AV片一区二区| 久久国产一区二区| 综合人妻久久一区二区精品| 视频精品一区二区三区| 国产精品一区二区无线| 天堂成人一区二区三区| 国产乱码精品一区二区三区 | 日本不卡一区二区三区| 国产vr一区二区在线观看| 一区二区三区AV高清免费波多| 久久一区二区三区精华液使用方法 | 无码成人一区二区| 久久高清一区二区三区| 国产成人精品无码一区二区| 久久久91精品国产一区二区三区 | 在线播放国产一区二区三区| 国模少妇一区二区三区| 视频在线一区二区三区| 久久精品国产第一区二区| 波多野结衣免费一区视频| 亚洲国产精品一区二区第一页 | 免费一区二区三区| 久久久国产精品一区二区18禁| 国产视频一区二区在线播放| 亚洲国产一区国产亚洲| 波多野结衣一区二区| 国产视频一区二区在线观看| 天堂不卡一区二区视频在线观看 | 老熟女五十路乱子交尾中出一区| 国产成人久久精品一区二区三区| 一区二区三区四区免费视频| 国产高清在线精品一区| 国内精品视频一区二区三区 | 色狠狠一区二区三区香蕉|