所以我使用的是Mac OS X 10.5,我有一个叫做的文件
_Mail.grxml
这正在处理好笑。
ls -l
将显示该文件,但是
ls -l *
将不会。 这只是一个文件; 注意
ls -l | wc -l
给出43(目录中的文件数量),但是
ls -l * | wc -l
给42。
所以问题是 – 是否有文件名,OSX只是不好玩? 或者命令行上*的语义与我所期望的不同?
(注意这不是唯一的名字以下划线开头的文件;其他文件只能被*选中)。
你没有说你正在使用什么shell,但是如果是Bash(或者类似的),你可能会让环境variablesGLOBIGNORE设置为在你做path名扩展时排除一些模式,比如在ls -l * 。
GLOBIGNORE
以冒号分隔的模式列表,定义了一组文件名
被path名扩展忽略。 如果一个文件名匹配一个
path名称扩展模式也匹配其中的一个模式
GLOBIGNORE,它将从匹配列表中删除。
$ touch _Mail.grxml $ ls -l -rw-r--r-- 1 user user 0 2009-11-13 14:57 _Mail.grxml $ ls -l * -rw-r--r-- 1 user user 0 2009-11-13 14:57 _Mail.grxml $ GLOBIGNORE=*.grxml $ ls -l -rw-r--r-- 1 user user 0 2009-11-13 14:57 _Mail.grxml $ ls -l * ls: cannot access _*: No such file or directory
(这是testing目录中的唯一文件。)
一个想法 – 它是以._开头(点下划线,不只是下划线)?