這三個指令,每個都很經常使用,用法也都不少。做爲一個Linux初學者,我還不能很好的掌握三個命令的用法,因而先在這篇博客裏作一個簡單的整理和總結,以加深對三個指令的理解。javascript
先說grep,linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是全部用戶。(摘抄過來的)php
grep的通常使用方法就是:grep+[options]+pattern+filenamecss
其中patter是要搜索的字符串或正則表達式。html
參數和正則表達式的字符含義以下:java
一、參數:
-i :忽略大小寫
-c :打印匹配的行數
-l :從多個文件中查找包含匹配項
-v :查找不包含匹配項的行
-n:打印包含匹配項的行和行標
二、RE(正則表達式)
\ 忽略正則表達式中特殊字符的原有含義
^ 匹配正則表達式的開始行
$ 匹配正則表達式的結束行
\< 從匹配正則表達式的行開始
\>; 到匹配正則表達式的行結束
[ ] 單個字符;如[A] 即A符合要求
[ - ] 範圍 ;如[A-Z]即A,B,C一直到Z都符合要求
. 全部的單個字符
* 全部字符,長度能夠爲0
python
明確要求搜索子目錄:grep -r
或忽略子目錄:grep -d skip
linux
若是有不少 輸出時,您能夠經過管道將其轉到’less’上閱讀:
$ grep magic /usr/src/Linux/Documentation/* | less
正則表達式
常見的示例有:objective-c
grep Aug /var/log/messages 在文件 ‘/var/log/messages’中查找關鍵詞」Aug」
grep ^Aug /var/log/messages 在文件 ‘/var/log/messages’中查找以」Aug」開始的詞彙
grep [0-9] /var/log/messages 選擇 ‘/var/log/messages’ 文件中全部包含數字的行
grep Aug -R /var/log/* 在目錄 ‘/var/log’ 及隨後的目錄中搜索字符串」Aug」算法
結合選項就會有更豐富的應用。
接着是cat的用法,在此我參考了http://blog.csdn.NET/jackalfly/article/details/7556848
cat命令是linux下的一個文本輸出命令,一般是用於觀看某個文件的內容的;
cat主要有三大功能:
1.一次顯示整個文件。
$ cat filename
2.從鍵盤建立一個文件。
$ cat > filename
只能建立新文件,不能編輯已有文件.
3.將幾個文件合併爲一個文件。
$cat file1 file2 > file
cat具體命令格式爲 : cat [-AbeEnstTuv] [--help] [--version] fileName
說明:把檔案串鏈接後傳到基本輸出(屏幕或加 > fileName 到另外一個檔案)
參數:
-n 或 –number 由 1 開始對全部輸出的行數編號
-b 或 –number-nonblank 和 -n 類似,只不過對於空白行不編號
-s 或 –squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行
-v 或 –show-nonprinting
範例:
cat -n linuxfile1 > linuxfile2 把 linuxfile1 的檔案內容加上行號後輸入 linuxfile2 這個檔案裏
cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的檔案內容加上行號(空白行不加)以後將內容附加到linuxfile3 裏。
範例:
把 linuxfile1 的檔案內容加上行號後輸入 linuxfile2 這個檔案裏
cat -n linuxfile1 > linuxfile2
把 linuxfile1 和 linuxfile2 的檔案內容加上行號(空白行不加)以後將內容附加到 linuxfile3 裏。
cat -b linuxfile1 linuxfile2 >> linuxfile3
cat /dev/null > /etc/test.txt 此爲清空/etc/test.txt檔案內容
暫無評論