一、使用幫助
1、Help:# help Command適用于內部命令;# Command --help/-h適用于外部命令。至于外部命令和內部命令的區分我們使用# type Command來查看如果顯示builtion該命令是內部命令如果是hashed則該命令是外部命令。
2、Whatis:查看某個命令的簡要說明,通過調用系統中的數據庫文件來找命令的功能描述# whatis Command。當然,這需要先建立建立搜索使用的數據庫,當使用者命令發生錯誤時,就是whatis database沒有建立。輸入:#makewhatis建立搜索用的數據庫。
3、Info:更加詳細的說明文檔。# info Command,info是信息頁,提供作者、版本,什么時候發布等更詳細信息,man是手冊告訴你怎么用。info page的按鍵 空格鍵向下翻一頁 ,pagedown向下翻一頁,pageup向上翻一頁,tab在node之間移動,enter當光標在node上時按下enter可進入該node,b將光標移動到第一個node處,c將光標移動到最后一個node處,n前往那個下一個info page ,p前往上一個node處,u向上移動一層,s(/)在infopage中搜索,h顯示幫助菜單,?命令一覽表,q退出info。-
4、Which:查看命令在哪個位置,#where is command,當系統中安裝了同一軟件的多個版本時,不確定使用的是哪個版本時,這個命令就能派上用場。
5、Man:而對于命令的具體參數及使用方法,我們需要用到強大的man;在只記得部分命令關鍵字的場合,我們可通過man -k來搜索;
man常用命令參數
- man -a:搜索并打開所有man中同名幫助,例如 man passwd ,你首先會進入一個PASSWD(1) section用戶命令類的幫助手冊,你再按q鍵退出當前正在顯示的幫助手冊,就會進入PASSWD(5) section文件格式類的幫助手冊。
- man -aw:顯示所有手冊文件的路徑。例如man -aw passwd
- /usr/share/man/man1/passwd.1.gz
- /usr/share/man/man5/passwd.5.gz
- man -M:指定手冊文件的搜索路徑,有的時候我們自己安裝的軟件是帶有自己的幫助文件的,通常不在我們的MANPATH里面,那么我們就可以手動指定man搜索的文件路徑。如 man -M /home/mysql/man mysql,顯示的就是你安裝的mysql的幫助,而不是系統默認的舊版mysql的幫助。
- man -k:根據關鍵字搜索聯機幫助,是一種模糊搜索。例如要查找"passwd"相關的信息,使用man -k passwd會找到很多和passwd相關的幫助頁。如:我忘記了iptables命令就只能記住ipta則可以使用man -k ipta ,系統會把包括ipta的命令顯示在屏幕上
- man -f:關鍵字精確搜索,與-k不同,它只搜索與關鍵字完全匹配的幫助頁。
二、grep
grep 選項 查找格式 file,grep [選項] [-e 查找模式| -f 文件]
-r 是遞歸查找
-n 是顯示行號
-R 查找所有文件包含子目錄
-i 忽略大小寫
-E 將查找模式解釋成擴展的正則表達式。
-F 將查找模式解釋成單純的字符串。
-b,--byte-offset 在輸出的每一行前面顯示包含匹配字符串的行在文件中的位置,用字節偏移量來表示。
-c,--count 只顯示文件中包含匹配字符串的行的總數。
-f FILE 從文件FILE中獲取模式,每行一個。空文件不含模式,因此,不做匹配。
-i 匹配比較時不區分字母的大小寫。
-v 只顯示不包含匹配字符串的文本行。
-x 只顯示整個行都嚴格匹配的行。
-l 只列出匹配的文件名,
-L 列出不匹配的文件名,
-w 精確匹配
-A后面可加數字,為 after的意思,除了列出該行外,后續的n行也列出來
-B后面可加數字,為 befer 的意思,除了列出該行外,前面的n行也列出來
-grep -w ‘magic’f1: 只匹配整個單詞,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
-grep -C 5 :匹配的上下文分別顯示[number]行,
-grep'HID\|ALA':顯示匹配 pattern1 或 pattern2 的行,
-egrep "TA(AA|CC)TA”
egrep表示擴展正則表達式,用法上grep –E等同于egrep
-grep HID 1tce-a.pdb|grep ALA :顯示既匹配 pattern1 又匹配 pattern2 的行。
-\< 和 \> 分別標注單詞的開始與結尾。
grep man * 會匹配 ‘Batman’、’manic’、’man’等,
grep‘\
grep‘\’只匹配’man’,而不是’Batman’或’manic’等其他的字符串。
-‘^xx’:指匹配的字符串在行首,以xx為開頭
-‘xx$’:指匹配的字符串在行尾,以xx為結尾
- ?'^$' :查找空行
-[]:匹配單個字符;[abl] 匹配 abl中任意一個;[^xx]:對其中的字符進行取反這里只能對的那個字符進行取反 若是希望是多個字符取反的話 還需要看看;[char1-char2]:匹配某個范圍之內的數據 例如 [a-z][A-Z][0-9]
grep '^[^TER]' ?f1:不顯示行首是含TER行
grep '[A-Z]\{4\}' f1:顯示所有包含每個字符串至少有4個連續大寫字符的字符串的行。
\{n,m\} :匹配的個數
查看g和p之間存在兩個連續o的字符串grep -n'go\{2,5\}p'test-grep
查找至少兩個的字符創grep -n 'go\{2,\}p' pp test-grep
查找只有兩個的字符串grep -n 'go\{2\}p' pp test-grep
-grep--color=auto‘38$’ 1tce-a.pdb 高亮顯示在行尾為38
. (小數點):代表『一定有一個任意字節』的意思;
* (星星號):代表『重復前一個字節, 0 到無窮多次』的意思,為組合形態
『o*』代表的是:『擁有空字節或一個 o 以上的字節』, 特別注意,因為允許空字節(就是有沒有字節都可以的意思),因此,『 grep -n 'o*' regular_express.txt 』將會把所有的數據都列印出來螢幕上!
同理,當我們需要『至少兩個 o 以上的字串』時,就需要 ooo*
三、tar
tar 打包壓縮:tar zcvf [目標文件.tgz] 源文件;解壓 tar xvf
-j—壓縮格式 壓縮比高-bz2屬性的-tar.bz2
-z—gzip壓縮-tar.gz
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出
-c 打包成一個文件
-v可見
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文ta'r件
-u:更新原壓縮包中的文件
tar –xvf file.tar ?解壓 tar包
tar -xzvf file.tar.gz ?解壓tar.gz
tar -xjvf file.tar.bz2 ?解壓 tar.bz2
tar –xZvf file.tar.Z ?解壓tar.Z
unrar e file.rar ?解壓rar
unzip file.zip ?解壓zip
zip file.zip *.jpg ? 壓縮zip
rar a file(.rar) *.jpg ?壓縮rar
gzip -d file.gz ?解壓gz
gunzip test.txt.gz
gzcat ?不解壓查看
四、awk
awk? [-F|-f|-v]'BEGIN{} //{command1; command2}? END{}'? file
[-F|-f|-v] 大參數,-F指定分隔符,-f調用腳本,-v定義變量 var=value
' ' 引用代碼塊
BEGIN 初始化代碼塊,在對每一行進行處理之前,初始化代碼,主要是引用全局變量,設置FS分隔符
// 匹配代碼塊,可以是字符串或正則表達式
//純字符匹配 !//純字符不匹配 ~//字段值匹配 !~//字段值不匹配 ~/a1|a2/字段值匹配a1或a2
{} 命令代碼塊,包含一條或多條命令
; 多條命令使用分號分隔
END 結尾代碼塊,在對每一行進行處理之后再執行的代碼塊,主要是進行最終計算或輸出結尾摘要信息
awk是個很強大的命令,這里可以推薦一個比較淺顯易懂的介紹
http://www.cnblogs.com/xudong-bupt/p/3721210.html