关于find的使用问题

关于find的使用问题

为什么我使用find / -name adsl* 查找不到adsl-setup,而通过find / -name adsl-setup 确可以找到adsl-setup所在的目录位置。我认为find / -name adsl*所找到的文件,应该包括adsl-setup。谢谢
版本redhat ELAS 4.0
try : find ./ -name "adsl*"
[quote:30713d3154="free_wasp"]为什么我使用find / -name adsl* 查找不到adsl-setup,[/quote]
这个应该不是查找不到,而是出现错误
引用:
而通过find / -name adsl-setup 确可以找到adsl-setup所在的目录位置。我认为find / -name adsl*所找到的文件,应该包括adsl-setup。谢谢
版本redhat ELAS 4.0
这个问题就是shell meta与command meta没有区分开,如果加双引号就是*属于command meta也就是匹配开始包含adsl的任意字串,但是不加双引号(或者单引号等)就被shell解释为shell meta因此出现错误!
下面应该都可以:
[code:1]find / -name adsl\*[/code:1]
[code:1]find / -name "adsl*"[/code:1]
[code:1]find / -name 'adsl*'[/code:1]
试试看
locate adsl
thank everyone.let me understand how to run it and why to do this in linux system.this can let everyone learn more about os.
行,可以,谢谢。不过,别的命令使用通配符*,不用“”,linux使用命令格式不统一不规范,造成一定的不方便。 ,瞎说。
[quote:b4195e05e1="free_wasp"]行,可以,谢谢。不过,别的命令使用通配符*,不用“”,linux使用命令格式不统一不规范,造成一定的不方便。 ,瞎说。[/quote]呵呵,其实是比较统一,比较规范的,用多了就会体会到