![无法使用 find 命令在 / 目录中找到文件](https://linux22.com/image/199862/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20find%20%E5%91%BD%E4%BB%A4%E5%9C%A8%20%2F%20%E7%9B%AE%E5%BD%95%E4%B8%AD%E6%89%BE%E5%88%B0%E6%96%87%E4%BB%B6.png)
我在 / 中创建了一个名为 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。