技能 |【点滴知识】如何使用Linux的find命令跳过指定目录查询?

本文介绍了在Ubuntu和Android环境中使用find命令查找文件的正例与反例,强调了-path参数配置的注意事项,包括避免末尾反斜杠和保持路径一致性。在正例中,成功地找到了多个.rc文件,而在反例中则由于错误的路径配置导致搜索失败或权限问题。
摘要由CSDN通过智能技术生成

命令1find <搜索路径> -path <"需要跳过的指定目录"> -a -prune -o -name "*.*" -print

命令2find <搜索路径> -path <"需要跳过的指定目录"> -or [-path <"需要跳过的指定目录"> -or ]   -a -prune -name "*.*" -print

注意事项:

(1) -path 配置需要跳过的指定目录,不能以反斜杠结尾,否则达不到预期目的,可参见反例1;

(2) -path 配置需要跳过的指定目录,要保证在配置的搜索路径子目录且统一使用绝对路径或相对路径,否则达不到预期目的,可参见反例2。

一、使用场景1 | 运行环境: Ubuntu 18.04.1

正例1:

# find vendor/ -path "vendor/qcom" -a -prune -o -name "*.rc" -print

vendor/hmd/fingerprint/fpc1540/fingerprint_hal/fingerprint_hwbinder/android.hardware.biometrics.fingerprint@2.1-service.rc

vendor/nxp/opensource/halimpl/1.1/android.hardware.nfc@1.1-service.rc

vendor/nxp/opensource/halimpl/1.2/android.hardware.nfc@1.2-service.rc

vendor/nxp/opensource/hidlimpl/1.0/default/vendor.nxp.hardware.nfc@1.0-service.rc

vendor/nxp/opensource/hidlimpl/1.1/default/vendor.nxp.hardware.nfc@1.1-service.rc

vendor/nxp/opensource/hidlimpl/1.2/default/vendor.nxp.hardware.nfc@1.2-service.rc

..............................................................................................................................................

反例1:

# find vendor/ -path "vendor/qcom/" -a -prune -o -name "*.rc" -print

find: 警告: -path 由于 vendor/qcom/ 以 / 结尾因此无法匹配任何内容。

...........................................................................................................................................................

反例2:

# find vendor/ -path "/home/XXX/vendor/qcom" -a -prune -o -name "*.rc" -print

vendor/hmd/fingerprint/fpc1540/fingerprint_hal/fingerprint_hwbinder/android.hardware.biometrics.fingerprint@2.1-service.rc

..............................................................................................................................................

二、使用场景2 | 运行环境: Android One (5G智能手机)

正例2:

# find / -path "/proc" -a -prune -o -name "*.rc" -print

/apex/com.android.adbd/etc/init.rc

/init.environ.rc

find: /mnt/androidwritable/0/emulated: Permission denied

find: /mnt/installer/0/emulated: Permission denied

find: /mnt/user/0/emulated: Permission denied

..............................................................................................................................................

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值