1、通配符练习
- 显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls -d /var/l*[0-9]*[[:lower:]]
- 显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
- 显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
ls -d /etc/[^[:alpha:]][[:alpha:]]*
- 显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
ls -d /etc/rc[0-6]*
- 显示/etc目录下,所有以.d结尾的文件或目录
ls -ad /etc/*.d
- 显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -d /etc/[mnrp]*.conf
- 只显示/root下的隐藏文件和目录
ls -ad .*=l.
[root@centos7 ~]#alias l. 是别名
alias l.='ls -d .* --color=auto
- 只显示/etc下的非隐藏目录
ls -d /etc/*/
2、cp命令练习
- 定义别名命令baketc,每天将/etc/目录下所有文件,备份到/testdir独立的子目录下,并要求子目录格式为backupYYYY-mm-dd,备份过程可见
[root@centos6 ~]#cd /
[root@centos6 /]#ls
app boot etc lib lost+found misc net proc sbin srv tmp var
bin dev home lib64 media mnt opt root selinux sys usr
[root@centos6 /]#mkdir /testdir
[root@centos6 ~]#alias baketc='cp -av /etc/ /testdir/backup`date +%F`' #备份过程可见用-v
[root@centos6 /]#baketc
[root@centos6 /]#cd testdir/
[root@centos6 testdir]#ls
backup2017-07-20
- 创建/testdir/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
[root@centos6 ~]#cd /testdir/
[root@centos6 testdir]#mkdir rootdir
[root@centos6 testdir]#ls
backup2017-07-20 rootdir
[root@centos6 testdir]#cp -r --preserv=all /root rootdir #复制目录必须带上-r选项
[root@centos6 rootdir]#ll -d /root /testdir/rootdir/root
dr-xr-x---. 24 root root 4096 Jul 20 07:40 /root
dr-xr-x---. 24 root root 4096 Jul 20 07:40 /testdir/rootdir/root #两个文件权限完全一样
3、mkdir命令练习
- 如何创建/testdir/dir1/x, /testdir/dir1/y,
/testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b
mkdir -p /testdir/dir1/{x,y}/{a,b}
- 如何创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b
mkdir -p /testdir/dir2/{x/{a,b},y}
- 如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7
mkdir -p /testdir/dir{3,4,5/dir{6,7}}