Linux操作系统基础(15):文件管理-文件查找命令

2024-01-07 18:29:19

1. 查找文件:find

在Shell中,find 命令用于在指定目录下查找文件或目录;可以按照文件名、文件类型、文件大小、权限、时间等条件来查找文件。

以下是一些常用的find命令选项和表达式:

  • -name:按照文件名查找
  • -type:按照文件类型查找
  • -size:按照文件大小查找
  • -perm:按照文件权限查找
  • -mtime:按照文件修改时间查找

下面是一些find命令的例子(find命令遍历查找,效率低):

#1.查找当前目录下所有以".txt"为后缀的文件:
find . -name "*.txt"

#2.查找指定目录下以".log"为后缀的文件,并删除它们:
find /path/to/directory -name "*.log" -exec rm {} \;

#3.查找当前目录下大于1MB的文件:
find . -size +1M

#4.查找指定目录下所有属主为"root"的文件:
find /path/to/directory -user root

#5.查找当前目录下所有大于10天未被访问的文件:
find . -atime +10

2. 查找文件:locate

在shell中,locate 命令用于在系统中快速定位文件路径。它通过搜索数据库来查找文件,因此比使用find命令更快速。

  • -i:忽略大小写,进行大小写不敏感的搜索。
  • -c:仅显示匹配的文件数量,而不显示文件路径。
  • -r:使用正则表达式进行匹配。
#1.显示系统中所有包含example.txt的文件路径
locate example.txt

#2.更新locate数据库
sudo updatedb

需要注意的是,locate 命令依赖于一个称为"locate数据库"的预建数据库,该数据库包含了系统中所有文件和目录的信息。这个数据库通常会在系统中定期更新,以确保 locate 命令的搜索结果是最新的。

3. 命令搜索:which

在Shell中,which 命令用于定位并显示指定命令的完整路径。它可以帮助用户确定在系统中可执行命令的位置。

#1.显示ls命令的完整路径,例如/bin/ls
which ls

which命令在查找命令时会遍历系统的PATH环境变量指定的目录,然后返回找到的第一个匹配的命令路径。如果找不到指定的命令,which命令将不会返回任何结果。

4. 查找命令:whereis

在shell中,whereis 命令用于定位指定命令的可执行文件、源代码文件以及帮助文档的位置。

  • -b :查找命令的二进制程序的路径
  • -m :查找命令的man帮助手册的路径
#1.显示ls命令的可执行文件、源代码文件和帮助文档的位置。
whereis ls

文章来源:https://blog.csdn.net/Canz245630/article/details/135429688
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。