📜  Linux查找

📅  最后修改于: 2020-12-08 03:15:17             🧑  作者: Mango

Linux find命令

find命令可帮助我们在目录中查找特定文件。它用于查找各种条件(例如权限,用户所有权,修改,日期/时间,大小等)的文件列表。

它是Linux系统最重要和最常用的命令之一。

find   

以下符号用于指定目录:

(。) :用于当前目录名称

(/) :对于根目录

find命令的示例

让我们看一下以下find命令示例:

按名称查找文件

我们可以搜索所有以“ .txt”扩展名结尾的文件。为此,执行以下命令:

find . -name "*.txt"  

上面的命令将列出当前工作目录中的所有文本文件。考虑以下输出:

从上面的输出中,使用find命令列出所有扩展名为'.txt'的文件。

按类型查找文件

“ -type”参数用于指定文件类型。

一些文件类型如下:

  • f:常规文件
  • d:目录
  • l:符号链接
  • c:字符设备
  • b:块设备

考虑以下命令:

find . -type d -name "*.bak"  

上面的命令将列出所有扩展名为“ .bak”的目录。考虑以下输出:

从上面的输出中,命令“ find。-type d -name“ * .bak”显示所有以'.bak'结尾的目录。

查找较新的文件

“ -newer”参数有助于搜索比提到的文件新的文件。考虑以下命令:

find . -newer msg.txt

上面的命令将显示当前工作目录中所有比'msg.txt'更新的文件。考虑以下输出:

从上面的输出中,显示的所有文件都比“ msg.txt”文件新。

查找和删除文件

'-delete'选项用于删除特定文件。使用此命令时需要非常小心,因为一旦执行,就没有撤消选项。考虑以下命令:

find . -name Demo.txt -delete

上面的命令将从当前工作目录中删除文件“ Demo.txt”。考虑以下输出:

查找目录

'type -d'选项用于查找目录。考虑以下命令:

find . type -depth -name Newdirectory

上面的命令将找到“ Newdirectory”位置。考虑以下输出:

按修改时间查找文件

'-mtime'选项,后跟天数,用于通过修改查找文件。天数可以是正数或负数。负值的使用将少于最后一天使用的-1,类似地,+ 1将为一天以上的文件找到文件。考虑以下命令:

find ./Newdirectory -mtime -1

上面的命令将查找在最后一天修改的文件。考虑以下输出:

通过权限查找文件

“ -perm”选项用于按许可查找文件。使用'-perm'选项执行find命令并传递所需的值。考虑以下命令:

find ./ -perm 777

上面的命令将从每个人都可以读取,写入和执行的指定目录中列出文件。

查找和替换文件

要查找和替换文件,我们必须将find命令与sed命令结合使用。要对文件进行操作,请在find命令中使用“ -exec”选项。考虑以下命令:

find ./Newdirectory -type f -exec sed -i 's/find/replace/g' {} \;

从上面的命令中,指定的出现将被替换。考虑以下输出:

在多个文件中查找文本

我们可以将find命令与grep命令进行另一种组合,以从各种文件中查找文本。考虑以下命令:

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

上面的命令将从目录“ Newdirectory”中的所有文本文件中找到包含文本“ demo”的行。考虑以下输出:

从上面的输出中,我们可以看到已经显示了带有文本“ demo”的行。