find 的使用

1. 在当前目录下查找所有txt后缀文件

    find ./ -name *.txt

2.在当前目录下的prune1目录及子目录下查找txt后缀文件

    find ./ -path './prune1*' -name *.txt

(** 这个地方很奇怪啊

    find ./ -path './prune1' -name *.txt 的不到正确的结果啊,必须要加上星号

   不知道有哪位高人告诉一下!! 先谢了

3.在当前目录下的dir0目录下的子目录dir00及其子目录下查找txt后缀文件

    find ./ -path '*dir00*' -name *.txt

4.在除dir0及子目录以外的目录下查找txt后缀文件

    find ./ -path './dir0*' -a -prune -o -name *.txt -print

说明:-a 应该是and的缩写,意思是逻辑运算符‘或’(&&); -o应该是or的缩写,意思是逻辑运算符‘与’(||), -not 表示非.

命令行的意思是:如果目录dir0存在(即-a左边为真),则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path './dir0*' -a -prune 为真),find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune ,‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件。

5.在除dir0、dir1及子目录以外的目录下查找txt后缀文件

    find ./ /( -path './dir0*' -o -path './dir1*' /) -a -prune -o -name *.txt -print

注意:圆括号()表示表达式的结合。即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。由于命令行不能直接使用圆括号,所以需要用反斜杠'/'进行转意(即'/'转意字符使命令行认识圆括号)。同时注意'/(','/)'两边都需空格。

6.在dir0、dir1及子目录下查找txt后缀文件

    find ./ /( -path './dir0*' -o -path './dir1*' /) -a -name *.txt -print

 

+1. 在所有以名为dir_general的目录下查找txt后缀文件

find ./ -path '*/dir_general/*' -name *.txt -print

--------------------------------------------------------------------


find \( -path "./prune1" -a -path "./prune2" -a -path "./prune" \) 只会打印存在的文件夹

这些表达式之间的关系是与(and), 所以当其中任何一个文件夹存在都会打印出来。


find ./ \( -path "./prune1" -o -path "./prune2" -o -path "./prune3" \) -prune -o -name "*.txt" -print

find ./ \( -path "./prune1" -o -path "./prune2" -o -path "./prune3" \)  成功执行,所以-prune等于true


-----------------------------------------------------------------------


与 Linux 中的许多命令不同,find 不需要 -r 或 -R 选项即可下到子目录中。它默认情况下就这样操作。但是,有时您可能希望限制这一行为。因此,选项 -depth、-maxdepth 和 -mindepth 以及操作 -prune 就派上用场了。

我们已经看到了 -prune 是多么有用,下面让我们来看看 -depth、-maxdepth 和 -mindepth 选项。

-maxdepth 和 -mindepth 选项允许您指定您希望 find 搜索深入到目录树的哪一级别。如果您希望 find 只在目录的一个级别中查找,您可以使用 maxdepth 选项。

通过运行以下命令在目录树的前三个级别中查找日志文件,您可以看到 -maxdepth 的效果。使用该选项较之不使用该选项所生成的输出要少得多。

find / -maxdepth 3 -name "*log"

您还可以让 find 在至少下至目录树三个级别的目录中查找:

find / -mindepth 3 -name "*log"

-depth 选项确保先在一个目录中进行查找,然后才在其子目录中进行查找。以下命令提供了一个示例:

find -name "*test*" -depth ./test/test ./test ./localbin/test ./localbin/test_shell_var ./localbin/test.txt ./test2/test/test ./test2/test ./test2







回答: 当在Linux终端输入ifconfig命令时提示"Command not found",这通常是因为ifconfig命令在最新的Linux发行版中已经被弃用。取而代之的是ip命令。你可以使用ip address命令来查看系统的IP地址。\[2\]如果你想使用ifconfig命令,你可以尝试安装net-tools软件包,它包含了ifconfig命令。你可以使用以下命令来安装net-tools软件包:sudo apt-get install net-tools(对于Debian/Ubuntu系统)或者sudo yum install net-tools(对于CentOS/RHEL系统)。安装完成后,你就可以使用ifconfig命令了。另外,如果你在执行命令时遇到了其他问题,比如"Failed to restart xxxx.service: Unit not found",请确保你输入的命令和服务名称没有错误,并且你有足够的权限来执行这些操作。\[3\] #### 引用[.reference_title] - *1* *3* [ifconfig命令无法找到](https://blog.youkuaiyun.com/sasuke__naruto/article/details/115892539)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [解决ifconfig命令找不到](https://blog.youkuaiyun.com/afjklafjklajflafja/article/details/123775447)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值