locate
文件系统中的路径是否可以像文件名一样?例如,我想查找系统中包含“foo/bar”的所有路径,这可能会产生以下结果:
/home/我的名字/测试/富/酒吧/你好
/var/www/site/富/酒吧
答案1
如果您无法使用以下命令找到该文件,请尝试updatedb
更新locate命令使用的数据库。
locate -r foot/bar/
或者
# locate "/*/bar/avi"
/foot/bar/avi
find 命令也可以做到这一点
find / -path */foot/bar*
find /
将从以下位置开始搜索整个系统/
答案2
使用find
命令,
find . -ipath "*foo/bar*"
或者如果您更喜欢正则表达式语法,那么您可以使用,
find . -iregex ".*foo/bar.*"
答案3
尝试 :
ls -lR | sed -n 's/foo\/bar/p'
可能输出很长,id直接把它扔到文件中
ls -lR | sed -n 's/foo\/bar/p' >> outfile
答案4
这应该做你想要的:
user@machine% find / -print0 | grep -FzZ 'foo/bar'
除非您以 root 身份运行或在您自己的主目录上运行它,否则您将收到大量“权限被拒绝”的消息。