mkdir:
问题1:如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b?
答1:mkdir -pv /tmp/x/{y1/{a,b},y2}
问题2:如何创建a_c, a_d, b_c, b_d;
答2:mkdir -v {a,b}_{c,d}
问题3:创建如下目录结构:
/tmp/mysysroot/
|-- bin
|-- etc
| `-- sysconfig
| `-- network-scripts
|-- sbin
|-- usr
| |-- bin
| |-- lib
| |-- lib64
| |-- local
| | |-- bin
| | |-- etc
| | |-- lib
| | `-- sbin
| `-- sbin
`-- var
|-- cache
|-- log
`-- run
答3:
~]# mkdir -pv /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scripts,usr/{bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}
shell:
练习1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录;
ls -d /var/l?[[:lower:]]
练习2:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
ls -d /etc/[0-9]*[^0-9]
练习3:显示/etc目录下,以非字母开头,后面跟一个字母及其它任意长度任意字符的文件或目录;
ls -d /etc/[^a-z][a-z]*
练习4:复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/magedu.com目录;
cp -r /etc/m*[^0-9] /tmp/magedu.com/
练习5:复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下;
cp -r /usr/share/man/man[0-9] /tmp/man/
练习6:复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下;
cp -r /etc/[mnrp]*.conf /tmp/conf.d/
tr、管道(|):
练习1:把/etc/passwd文件的前6行的信息转换为大写字符后输出;
head -n 6 /etc/passwd | tr 'a-z' 'A-Z'