練習1:在/tmp 下新建x_m, x_n, y_m, y_n目錄
mkdir -pv /tmp/{x_,y_}{m,n}
說明:-p 如果沒有父目錄則創建父目錄。
-v 顯示創建過程。
練習2:
1)顯示/etc/目錄下,以非字母開頭,後面跟了一個字母及其它任意長度任意字符的文件或目錄
ls /etc/[^a-z][a-z]*
說明:^表示取反,方括弧中字母範圍是不區分大小寫的。如果題目改爲以大寫字母開頭,後面跟
了一個字母及其它任意長度任意字符的文件或目錄,則命令語句可變爲:
ls /etc/[^[:upper:]][a-z]*
小結:* 匹配任意長度的任意字符
? 匹配任意單個字符
[] 匹配指定範圍內的任意單個字符
[^] 匹配範圍外的任意單個字符
[:lower:]小寫字母[a-z]
[:upper:]大寫字母[A-Z]
[:alnum:]大、小寫字母和數字[0-9a-zA-Z] 同[:alpha:] ?
[:digit:]數字[0-9]
[:space:]空白字符
[:punct:]標點符號
2)複製/etc目錄下,所有以.d結尾的文件或目錄至/tmp/magedu.com目錄中
mkdir /tmp/magedu.com
cp -r /etc/*.d /tmp/magedu.com/
說明: -r 遞歸,即包括子目錄。
另外試了一些參數,當/tmp/magedu.com路徑不存在時,需先建好此目錄,然後再拷貝。
練習3:
1) 將/tmp/readme.test文件中的小寫字母替換爲大寫字母,並將結果寫到新的文件1.txt中
tr [a-z] [A-Z] </tmp/readme.test >1.txt (注意兩方括弧間有空格)
2) 刪除/tmp/readme.test文件中帶(1)的部分
tr ["(1)"]</tmp/readme.test 或 tr"[(1)]"</tmp/readme.test (7.1中測試均通過)
練習4:
1)執行ls列出目錄文件同時將輸出保存到文件test中
ls -l |tee test
2)執行ls列出目錄文件同時將輸出追加保存到test中
ls -l |tee -a test
說明: -a 追加到文件中
-i 不接收中斷信號,只能用[Ctrl]d結束