Linux:如何在系统上找到文件?

时间:2020-01-09 10:41:36  来源:igfitidea点击:

我通过SSH命令行登录我的Linux服务器。
如何在Linux服务器系统上找到名为xyz的文件?
如何在系统上找到文件?
您需要使用find命令。
它在Linux和所有其他UNIX(如操作系统)下的目录层次结构中搜索文件。
使用基于Terminal或ssh的会话时,可以使用find命令从shell提示符中查找文件。

查找命令语法以在我的系统上查找文件

find Search-Directory-Path -name file-name-to-search
## only search for files ##
find Search-Directory-Path -type f -name file-name-to-search
## only search for directories/folders ##
find Search-Directory-Path -type d -name dir-name-to-search

在Linux系统上查找文件的示例

要在/home/user /或/home/Hyman /目录中找到名为zyz的文件,请输入以下命令:

$ find /home/user/ -name xyz
$ find /home/Hyman/ -name xyz

要在/(搜索整个系统)目录中找到名为passwd的文件,请输入以下命令:

$ sudo find / -name passwd

使用Linux时如何在整个硬盘驱动器中搜索文件

假设您要查找一个名为Birthday-party.mp4的文件,但忘记了保存该文件的路径:

$ sudo find / -type f -name "birthday-party.mp4"

如果您不记得文件名,请尝试使用文件扩展名(例如* .png或* .mp4)进行搜索:

$ sudo find / -type f -name "*.mp4"

或者

$ sudo find / -type f -iname "*.mp4"

了解查找命令选项

  • -type f:仅搜索文件。
  • -type d:仅搜索目录或文件夹。
  • -name "file":要搜索的文件。它是文件名的基础(删除了前导目录的路径)与shell模式匹配。
  • -iname"文件":与-名称相同,除了文件名不区分大小写。例如,backup.txt将匹配BACKUP.txt,backup.txt,BackUp.Txt等。

使用locate命令在我的系统上查找文件

您可以使用locate命令按名称查找文件。
语法为:

locate resume.pdf
locate updated.txt

要忽略文件的大小写,即在匹配模式时忽略大小写区别,请运行:

locate -i "*.txt"
locate -i "*.mp4"

如果没有任何输出,请以root用户身份运行updatedb命令:

# updatedb

或者

$ sudo updatedb

Updatedb命令创建或更新locate命令使用的数据库。
请注意,updatedb命令通常每天由cron运行,以更新默认数据库。