无法使用 find 命令在 / 目录中找到文件

无法使用 find 命令在 / 目录中找到文件

我在 / 中创建了一个名为 123.test 的虚拟文件,尝试了所有最简单的方法来使用 find 命令来查找它,但没有一个可以找到一个简单的文件。出了什么问题?

创建虚拟文件 123.test

$ ls -l /
total 104
-rw-r--r--   1 root root     0 Dec 18 17:17 123.test      <-------------
lrwxrwxrwx   1 root root     7 Jan 20  2021 bin -> usr/bin
drwxr-xr-x   5 root root  4096 Oct  2 23:21 boot
-rw-r--r--   1 root root 23670 Mar 11  2020 desktopfs-pkgs.txt
drwxr-xr-x  21 root root  4040 Dec 18 06:57 dev
drwxr-xr-x 112 root root 12288 Dec 18 06:57 etc
drwxr-xr-x   5 root root  4096 Oct  4 01:04 home

搜索1:我以为失败是因为没有root权限

$ find / -name 123.test
find: '/opt/containerd': Permission denied
find: '/etc/NetworkManager/system-connections': Permission denied
find: '/etc/polkit-1/rules.d': Permission denied
find: '/etc/lvm/cache': Permission denied
find: '/etc/cups/ssl': Permission denied
find: '/etc/samba/private': Permission denied

search2:因此使用 sudo 来查找,但根本不起作用。

[user1@user1-pc /]$ 
$ sudo find . -name 123.test
[sudo] password for user1: 
^C

[user1@user1-pc /]$ 
$ sudo find / -name 123.test
[sudo] password for user1: 
^C

为什么 find 命令不起作用 /root ?

答案1

^C

你在 find 完成搜索之前就杀死了它。所以,这里没有什么问题;它可能需要永远(从字面上看,find 无法知道递归挂载)来搜索/。

您应该添加-x选项来研究搜索相同的文件系统挂载(而不是开始搜索 /sys 或 /proc 等内容)。

您的问题如下:您知道很可能(或肯定)广度优先搜索会比深度优先搜索,但find只做DFS。

相关内容