![使用 find 命令查找目录 - 大量未知项目列表 Mac OS X 10.11](https://linux22.com/image/1516534/%E4%BD%BF%E7%94%A8%20find%20%E5%91%BD%E4%BB%A4%E6%9F%A5%E6%89%BE%E7%9B%AE%E5%BD%95%20-%20%E5%A4%A7%E9%87%8F%E6%9C%AA%E7%9F%A5%E9%A1%B9%E7%9B%AE%E5%88%97%E8%A1%A8%20Mac%20OS%20X%2010.11.png)
我正在尝试卸载 valgrind 的先前版本。我已手动删除特定的 valgrind 文件夹,该文件夹保存在我的工作目录中,名称为valgrind 3.11
,现在我尝试检查系统中是否还剩下任何东西。我find / -name valgrind -type d
在终端中使用命令查看 valgrind 目录可能存在的位置列表。结果我得到了一个很长的列表,里面有一些我无法解读的东西(我是新手,只学习编程和 CS)。
请查看此列表的一部分并帮助我理解它告诉我的内容,以及我该怎么做才能确保我没有 valgrind 程序的任何痕迹。获取列表后,我尝试使用 Finder 中的 Go to 和 Terminal 中的 cd 访问一些显示的文件夹,每次都得到相同的响应,即无法找到该文件夹。此外,在运行此find
命令之前,我已从中删除了 valgrind 文件夹
/usr/local/lib/valgrind
/usr/local/include/valgrind
/usr/local/share/doc/valgrind
以下是我在终端中看到的列表的一部分:
find / -name valgrind -type d
输出:
find: /.com.apple.NetBootX: Permission denied
find: /.DocumentRevisions-V100: Permission denied
find: /.Spotlight-V100: Permission denied
find: /.TemporaryItems/folders.0: Permission denied
find: /.Trashes: Permission denied
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
find: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
find: /Library/Application Support/ApplePushService: Permission denied
find: /Library/Application Support/com.apple.TCC: Permission denied
find: /Library/Caches/com.apple.iconservices.store: Permission denied
find: /Library/Server/Mail/Data/mta: Permission denied
find: /Library/Server/Mail/Data/spool/private: Permission denied
find: /Library/Server/Mail/Data/spool/public: Permission denied
find: /private/etc/cups/certs: Permission denied
find: /private/var/agentx: Permission denied
find: /private/var/at/tabs: Permission denied
find: /private/var/at/tmp: Permission denied
find: /private/var/audit: Permission denied
find: /private/var/backups: Permission denied
find: /private/var/db/caches/opendirectory: Permission denied
find: /private/var/db/ConfigurationProfiles/Setup: Permission denied
find: /private/var/db/dhcpclient: Permission denied
find: /private/var/db/diagnostics: Permission denied
find: /private/var/db/dslocal/nodes/Default: Permission denied
等等等等
find: /System/Library/Caches/com.apple.coresymbolicationd: Permission denied
find: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
ETC
非常感谢!
答案1
该find
命令的工作方式是从您提供的目录点开始从左到右遍历每个目录。在您的例子中,您指示 find 从根目录开始,这意味着它将最终遍历文件系统的整个目录结构。
为了查看目录的内容,必须具有该目录的读取权限。作为普通用户,您没有文件系统中所有文件夹的读取权限。以普通用户身份运行 find 命令时,当 find 遍历目录树时,每次遇到您没有读取权限的目录时,它都会抛出一条权限被拒绝错误消息,就像您在上例中看到的那样。
而是运行如下命令:
sudo find / -name valgrind -type d
....您将不会遇到所有Permission Denied
错误消息,并且 find 将能够在整个文件系统中搜索包含 valgrind 的任何目录。