一、通配符:" * ” 、" ? ”
和DOS下一樣,當我們不知道確切的文件名時,可以用通配符來進行模糊操作。“*”可以代表任意長度的任意字符,“?”代表一個任意字符。
二、轉義字符:" / ”
和DOS的命名規則不同的是,通配符" * ”、" ? ”是可以在文件名中使用的。
如果要操作的文件名中包含有這些特殊符號,我們可以結合“/”來表達。下面是通配符和正則表達式的一個簡短列表:
* 匹配所有字符
? 匹配字串中的一個字符
/* 匹配" * ”字符
/? 匹配" ? ”字符
/) 匹配" ) ”字符
For example, file name is: abc*def.pdf---> find */*d*.pdf, find string *d in the file's name.
三、目錄:"/”、"~”、".”、"..”
它們分別代表的意思是:
" / ”:根目錄(在中間使用表示路徑)
"~ ”:用戶根目錄(用戶登錄時所在的目錄)
" . ”:當前目錄
"..”:上級目錄
四、後臺執行:“&”
用戶有時候執行命令要花很長時間,可能會影響做其他事情。最好的方法是將它放在後臺執行。後臺運行的程序在用戶註銷後系統還可以繼續執行。當要把命令放在後臺執行時,在命令的後面加上"&”。
五、管道和重定向:">”、">>”、"<”、“|”
重定向就是使命令改變它所認定的標準輸出。
“>”可將結果輸出到文件中,該文件原有內容會被刪除,
“>>”則將結果附加到文件中,原文件內容不會被刪除。
“<”可以改變標準輸入(stdin)。
如:
cat data1.txt>>data2.txt(將data1.txt文件的內容加在data2.txt文件的後面)
管道" | ”可將命令的結果輸出給另一個命令作爲輸入之用:
man mtools | grep mbadblocks (在mtools的幫助中搜索包含“mbadblocks”的句子)
man mtools | less(把輸出用管道導入到一個叫做 less 的工具。less 是一個分頁工具,它允許你一頁一頁地查看信息。)
六、連接符號:" ;”
當有幾個命令要連續執行時,我們可以把它們放在一行內,中間用";”分開。
mkdir myfile;cp /tmp/myfile.txt myfile(先建立一個目錄myfile,然後把myfile.txt拷貝到新建的目錄中)
七、“&?” :
獲取進程的狀態信息及接收的信號值,其實就是上一次程序或腳本的推出碼,主要用來判斷腳本或程序的執行是否成功,檢查錯誤信息之類的。
八、# 井號(pound)
腳本文件運行時,使用的解釋器。
#!/bin/sh
其他時候表示註釋。
# This is a comment.
九、; 分號(semicolon)
在 shell 中,表示連續指令。
# cd ~/backup ; mkdir startup ; cp ~/.* startup/.