我正在尝试找到我的Linux服务器上index.html
的位置,想知道是否有命令可以完成这个任务。我对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 替换为您最好的猜测目录,但避免从 / 开始
find
(好吧,这个答案也建议在locate
之后使用find
),但是,经过几个月的使用find
后,我意识到locate
确实更方便!顺便问一下,“update db”是什么?我需要它吗? - shintaroid解决方案:使用Unix命令find
find实用程序递归地遍历每个路径的目录树,对树中的每个文件评估一个表达式(由“原语”和“操作数”组成)。
传统的公式如下:
find <path> -flag <valueOfFlag>
简单示例
1.按名称查找 - 从当前位置的子目录层次结构中查找所有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
后面跟着一个正则表达式用于匹配 controller 字符串及其各种变体和连字符,并以 .js
结尾的相关文件。
4. 深度 - 在应用程序目录中查找所有路由模式 目录,不超过 3 级深度(仅限 app/../../..,不能更深)。
find app -name "*route*" -type d -maxdepth 3
-type
参数中d表示查找目录;-name
参数可接受正则表达式,匹配任何变化的路径字符串;-maxdepth
参数使查找器仅关注3级子树深度及以下,即不会查找更深的子目录(例如:<yourSearchlocation>/depth1/depth2/depth3
)。
5.文件大小、所有权和或运算符 - 查找所有拥有者为root用户且文件名称为“sample”或“test”的文件,大小在1兆字节至5兆字节之间。
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 /你想查找的路径 -name index.html
find / -name index.html -print
由于您正在查找的文件是 Web 服务器根目录中的根文件,因此找到您的 Web 服务器文档根目录可能会更容易。例如,请查看:
/var/www/*
或输入:
find /var/www -name index.html -print
man find
: http://unixhelp.ed.ac.uk/CGI/man-cgi?find。这与编程无关,请尝试访问http://linux.stackexchange.com。 - Matt Ball