Linux Find命令及其示例

Linux提供了许多重要的工具来简化管理员的工作。find命令是Linux世界中最重要的命令之一。Find命令根据文件所有者、文件大小、文件更改日期、文件名等提供搜索。现在我们可以从简单的示例开始,然后转到更复杂的示例。

null

查找命令语法

Find命令语法如下所示。首先,给出我们要搜索的路径,然后提供不同的选项。

find PATH OPTIONS

根据文件名查找文件

查找文件的简单而快速的方法是使用文件名。我们用一个名为tmux的文件搜索当前目录。我们将使用-name find命令和双点的选项 意味着我们要搜索当前的工作目录。

$ find . -name tmux

在主目录下查找文件

要搜索和查找所有正常用户的主目录下的文件,可以发出以下查找命令。

$ find /home -name ismail

查找忽略大小写或不区分大小写的文件

默认情况下,find命令搜索提供区分大小写的文本。要进行搜索,请忽略区分大小写的prefix-iname参数,如下所示。在本例中,我们将搜索bash 在整个文件系统中不区分大小写。

$ find / -iname bash
Find Files Ignoring Case or Case Insensitive
查找忽略大小写或不区分大小写的文件

只搜索目录

只搜索目录可以通过如下指定文件类型来完成。我们将使用-type 选项和d 将文件类型指定为目录。

$ find / -type d -name bash

查找Python文件

搜索带有扩展名的python文件可以如下所示。延长线 py 我们想要什么都可以改变。

$ find . -name '*.py'

查找具有777权限的文件

777权限可能是一个安全问题,如果文件拥有的根或高特权用户。我们可以根据其权限搜索文件。我们将使用 -perm 选项和权限值。

$ find / -type f -perm 0777 -print

查找启用SUID的文件

我们可以搜索文件和目录,根据他们的 suid 价值观。我们将使用 -perm /u=s 指定用户suid标志。

$ find / -perm /u=s
Find SUID Set Files
查找SUID集文件

查找只读文件

搜索只读文件可以在下面完成。我们将使用 /u=r 这意味着用户是只读的。

$ find / -perm /u=r

查找具有777权限的文件并更改为664

使用以下命令可以搜索具有777权限的文件,并使用664使其更安全。我们可以在找到的文件中执行命令 -exec 选项。 {} 用于指定中的文件名 -exec 部分。

$ find / -type f -perm 0777 -print -exec chmod 644 {} ;
Find Files with Permission 777 and change to 664
查找具有777权限的文件并更改为664

  • -exec 提供对找到的文件执行命令的能力。
  • {} 用于指定要运行的文件 奇莫德 在这些文件上

查找并删除文件

有一个简单的快捷方式来查找文件并删除它们。在本例中,我们将使用 .py 使用扩展 rm 命令。

$ find . -type f -name "*.py" -exec rm -f {} ;

查找空文件

找不到空文件。我们只需要指定 -empty 选择find命令,如下所示。

$ find / -type f -empty
Find Empty Files
查找空文件

查找所有隐藏文件

通常由操作系统或应用程序用于配置问题的隐藏文件。我们可以用一个点 作为隐藏文件语法,因为我们知道Linux中的隐藏文件从 . 点。

$ find /tmp -type f -name ".*"

查找给定用户的文件

根据所有权搜索文件。我们将使用 -user 选项指定用户名。在这个例子中,我们要找到 root 用户文件 .txt 分机。

$ find / -user root -name *.txt
Find Files For a User
查找用户的文件

查找组的文件

根据组所有权搜索文件。如果组不存在,请给出类似find的消息:“developer”不是现有组的名称。

$  find /home -group ismail
Find Files For a Group
查找组的文件

查找最近5天修改的文件

根据文件的修改日期搜索文件。我们将使用 -mtime 用于查找在过去5天内修改过的文件的平均修改时间的选项。

$ find /home/ismail/ -mtime 5

查找最近5天访问的文件

搜索过去5天访问的文件。我们将使用 -atime 作为访问时间的选项。

$ find /home/ismail -atime 5

查找在过去50到100天内修改的文件

搜索最近50天和100天内修改的文件。

$ find /home -mtime +50 -mtime -100
Find Files Modified Between Last 50 and 100 Days
查找在过去50到100天内修改的文件

查找最近2小时更改的文件

搜索最近2小时更改的文件

$ find /home/ -cmin -120
Find Files Changed Last 2 Hours
查找最近2小时更改的文件

查找大小为10MB的文件

我们可以根据文件的大小找到它们。我们将使用 -size 此选项。在这个例子中,我们会发现大小是10MB。我们可以用 - o + 指定 小于或大于给定的大小

$  find /home -size 10M

根据大小查找文件并删除

搜索大于100MB的文件并将其删除。

$ find /tmp -size +100M -exec rm -rf {} ;
Linux Find Command With Examples Infographing
Linux Find命令及其信息图示例

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享