趁週末,複習一下鳥哥的linux私房菜,看到文件內容查閱部分,作個筆記,哈哈,但願對你有幫助哦。html
cat : 由第一行開始顯示文件全部內容linux
cat [-AbEnTv]
參數:
-A : 至關於-vET 的整合參數,可列出一些特殊字符,而不是空白而已
-b :列出行號,僅針對非空白行作行號顯示,空白行不標行號
-E :將結尾的斷行字符$顯示出來
-n : 打印行號,連同空白行也會有行號,與-b的參數不一樣
複製代碼
範例一:redis
查看cattest.txt的內容bash
[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# cat cattest.txt
test cat command
jaywei
#####
複製代碼
範例二:less
查看cattest.txt的內容,而且顯示行號ide
[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# cat -n cattest.txt
1 test cat command
2 jaywei
3
4 #####
複製代碼
tac : 從最後一行開始顯示,能夠看出tac是cat的倒寫形式svn
[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# tac cattest.txt
#####
jaywei
test cat command
複製代碼
head :顯示文件開頭的內容,以行爲單位,默認文件開頭的前10行學習
head [OPTION]... FILE...
-n<行數> 顯示的行數
-q 隱藏文件名
-v 顯示文件名
-c<字節> 顯示字節數
複製代碼
顯示 sentinel.conf 文件前12行ui
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# head -n 12 sentinel.conf
# Example sentinel.conf
# *** IMPORTANT ***
#
# By default Sentinel will not be reachable from interfaces different than
# localhost, either use the 'bind' directive to bind to a list of network
# interfaces, or disable protected mode with "protected-mode no" by
# adding it to this configuration file.
#
# Before doing that MAKE SURE the instance is protected from the outside
# world via firewalling or other means.
#
複製代碼
查看文件的內容,也是以行爲單位,默認10行,從尾往前看。監聽Java動態日誌時,通常跟-f
參數配合使用。this
tail [參數] [文件]
-f 循環讀取
-q 不顯示處理信息
-v 顯示詳細的處理信息
-c<數目> 顯示的字節數
-n<行數> 顯示文件的尾部 n 行內容
複製代碼
範例一
顯示sentinel.conf文件的最後12行
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -n 12 sentinel.conf
# <role> is either "leader" or "observer"
#
# The arguments from-ip, from-port, to-ip, to-port are used to communicate
# the old address of the master and the new address of the elected slave
# (now a master).
#
# This script should be resistant to multiple invocations.
#
# Example:
#
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
複製代碼
範例二
持續檢測sentinel.conf的內容
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -f sentinel.conf
# The arguments from-ip, from-port, to-ip, to-port are used to communicate
# the old address of the master and the new address of the elected slave
# (now a master).
#
# This script should be resistant to multiple invocations.
#
# Example:
#
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
<==要等到輸入[ctrl]-c 以後才離開tail 這個命令的檢測
複製代碼
範例三
持續檢測sentinel.conf的內容,並匹配redis關鍵字。匹配關鍵字,通常用grep
,tail
通常也會跟grep
搭檔使用。
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -f sentinel.conf | grep redis
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
<==要等到輸入[ctrl]-c 以後才離開tail 這個命令的檢測
複製代碼
tial -f
被用來動態監聽Java日誌,開發聯調常用到,它通常跟grep
一塊兒搭檔使用。more :一頁一頁地顯示文件內容
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
參數:
-num :一次顯示的行數
-p :不以捲動的方式顯示每一頁,而是先清除螢幕後再顯示內容
-c : 跟 -p 類似,不一樣的是先顯示內容再清除其餘舊資料
-s : 當遇到有連續兩行以上的空白行,就代換爲一行的空白行
+/pattern : 在每一個文檔顯示前搜尋該字串(pattern),而後從該字串以後開始顯示
-u :不顯示下引號 (根據環境變數 TERM 指定的 terminal 而有所不一樣)
+num : 從第 num 行開始顯示
fileNames :欲顯示內容的文檔,可爲複數個數
複製代碼
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more sentinel.conf
# Example sentinel.conf
...(中間省略) ...
# Note that whatever is the ODOWN quorum, a Sentinel will require to
# be elected by the majority of the known Sentinels in order to
# start a failover, so no failover can be performed in minority.
#
# Slaves are auto-discovered, so you don't need to specify slaves in
--More--(29%)
複製代碼
仔細看上面的範例,若是more後面接的文件內容行數大於屏幕輸出的行數時,就會出現相似上面的圖示。重點在最後一行,最後一行會顯示出目前顯示的百分比,並且還能夠在最後一行輸入一些有用的命令。在more這個程序的運行過程當中,你可使用一些經常使用的操做命令:
最經常使用的是:按q
離開,按空格鍵
往下翻頁,按b
往回翻頁,以及/字符串
搜索功能,請看如下demo
範例一
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10 sentinel.conf
# Example sentinel.conf
...(此處省略)...
# Before doing that MAKE SURE the instance is protected from the outside
--More--(4%)
複製代碼
分頁查看sentinel.conf文件,一頁展現10行。按下空格鍵
,能夠往下翻頁,
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10 sentinel.conf
# Example sentinel.conf
...(此處省略)...
# protected-mode no
# port <sentinel-port>
# The port that this sentinel instance will run on
--More--(7%)
複製代碼
按下b
,能夠回退到上一頁
# *** IMPORTANT ***
...(此處省略)...
# Before doing that MAKE SURE the instance is protected from the outside
# world via firewalling or other means.
--More--(5%)
複製代碼
按下q
,能夠馬上離開more
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]#
複製代碼
範例二
若是想在sentinel.conf文件中,搜尋sentinel關鍵字,能夠這樣作
[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10 sentinel.conf
# Example sentinel.conf
...(此處省略)...
# Before doing that MAKE SURE the instance is protected from the outside
/sentinel 輸入/以後,光標就會自動跑到最下面一行等待輸入
複製代碼
如同上面的說明,輸入了/以後,光標就會跑到最下面一行,而且等待你的輸入,你輸入了字符串並按下[Enter]以後,more就會開始向下查詢該字符串,而重複查詢同一個字符串,能夠直接按下n便可。最後不想看了,就按下q離開more。
# Before doing that MAKE SURE the instance is protected from the outside
/sentinel
...skipping
# protected-mode no
# port <sentinel-port>
# The port that this sentinel instance will run on
port 26379
# sentinel announce-ip <ip>
# sentinel announce-port <port>
#
/
...skipping
# Example:
#
# sentinel announce-ip 1.2.3.4
# dir <working-directory>
# Every long running process should have a well-defined working directory.
# For Redis Sentinel to chdir to /tmp at startup is the simplest thing
# for the process to don't interfere with administrative tasks such as
# unmounting filesystems.
--More--(23%)
複製代碼
less 與 more 相似,但less的用法比起more又更加有彈性。
範例一
在sentinel.conf文件中,搜尋sentinel關鍵字,以下
less sentinel.conf
複製代碼
輸入反斜槓/
,輸入關鍵字sentinel
,回車
重複前一個搜索,能夠按n,反向重複前一個搜索,按N
範例二
Linux 動態查看日誌文件,通常用tail -f ,可是咱們也能夠用less+ F 實現。
less + file-name + 命令 F = tail -f + file-name
複製代碼
咱們常常用tail -f +grep 關鍵字,動態查找報錯的日誌,也能夠用less實現。先輸入shirft+g,到達文件結尾
而後輸入?
,輸入搜索關鍵字,如sentinel
,回車,而後按n
鍵往上搜索,效果是否是也不錯?尤爲日誌文件動態刷新太快的時候,奸笑臉。
本文總結了查看文件日誌的幾個linux命令,cat、tac、head、tail、more、less,其中less真的很適合平常開發日誌查看,很是推薦less。