练习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结束