linux查看日誌文件內容命令tail、cat、tac、head、echo
tail -f test.log
你會看到屏幕不斷有內容被打印出來. 這時候中斷第一個進程Ctrl-C,
---------------------------
linux 如何顯示一個文件的某幾行(中間幾行)
從第3000行開始,顯示1000行。即顯示3000~3999行
cat filename | tail -n +3000 | head -n 1000
顯示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意兩種方法的順序
分解:
tail -n 1000:顯示最後1000行
tail -n +1000:從1000行開始顯示,顯示1000行以後的
head -n 1000:顯示前面1000行
用sed命令
sed -n '5,10p' filename 這樣你就可以只查看文件的第5行到第10行。
例:cat mylog.log | tail -n 1000 #輸出mylog.log 文件最後一千行
---------------------------
cat主要有三大功能:
1.一次顯示整個文件。$ cat filename
2.從鍵盤創建一個文件。$ cat > filename
只能創建新文件,不能編輯已有文件.
3.將幾個文件合併爲一個文件: $cat file1 file2 > file
參數:
-n 或 --number 由 1 開始對所有輸出的行數編號
-b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裏。
cat -b textfile1 textfile2 >> textfile3
把test.txt文件扔進垃圾箱,賦空值test.txt
cat /dev/null > /etc/test.txt
注意:>意思是創建,>>是追加。千萬不要弄混了。
------------------------------------------
tac (反向列示)
tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上,
而 tac 則是由最後一行到第一行反向在螢幕上顯示出來!
------------------------------------------
Linux more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。
語法
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
參數:
- -num 一次顯示的行數
- -d 提示使用者,在畫面下方顯示 [Press space to continue, 'q' to quit.] ,如果使用者按錯鍵,則會顯示 [Press 'h' for instructions.] 而不是 '嗶' 聲
- -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能
- -f 計算行數時,以實際上的行數,而非自動換行過後的行數(有些單行字數太長的會被擴展爲兩行或兩行以上)
- -p 不以捲動的方式顯示每一頁,而是先清除螢幕後再顯示內容
- -c 跟 -p 相似,不同的是先顯示內容再清除其他舊資料
- -s 當遇到有連續兩行以上的空白行,就代換爲一行的空白行
- -u 不顯示下引號 (根據環境變數 TERM 指定的 terminal 而有所不同)
- +/pattern 在每個文檔顯示前搜尋該字串(pattern),然後從該字串之後開始顯示
- +num 從第 num 行開始顯示
- fileNames 欲顯示內容的文檔,可爲複數個數
實例
逐頁顯示 testfile 文檔內容,如有連續兩行以上空白行則以一行空白行顯示。
more -s testfile
從第 20 行開始顯示 testfile 之文檔內容。
more +20 testfile
常用操作命令
- Enter 向下n行,需要定義。默認爲1行
- Ctrl+F 向下滾動一屏
- 空格鍵 向下滾動一屏
- Ctrl+B 返回上一屏
- = 輸出當前行的行號
- :f 輸出文件名和當前行的行號
- V 調用vi編輯器
- !命令 調用Shell,並執行命令
- q 退出more
------------------------------------------
在Linux中echo命令用來在標準輸出上顯示一段字符,比如:
echo "the echo command test!"
這個就會輸出“the echo command test!”這一行文字!
echo "the echo command test!">a.sh
這個就會在a.sh文件中輸出“the echo command test!”這一行文字!
該命令的一般格式爲: echo [ -n ] 字符串其中選項n表示輸出文字後不換行;字符串能加引號,也能不加引號。
用echo命令輸出加引號的字符串時,將字符串原樣輸出;
用echo命令輸出不加引號的字符串時,將字符串中的各個單詞作爲字符串輸出,各字符串之間用一個空格分割。