![Unix:如何列出包含程序名称的所有目录](https://linux22.com/image/162448/Unix%EF%BC%9A%E5%A6%82%E4%BD%95%E5%88%97%E5%87%BA%E5%8C%85%E5%90%AB%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%89%80%E6%9C%89%E7%9B%AE%E5%BD%95.png)
如何列出包含程序名称“minecraft”的所有目录?
答案1
使用find
和dirname
查找所有文件minecraft
与当前目录中的名称(调整搜索位置以适应)。
find . -type f -name minecraft | xargs -L 1 dirname
要查找具有可执行权限的文件,您可以使用-perm
查找选项(调整值以适合您的搜索条件):
find . -type f -perm +0111 -name minecraft | xargs -L 1 dirname
这应该打印目录路径相对于搜索位置。
如果您想搜索整个系统,只需将其/
作为第一个参数传递即可。
答案2
如果这是 Unix,您可以输入“which Minecraft”。如果是 Windows,您可以键入“”where Minecraft”。将 --all 添加到 which 命令以列出所有程序,而不仅仅是第一个。这两个程序都会搜索 PATH,或者在 Windows 的情况下,搜索路径加上某些运行时注册表地点。
要在路径之外的位置查找程序,请执行上面的 find 命令,但添加 --perm 以指定可执行文件。添加 --type f 将其限制为文件。在古代,曾经有一个 slocate 命令来搜索索引。