📜  在Linux中使用示例查找命令

📅  最后修改于: 2021-05-20 06:57:28             🧑  作者: Mango

UNIX中的find命令是用于遍历文件层次结构的命令行实用程序。它可用于查找文件和目录并对其执行后续操作。它支持按文件,文件夹,名称,创建日期,修改日期,所有者和权限进行搜索。通过使用“ -exec”,可以在找到的文件或文件夹上执行其他UNIX命令。

句法 :

$ find [where to start searching from]
 [expression determines what to find] [-options] [what to find]

选项 :

  • -exec CMD:正在搜索的文件符合以上条件,并且返回0作为成功执行命令的退出状态。
  • -ok CMD:它与-exec相同,除了首先提示用户。
  • -inum N:搜索索引号为“ N”的文件。
  • -links N:搜索带有“ N”个链接的文件。
  • -name demo:搜索“ demo”指定的文件。
  • -newer file:搜索在“文件”之后修改/创建的文件。
  • -perm octal:如果权限为“八进制”,则搜索文件。
  • -print:显示使用其余条件找到的文件的路径名。
  • -empty:搜索空文件和目录。
  • -size + N / -N:搜索“ N”个块的文件; ‘N’后跟’c’可用于测量字符大小; ‘+ N’表示大小>’N’个块,’-N’表示大小<‘N’个块。
  • -用户名:搜索由用户名或ID“名称”拥有的文件。
  • \(expr \):如果’expr’为true,则为true;用于与OR或AND组合的分组条件。
  • ! expr:如果’expr’为假,则为true。

例子 :
考虑以下树级别:

1.搜索具有特定名称的文件。

$ find ./GFG -name sample.txt 

它将在GFG目录中搜索sample.txt。
输出 :

2.搜索带有模式的文件。

$ find ./GFG -name *.txt 

它将给出所有以“ .txt”结尾的文件。
输出 :

3.如何查找和删除带有确认的文件。

$ find ./GFG -name sample.txt -exec rm -i {} \; 

输入此命令后,是否要删除sample.txt会提示您进行确认。如果输入“ Y / y”,它将删除该文件。
输出 :

4.搜索空文件和目录。

$ find ./GFG -empty

此命令在输入的目录或子目录中查找所有空文件夹和文件。
输出 :

5.搜索具有输入权限的文件。

$ find ./GFG -perm 664

此命令在GFG目录或子目录中找到具有给定权限的所有文件。
输出 :

6.在多个文件中搜索文本。

$ find ./ -type f -name "*.txt" -exec grep 'Geek'  {} \;

此命令打印其中包含“ Geek”和“ -type f”的行,指定输入类型为文件。
输出 :