通配符比较简单。我们已经知道通配符常常是在shell终端中用来匹配文件名的,今天来看一下在ls命令中使用通配符的例子。
用法:ls [选项]... [文件]...
ls本身也有很多的选项,我们今天不看选项,而是看它的参数部分。
现在我们当前目录总共有如下8个文件 $ ls 1.c 1.cpp 1.h 3.c 3.cpp 3.h a.out readme 列出全部文件 $ ls * 1.c 1.cpp 1.h 3.c 3.cpp 3.h a.out readme 列出1开头的、并且扩展名是1个字符的文件(此处认为文件名全名中带有.就是有扩展名) $ ls 1.? 1.c 1.h 列出1开头的、并且扩展名是至少1个字符的文件 $ ls 1.?* 1.c 1.cpp 1.h 列出所有扩展名为h的文件 $ ls *.h 1.h 3.h 列出所有带有扩展名的文件 $ ls *.* 1.c 1.cpp 1.h 3.c 3.cpp 3.h a.out 列出文件名是1-3中的1个字符、并且扩展名是 h 的文件 $ ls [1-3].h 1.h 3.h 列出具有扩展名、并且扩展名首字母不是 c 的所有文件 $ ls *.[^c]* 1.h 3.h a.out 列出文件名是1-3中的1个字符、并且扩展名是 c 或 h 的文件 $ ls [1-3].[ch] 1.c 1.h 3.c 3.h 列出扩展名之前是单个字符,并且扩展名部分的第一个字符是 c 的文件 $ ls ?.c* 1.c 1.cpp 3.c 3.cpp 如何列出不带扩展名的文件呢?我需要借助grep(如果你有别的方法,欢迎回复) $ ls |grep -v "\." readme
原创文章,版权所有,转载请注明出处。