平常在LINUX上进行操作,操作最多接触的就是SHELL,而在SHELL中最多接触的就是文件,我们通常需要不停的查找、查看、编辑等.文件在LINUX中命名是有一定规则的.如果快速的定位到一个文件名.或者说模糊匹配一个文件名,应该怎么做.比喻说我们只记得曾经写过一个search****fILE.c 这个文件,但不知道具体的名字,那这个时候需要用到的知道,就是模糊匹配,在LINUX中对文件名有通配符和元字符之说,通配符和元字符与正则表达式中相关符号可能相近,但表示的意义是不一样,需要注意.这里总结如下: * | 匹配文件名中的任何字符串,包括空字符串,或者当前目录下所有文件 | ls app* ls *.doc ls cl*.sed cd cron.w* | 列出所有以app开头的文件 列出以.doc结尾的所有文件 列出以cl中间任意字符(个数不定)并以.sed结尾的字符 进入以cron.w*开头的目录,注意只能一个,如果多个会失败. | ? | 匹配文件名中的单个字符串 | ls ??R* ls conf??.log ls f??*s | 列出R前有任意两个字符的,R后有任意多个字符的文件 列出以conf开头,中间两个任意字 符,后以.log结尾 列出以f开头,中间任意两个字符,后接任意多个字符并以s结尾的文件 | [...] | 匹配[]中包含的任意字符 | ls [io]* ls log.[0-9]* | | [!...] | 不匹配[]中!后的任意字符 | ls log.[!0-9]* | | 这些通配符与正则中有一些不一样,需要注意. [root@windriver-machine shtest]# ls *3* 1234 1234.txt 123abc: 123abc.txt [root@windriver-machine shtest]# ls *abc 123abc.txt [root@windriver-machine shtest]# ls *abc* 123abc.txt [root@windriver-machine shtest]# ls -latr *abc* total 8 -rwxr-xr-x 1 windriver windriver 0 2011-08-06 21:24 123abc.txt drwsr-sr-x 2 windriver windriver 4096 2011-08-06 21:24 . drwxrwxr-x 3 windriver windriver 4096 2011-08-07 02:15 .. [root@windriver-machine shtest]# ll total 28 lrwxrwxrwx 1 root root 8 2011-08-06 22:07 1234 -> 1234.txt -rw-r--r-- 1 root root 0 2011-08-07 01:43 1234.txt drwsr-sr-x 2 windriver windriver 4096 2011-08-06 21:24 123abc -rw-rw-r-- 2 windriver windriver 74 2011-08-06 22:11 errors -rwxrwxr-x 1 windriver windriver 120 2011-08-06 01:44 ex1.sh -rw-rw-r-- 2 windriver windriver 74 2011-08-06 22:11 newerr -rw-rw-r-- 1 windriver windriver 1640 2011-08-06 19:13 output -rw-r--r-- 1 root root 31 2011-08-07 02:14 testoutput -rw-r--r-- 1 root root 169 2011-08-07 02:15 testoutput2 [root@windriver-machine shtest]# ll -d *abc* drwsr-sr-x 2 windriver windriver 4096 2011-08-06 21:24 123abc [root@windriver-machine shtest]# [root@windriver-machine shtest]# ls ????r? errors newerr [root@windriver-machine shtest]# ls [e]* errors ex1.sh [root@windriver-machine shtest]# ls [0-9][0-9][0-9][A-Za-z]* 123abc.txt [root@windriver-machine shtest]# 学习了如何模糊匹配文件,这里我们继续学习几个常用的文件操作命令. 【1】echo echo可以向屏幕输出. echo [-e] [-n] STRING 其中STRING是要输出的字符串,其中可以包含Shell |