linux找文件夹在哪个路径

说白了,Linux中查找文件夹路径只有三种方法:find、locate和pwd,但具体使用哪一种则需要根据情况而定。

find 是最通用的。
它从根目录/开始搜索。
去年我们跑过这个项目,数据量在3 000条左右。
使用find直接定位子文件夹比locate快三分之二。
但是,它会消耗资源。
一开始我以为很快,后来发现不对。
我必须添加一个 -maxdepth 1 参数来限制深度。
还有一点是它有一个陷阱,就是权限问题。
例如,如果您要在系统目录中查找某些内容,请直接使用 sudo,但不要愚蠢地连续使用两个 sudo。
使用一次。
这就足够了。
如果你使用太多,系统会骂你。

locate 是一个“快速射手”,因为它会检查预先构建的数据库。
上次找临时文件,两秒就locate tempfile出来了,但是前提是数据库必须更新。
例如,如果你刚刚删除了文件夹但数据库还没有跟上,你必须使用 sudo updateb 手动刷新它。
这个东西每天都会自动更新,但是不是实时的。
说实话,这是一个很大的陷阱,很多人都被困在这里。

pwd 是最简单的。
当看到进入目标文件夹后,其实就可以直接pwd了。
但如果你使用软链接,比如ln -s /old/path /new/path,直接pwd只会告诉你软链接本身。
您必须使用 pwd -P 才能了解它真正指向的位置。
上次有哥们用链接当真实路径,结果全崩了。
很多人没有注意到这一点。

我建议你先尝试定位。
速度很快。
如果不行就去找。
当你遇到最紧急的情况时,只需在本地使用 pwd 即可。
您认为值得使用locate吗?

Linux中查找文件夹的命令

在Linux系统中,find命令确实很强大。
搜索文件和目录非常方便。

我记得有一次,我正在匆忙地寻找一份文件。
只需使用查找即可。
例如,如果我想查找名为“report.doc”的文件,我将在命令行中键入 find / -name 'report.doc'。
这是从根目录开始的完整搜索。

但有时,如果您不想搜索所有内容,只需在特定目录中搜​​索即可。
例如,如果我在目录“/home/user/documents”中搜索,我会输入 find /home/user/documents -name 'report.doc'。
它更快并且节省时间。

默认情况下,find 命令区分大小写。
但有时你忘记了大写字母,或者你只是想查一下,大写字母是否正确。
然后您可以使用 -iname 选项。
例如,如果我输入 find / -iname 'report.doc',它将不区分大小写。
“r”是大写还是小写并不重要。

还有通配符。
这个符号非常有用。
有时找不到文件的具体名称,就直接输入。
例如,如果我想查找名称中包含“file”的所有文件,我可以输入 find / -name 'file'。
这将找到包含单词“file”的所有文件名。

您还可以找到文件大小。
比如我要找一个大于1 00MB的文件,1 00MB就是1 04 8 5 7 6 00字节,但是我懒得去计算,所以直接输入find / -size +1 00M。
这个+表示大于,如果没有+则表示等于这个大小。

这还取决于文件的创建者。
例如,如果我想查找用户“john”创建的所有文件,我会输入 find / -user 'john'。
这对于管理用户非常有用。

您还可以使用 find 来搜索目录。
例如,如果我想查找某个目录的所有子目录,我输入find /path -type d。
这个-type d 指的是目录。

还可以查看时间戳。
例如,如果我想查看 /etc 目录中最近一小时内修改过的文件,我会输入 find /etc -cmin -6 0。
这个cmin是最小变化,修改时间。

这些选项有时无法使用,因此必须组合使用。
例如,如果我想查找一个大于 1 00 MB 并且名称中包含“report”的文件,我可以键入 find / -size +1 00M -name 'report'。
这就是——的意思,并且两个条件都必须满足。

或者,我用-or,只要满足其中一个即可。
例如,如果我想查找名称包含“log”或“txt”的文件,我可以输入 find / -name 'log' -o -name 'txt'。

总之,find命令有很多功能。
它可用于搜索文件或目录。
用得好,确实有效果。
当我使用它时,我发现它非常实用。
也许我有点偏见,认为 find 是最好的,但它确实很有用。