在shell腳本中可以使用任意unix命令,不過實際上最爲常用的一般都是那些文件和文字操作相關的命令。下面介紹一些常用命令的語法和功能:
- echo "some text"
- 在屏幕上輸出信息
- ls
- 文件列表
- wc –l file或 wc -w file 或wc -c file
- 分別計算文件的行數(line)、單詞數(word)和字符數(character),file爲待計算的文件名
- cp sourcefile destfile
- 文件拷貝,sourcefile爲源文件路徑,destfile爲目的文件夾路徑
- mv oldname newname
- 重命名文件或移動文件
- rm file
- 刪除文件
- grep 'pattern' file
- 在文件內搜索字符串或和正則表達式匹配的字符串
- cut -b column file
- 將指定範圍內的文件內容輸出到標準輸出設備(屏幕)上。比如:輸出每行第5至9個字符 cut -b5-9 file.txt,注意不要和cat命令混淆,這是兩個完全不同的命令
- cat file.txt
- 輸出文件內容到標準輸出設備(屏幕)上
- file somefile
- 取得文件somefile的文件類型
- read var
- 提示用戶輸入,並將輸入內容賦值給變量var
- sort file.txt
- 對file.txt文件所有行進行排序
- uniq
- 只輸出文件中內容不一致的行,如: sort file.txt | uniq
- expr
- 進行數學運算,如要進行2+3的運算,命令爲: expr 2 + 3
- find
- 搜索文件,如根據文件名搜索:find . -name filename -print
- tee
- 將數據輸出到標準輸出設備(屏幕) 和文件,比如:somecommand | tee outfile
- basename file
- 返回不包含路徑的文件名,如: basename /bin/tux 會返回 tux
- dirname file
- 返回文件所在路徑,如:dirname /bin/tux 會返回 /bin
- head file
- 打印文本文件開頭幾行
- tail file
- 打印文本文件末尾幾行
- sed
- 是一個基本的查找替換程序。可以從標準輸入(如命令管道)讀入文本,並將結果輸出到標準輸出(屏幕);該命令採用正則表達式進行搜索。 不要和 shell中的通配符相混淆。比如將 ubuntu 替換爲 Ubuntu :cat text.file | sed 's/ubuntu/Ubuntu/' > newtext.file
- awk
- 用來提取文本文件中的字段。缺省的字段分割符是空格,可以使用 -F 指定其它分割符。cat file.txt | awk -F, '{print $1 "," $3 "," $5 }',這裏我們使用 , 作爲字段分割符,同時打印第一和第三個字段。如果該文件內容爲 Adam Bor, 34, IndiaKerry Miller, 22, USA,則上述命令的輸出爲:Adam Bor, IndiaKerry Miller, USA