linux - 使用或命令在两个目录上查找文件的 unix 顺序

标签 linux bash unix

如果在 Linux 上执行以下 find 命令,文件的预期顺序是什么:

mkdir /tmp/dir1 /tmp/dir2
touch /tmp/dir1/1 /tmp/dir1/2 /tmp/dir2/1 /tmp/dir2/2 /tmp/dir2/3 /tmp/dir2/0
find /tmp/dir1 /tmp/dir2 -name 1 -or -name 0 -not -name 2

/tmp/dir1/1
/tmp/dir2/1
/tmp/dir2/0

是否应该始终先从 dir1 返回结果,然后再从 dir2 返回结果,还是可以按顺序混合结果?

最佳答案

查找命令将按照给定的顺序搜索目录。既然你说

find /tmp/dir1 /tmp/dir2 .....

它总是会首先找到/tmp/dir1 下面匹配的所有内容,然后是/tmp/dir2。

当然,子目录和文件可以以任何顺序出现。

关于linux - 使用或命令在两个目录上查找文件的 unix 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17699518/

相关文章:

python - 使用 Python 的 select 模块检查是否有更多数据可以从文件描述符中读取

linux - 使用 linux 终端执行 sublime 时遇到问题

linux - 在ubuntu中执行shell脚本

linux - 当前目录中文件根目录有 2 个下划线的文件

bash - CentOS 时间跳跃数秒——有时

javascript - 由于(可能)错误的 bash 脚本导致的一些奇怪的错误

unix - sed 命令合并具有相同关键字的两行或多行

c++ - 关于多线程程序的查询

linux - nm 报告符号已定义,但 ldd 报告符号未定义

node.js - Bash 导出变量但仅适用于当前命令