標籤:bash基礎特性之檔案名稱通配(globbing)
1、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位元字(可以有其它字元)的檔案或目錄。
ls -d /var/l*[0-9]*[[:lower:]]或ls -d /var/l*[[:digit:]]*[[:lower:]]
命令測試結果
[[email protected] Desktop]# touch /var/l0a /var/la1Ab /var/lAB2abc[[email protected] Desktop]# ls -d /var/l*[0-9]*[[:lower:]]/var/l0a /var/la1Ab /var/lAB2abc[[email protected] Desktop]# ls -d /var/l*[[:digit:]]*[[:lower:]]/var/l0a /var/la1Ab /var/lAB2abc
2、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的檔案或目錄。
ls -d /etc/[0-9]*[^0-9]或ls -d /etc/[[:digit:]]*[^[:digit:]]
命令測試及結果
[[email protected] Desktop]# touch /etc/[email protected] /etc/1#Bb[[email protected] Desktop]# ls -d /etc/[0-9]*[^0-9]/etc/[email protected] /etc/1#Bb[[email protected] Desktop]# ls -d /etc/[[:digit:]]*[^[:digit:]]/etc/[email protected] /etc/1#Bb
3、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任一字元的檔案或目錄。
ls -d /etc/[^a-zA-Z][a-zA-Z]*或ls -d /etc/[^[:alpha:]][[:alpha:]]*
命令測試及結果
[[email protected] Desktop]# touch /etc/[email protected] /etc/#z3c4D[[email protected] Desktop]# ls -d /etc/[^a-zA-Z][a-zA-Z]*/etc/[email protected] /etc/[email protected] /etc/#z3c4D[[email protected] Desktop]# ls -d /etc/[^[:alpha:]][[:alpha:]]*/etc/[email protected] /etc/[email protected] /etc/#z3c4D
4、在/tmp目錄下建立以tfile開頭,後跟當前日期和時間的檔案,檔案名稱形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-$(date +%F-%H-%M-%S)或touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
命令測試及結果
[[email protected] Desktop]# touch /tmp/tfile-$(date +%F-%H-%M-%S)[[email protected] Desktop]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`[[email protected] Desktop]# ls /tmp/tfile*/tmp/tfile-2017-05-12-09-50-18 /tmp/tfile-2017-05-12-09-50-23
5、複製/etc目錄下所有以p開頭,以非數字結尾的檔案或目錄到/tmp/mytest1目錄中。
cp -r /etc/p*[^0-9] /tmp/mytest1或cp -r /etc/p*[^[:digit:]] /tmp/mytest1
命令測試及結果
[[email protected]alhost Desktop]# mkdir -p /tmp/mytest1 ; cp -r /etc/p*[^0-9] /tmp/mytest1 ; ls /tmp/mytest1pam.d pbm2ppa.conf plymouth popt.d prelink.conf.d profile.d purplepasswd pinforc pm postfix printcap protocolspasswd- pki pnm2ppa.conf ppp profile pulse[[email protected] Desktop]# rm -rf /tmp/mytest1 ; mkdir -p /tmp/mytest1 ; cp -r /etc/p*[^[:digit:]] /tmp/mytest1 ; ls /tmp/mytest1pam.d pbm2ppa.conf plymouth popt.d prelink.conf.d profile.d purplepasswd pinforc pm postfix printcap protocolspasswd- pki pnm2ppa.conf ppp profile pulse
6、複製/etc目錄下所有以.d結尾的檔案或目錄至/tmp/mytest2目錄中。
cp -r /etc/*.d /tmp/mytest2
命令測試及結果
[[email protected] Desktop]# mkdir -p /tmp/mytest2 ; cp -r /etc/*.d /tmp/mytest2 ; ls /tmp/mytest2bash_completion.d ipsec.d profile.d rwtab.dbinfmt.d ld.so.conf.d rc0.d sane.dchkconfig.d libibverbs.d rc1.d setuptool.dcron.d logrotate.d rc2.d statetab.ddepmod.d modprobe.d rc3.d sudoers.ddnsmasq.d modules-load.d rc4.d sysctl.ddracut.conf.d my.cnf.d rc5.d tmpfiles.dexports.d oddjobd.conf.d rc6.d usb_modeswitch.dgdbinit.d pam.d rc.d xinetd.dgrub.d popt.d request-key.d yum.repos.dinit.d prelink.conf.d rsyslog.d
7、複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的檔案至/tmp/mytest3目錄中。
cp -r /etc/[lmn]*.conf /tmp/mytest3或cp -r /etc/{l,m,n}*.conf /tmp/mytest3
命令測試及結果
mkdir -p /tmp/mytest3 ; cp -r /etc/[lmn]*.conf /tmp/mytest3 ; ls /tmp/mytest3ld.so.conf locale.conf mke2fs.conf nsswitch.conflibaudit.conf logrotate.conf mtools.conf numad.conflibuser.conf man_db.conf nfsmount.confrm -rf /tmp/mytest3 ; mkdir -p /tmp/mytest3 ; cp -r /etc/{l,m,n}*.conf /tmp/mytest3 ; ls /tmp/mytest3ld.so.conf locale.conf mke2fs.conf nsswitch.conflibaudit.conf logrotate.conf mtools.conf numad.conflibuser.conf man_db.conf nfsmount.conf
Linux基礎入門第三周作業【Linux微職位】