Linux系统学习笔记:find -name命令的坑与填坑

学习Linux的时候,阅读的教程的作者特别提醒到:Linux系统下的find命令虽然很强大,但是新手用起来很容易出问题。当时我还不信:不就是个查找吗?结果真到用的时候才发现,find的用法其实真的挺“坑”的。(我用的CentOS 7)

操作目的很简单:找到主目录(~)下的所有.html后缀的文件,.c后缀的文件等。

这里我就把我所有出过的错分享出来了,大家有则共勉,无则笑笑。

OK,我们分析一下,.html文件是吧,正则匹配find ~ *.html走起!

然后就出错了……好吧我们仔细读一下教材,find用法明确规定,查找特定名称(包括正则匹配)的文件必须使用-name参数……这可不是英语造句子,直接find xxx是没用的!

好吧,

$ find ~ -name *.html

OK,没问题,再看看教材实例:

下面的命令查找主目录下文件名为sample或者以.old结尾的文件:

$ find ~ \( -name sample -o -name '*.old' \)

原来\( )\功能是这么跟正则匹配一起用的啊,我试试

$ find ~ -name \(*.html\)
find: 路径必须在表达式之前: *.html

好吧,我又写错了,-name应该放在转义括号内

$ find ~ \(-name *.html\) 
find: ‘(-name’: 没有那个文件或目录
find: ‘*.html)’: 没有那个文件或目录

WTF?这又是什么错误?

原来教程上写着,\(和\)以及逻辑参数-o等前后都要加括号,再来

$ find ~ \( -name '*.html' \) 

终于成功了。

顺便说一下,文件名可以不加引号,结果一样(我是按照教程示例写的)。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值