Linux find 命令加引号的区别

本文详细解析了Linux中find命令使用引号与不使用引号的区别。当find命令后的匹配表达式加引号时,由find命令自身解析,采用正则表达式匹配;若未加引号,则由shell解析,影响find接收的参数。了解这一区别对于精确查找文件至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux find 命令加引号的区别


网上查了一下,原因主要是 find 命令若是加引号则会调用 find 去解析,其采用了正则表达式去匹配。而若是未加引号,则会直接调用 shell 去解析,这是二者的本质区别。

如果执行以下命令:

$ find . -name abc
$ find . -name abc*
$ find . -name “abc*”
$ find . -name “abc*” -print

详细说明如下:

find 后面的匹配表达式必须要加引号,原因是 find命令 本身是可以解析元字符的 。在执行find的时候如过后面不加引号,那么这个*就被shell解析了,shell去匹配目录中的以 abc开头的文件,匹配到后直接将结果传给find。find接收到的参数就如: find -name abcd abc1 abc2 abc3。如果 find后面的匹配表达式加了引号,shell就不会去解析这个引号,那么这时候就由find去解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值