linux SHELL通配符和一些命令的使用

* 匹配任意多個字符(包括零個或一個)
? 匹配任意一個字符(不包括零個)
[characters] 匹配任意一個屬於字符集中的字符
[!characters] 匹配任意一個不是字符集中的字符
[[:class:]]

匹配任意一個屬於指定字符類中的字

常用字符類

[:alnum:] 匹配任意一個字母或數字
[:alpha:] 匹配任意一個字母
[:digit:] 匹配任意一個數字
[:lower:] 匹配任意一個小寫字母
[:upper:] 匹配任意一個大寫字母

example:建議使用字符類來匹配,而不是[0-9]這種的。

BACKUP.[0-9][0-9][0-9] 以"BACKUP."開頭,並緊接着3個數字的文件
[[:upper:]]* 以大寫字母開頭的文件
[![:digit:]]* 不以數字開頭的文件
*[[:lower:]123] 文件名以小寫字母結尾,或以 “1”,“2”,或 “3” 結尾的文件
mkdir directory...  創建目錄,三個.意味着參數可以重複
cp item1 item2  cp item... directory
-a, --archive 複製文件和目錄,以及它們的屬性,包括所有權和權限。 通常,複本具有用戶所操作文件的默認屬性。
-i, --interactive 在重寫已存在文件之前,提示用戶確認。如果這個選項不指定, cp 命令會默認重寫文件。
-r, --recursive 遞歸地複製目錄及目錄中的內容。當複製目錄時, 需要這個選項(或者-a 選項)。
-u, --update 當把文件從一個目錄複製到另一個目錄時,僅複製 目標目錄中不存在的文件,或者是文件內容新於目標目錄中已經存在的文件。
-v, --verbose 顯示翔實的命令操作信息
example:
cp file1 file2 dir1 複製文件 file1 和文件 file2 到目錄 dir1。目錄 dir1 必須存在。
cp dir1/* dir2 使用一個通配符,在目錄 dir1 中的所有文件都被複制到目錄 dir2 中。 dir2 必須已經存在。
cp -r dir1 dir2 複製目錄 dir1 中的內容到目錄 dir2。如果目錄 dir2 不存在, 創建目錄 dir2,操作完成後,目錄 dir2 中的內容和 dir1 中的一樣。 如果目錄 dir2 存在,則目錄 dir1 (和目錄中的內容)將會被複制到 dir2 中。
mv item1 item2  mv item... directory 
-i --interactive 在重寫一個已經存在的文件之前,提示用戶確認信息。 如果不指定這個選項,mv 命令會默認重寫文件內容。
-u --update 當把文件從一個目錄移動另一個目錄時,只是移動不存在的文件, 或者文件內容新於目標目錄相對應文件的內容。
-v --verbose 當操作 mv 命令時,顯示翔實的操作信息。

rm item...   小貼士。 當你使用帶有通配符的rm命令時(除了仔細檢查輸入的內容外), 先用 ls 命令來測試通配符。這會讓你看到將要被刪除的文件是什麼。然後按下上箭頭按鍵,重新調用 剛剛執行的命令,用 rm 替換 ls。
-i, --interactive 在刪除已存在的文件前,提示用戶確認信息。 如果不指定這個選項,rm 會默默地刪除文件
-r, --recursive 遞歸地刪除文件,這意味着,如果要刪除一個目錄,而此目錄 又包含子目錄,那麼子目錄也會被刪除。要刪除一個目錄,必須指定這個選項。
-f, --force 忽視不存在的文件,不顯示提示信息。這選項覆蓋了“--interactive”選項。
-v, --verbose 在執行 rm 命令時,顯示翔實的操作信息。
ln file link 
ln -s item link  item可以是文件也可以是目錄
  1. 一個硬鏈接不能關聯它所在文件系統之外的文件。這是說一個鏈接不能關聯 與鏈接本身不在同一個磁盤分區上的文件。

  2. 一個硬鏈接不能關聯一個目錄。

  3. 創建符號鏈接是爲了克服硬鏈接的侷限性。符號鏈接生效,是通過創建一個 特殊類型的文件,這個文件包含一個關聯文件或目錄的文本指針。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章