我正在尝试查找
index.html
在我的 Linux 服务器上的位置,并且想知道是否有命令可以做到这一点。对 Linux 非常陌生,感谢我能得到的任何帮助。
从根路径查找
find / -name "index.html"
从当前路径查找
find . -name "index.html"
下面的代码行可以为您完成。
find / -name index.html
但是,在大多数 Linux 服务器上,您的文件将位于 /var/www 或用户目录文件夹 /home/(user) 中,具体取决于您的设置方式。如果您使用控制面板,它很可能位于您的用户文件夹下。
尝试这个(通过 shell):
update db
locate index.html
或者:
find /var -iname "index.html"
将 /var 替换为您对它所在目录的最佳猜测,但避免从 / 开始
解决方案:使用unix命令
find
查找实用程序递归地向下查找每个路径的目录树 列出,评估一个表达式(由 'primaries' 和 '操作数')就 树中的每个文件。
传统的公式是:
find <path> -flag <valueOfFlag>
简单示例
1.按 Name 查找 - 从我当前位置子树层次结构中查找所有
package.json
。
find . -name "package.json"
2.按名称和类型查找 - 从所有文件系统中查找所有
node_modules
目录(从根层次结构开始)
sudo find / -name "node_modules" -type d
复杂示例:
更多有用的示例可以展示标志选项和运算符的强大功能:
3.正则表达式和文件类型 - 仅在我的应用程序位置查找所有 javascript 控制器变体名称(使用正则表达式)javascript 文件。
find /user/dev/app -name "*contoller-*\.js" -type f
-type
f 表示与正则表达式相关的文件 -name
到控制器字符串的任何变体,并在末尾带有 .js
4.深度-查找应用程序目录中的所有路线模式目录不超过3个维度(仅app/../../..并且不再更深)
find app -name "*route*" -type d -maxdepth 3
-type
d 表示与正则表达式相关的目录 -name
到路由字符串的任何变体 -maxdepth
使查找器专注于 3 个子树深度,不再有 <yourSearchlocation>/depth1/depth2/depth3
)
5.文件大小、所有权和 OR 运算符 - 查找 root 用户所有权下名称为“sample”或“test”且大于 1 Mega 且小于 5 Mega 的所有文件。
find . \( -name "test" -or -name "sample" \) -user root -size +1M -size -5M
-size
阈值,表示 大于 (+) 和 小于 (-) 之间的范围 -user
表示文件所有者 -or
运算符过滤两个正则表达式匹配的查询
6.空文件 - 查找文件系统中的所有空目录
find / -type d -empty
7.文件的访问、修改和创建时间 - 查找10天内在目录中创建/修改/访问的所有文件
# creation (c)
find /test -name "*.groovy" -ctime -10d
# modification (m)
find /test -name "*.java" -mtime -10d
# access (a)
find /test -name "*.js" -atime -10d
8.修改大小过滤器 - 查找一周前到三周前精确修改且小于 500kb 的所有文件,并将其大小显示为列表
find /test -name "*.java" -mtime -3w -mtime +1w -size -500k | xargs du -h
find /the_path_you_want_to_find -name index.html
一般来说,在任意位置查找任何文件的最佳方法是启动终端窗口并输入经典的 Unix 命令“find”:
find / -name index.html -print
由于您要查找的文件是 Web 服务器根目录中的根文件,因此可能更容易找到 Web 服务器的文档根目录。例如,请查看:
/var/www/*
或输入:
find /var/www -name index.html -print
我们有2个选项,一个是find命令,另一个是locate命令
查找命令 如果你的文件是index.html
sudo find / -name index.html(如果你知道路径请替换为/)
如果您在根访问文件夹中搜索,则需要 sudo
定位命令
locate 命令将保存要运行的单独数据库。
ex:找到index.html
如果找不到您的文件 运行以下命令
sudo updateb
现在尝试找到index.html
注意:locate 速度更快,因为它使用 db 而不是直接文件系统搜索
但是从我的角度来看 find 命令很好,因为它正在搜索整个文件系统。
希望你能提出一些好主意。