Linux find命令
Linux find命令
find命令可帮助我们在目录中查找特定文件。它用于查找各种条件(例如权限,用户所有权,修改,日期/时间,大小等)的文件列表。
默认情况下,大多数 Linux发行版,因此我们不需要安装任何其他软件包。它是 Linux 系统中最重要和最常用的命令之一。
find <location> <comparison-criteria> <search-term>
以下符号用于指定目录:
(.): 对于当前目录名
(/): 对于根目录
按名称查找文件
我们可以搜索所有扩展名为" .txt"的文件。为此,请执行以下命令:
上面的命令将列出当前工作目录中的所有文本文件。考虑下面的输出:
从上面的输出中,所有具有'.txt'的文件扩展名是用find命令列出的。
按类型查找文件
"-type"参数用于指定文件类型。
某些文件类型如下:
f: 常规文件
d: 目录
l: 符号链接
c: 字符设备
b: 阻止设备
考虑以下命令:
find .-type d-name "*.bak"
上面的命令将列出所有扩展名为'.bak'的目录。考虑以下输出:
从上面的输出中,命令" find。-type d名称" * .bak"显示所有以" .bak"结尾的目录。
查找较新的文件
"-较新'参数有助于搜索比提到的文件新的文件。请考虑以下命令:
上面的命令将显示当前工作目录中所有比'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 ./<directory name>-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"的行。考虑以下输出:
从上面的输出中,我们可以看到带有文本'演示"已显示。