在Linux中如何查找文件

时间:2019-11-20 08:53:52  来源:igfitidea点击:

在Linux中如何使用bash命令查找文件和文件夹?
在Linux中查找文件夹的命令是什么?

如何使用find命令在Linux上查找文件夹

语法为:

find /where/to/look/up/ criteria action
find /folder/path/to/look/up/ criteria action
find /folder/path/ -name "folder-name-here"
find /search/path/ -name "folder-name-here" -print
find /search/path/ -name "folder-name-here" -ls
find /folder/ -name "pattern"
  • criteria 是查找条件
  • action 是找到文件后执行的操作,默认是print(显示在屏幕)

示例

在/data目录中,查找Hyman目录

find /data -type d -name "Hyman"

使用-iname选项,搜索目录时,不区分大小写:

find /data -type d -iname "Hyman"

如何在根目录中搜索etc文件夹:

# find / -type d -name "etc"

使用find命令时隐藏错误信息

当查找到无权限文件时,会提示 Permission denied, 如何隐藏这些错误信息?

使用find命令时如何隐藏Permission denied的错误消息

在每个find命令的末尾添加2>/dev/null

$ find /where/to/look/ criteria action 2>/dev/null
$ sudo find / -type d -iname "etc" 2>/dev/null

如何查找名为python.projects的目录?

试试下面的命令:

find / -type d -iname "python.projects" -ls

或者

find / -type d -name "python.projects" -ls

也可以使用bash shell通配符,运行:

find / -type d -name "python.*"
sudo find / -type d -name "?ython.*"

find命令参数说明

  • -name:文件基本名与shell模式匹配。
  • -iname:搜索时不区分大小写
  • -print:在标准输出(通常是屏幕)上打印完整文件名,然后换行。
  • -ls:在标准输出(即屏幕)上以ls -dils格式显示当前文件。
  • -type d:仅列出文件夹或目录。
  • -type f:仅列出文件。

在Linux中使用locate命令搜索文件夹

搜索文件夹dir1(完全匹配):

$ locate -b '\dir1'
$ locate -b '\folder2'

搜索与Pictures名称匹配的文件夹:

$ locate Pictures