1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 在Linux中怎样搜索链接文件 如何使用find命令在Linux中查找文件

在Linux中怎样搜索链接文件 如何使用find命令在Linux中查找文件

时间:2020-06-15 21:33:18

相关推荐

在Linux中怎样搜索链接文件 如何使用find命令在Linux中查找文件

原标题:如何使用find命令在Linux中查找文件

Linux Find命令是Linux系统管理员工具库中最强大的工具之一。

Find是一个命令行实用程序,它允许您根据用户给定的表达式搜索目录层次结构中的文件和目录,并对每个匹配的文件应用用户指定的操作。

您可以使用find命令根据文件权限,类型,日期,所有权,大小等搜索文件。它还可以与其他工具(如grep或sed)结合使用,以对这些文件执行操作。

Linux查找命令语法

在讨论如何使用find命令之前,让我们先回顾一下基本语法。

find实用程序表达式采用以下形式:

find [options] [path...] [expression]

options属性控制符号链接,调试选项和优化方法的处理。

path ...属性定义find将搜索文件的起始目录。

expression属性由选项,搜索模式和由运算符分隔的操作组成。

我们来看看以下命令:

linuxidc@linuxidc:~$ find -L /home/linuxidc/linuxmi/ -name "*.js" -exec chmod 644 {} ;

此命令包含一个参数-L(options),它允许find跟随符号链接,在/home/linuxidc/linuxmi/ (path…)下搜索所有以.js(expression)结尾的文件的整个目录树,并设置所有匹配的权限 文件到644。

按类型查找文件

要指定要查找的文件的类型,请使用-type参数。

您可以使用以下描述符指定文件类型:

f:常规文件

d:目录

l:符号链接

c:字符设备

b:阻止设备

p:命名管道(FIFO)

s:套接字

例如,如果要查找当前目录中的所有目录,只需运行:

linuxidc@linuxidc:~/linuxmi$ find . -type d

.

./

./

./

linuxidc@linuxidc:~/linuxmi$

或者,如果要列出系统类型上的所有字符设备:

find / -type c

要将所有文件权限更改为644并将所有目录权限更改为755,请递归运行以下命令:

linuxidc@linuxidc:~/linuxmi$ find /home/linuxidc/linuxmi -type d -exec chmod 0755 {} ;

linuxidc@linuxidc:~/linuxmi$ find /home/linuxidc/linuxmi -type f -exec chmod 0644 {} ;

按名称查找文件

按名称查找文件可能是find命令最常用的用法。 要按名称查找文件,请将-name选项与要搜索的文件的名称一起传递。

要在/home/linuxidc/linuxmi目录中搜索名为document.pdf的文件,您将使用以下命令:

linuxidc@linuxidc:~$ sudo find /home/linuxidc/linuxmi -type f -name linuxidc.pdf

[sudo] linuxidc 的密码:

/home/linuxidc/linuxmi/linuxidc.pdf

linuxidc@linuxidc:~$ sudo find /home/linuxidc -type f -name linuxidc.pdf

/home/linuxidc/linuxmi/linuxidc.pdf

/home/linuxidc/Documents/linuxidc.pdf

linuxidc@linuxidc:~$

如果要进行不区分大小写的搜索,请使用-iname更改-name选项:

sudo find /home/linuxidc -type f -iname linuxidc.pdf

上面的命令将匹配linuxidc.pdf,LINUXIDC.pdf ...。

按扩展名查找文件

按扩展名搜索文件与按名称搜索文件相同。 例如,如果要查找/home/linuxidc目录中以.log.gz结尾的所有文件,可以使用:

linuxidc@linuxidc:~$ su -

密码:

root@linuxidc:~# find /home/linuxidc -type f -name '*.log.gz'

/home/linuxidc/linuxmi/linuxidc.log.gz

root@linuxidc:~#

值得一提的是,当我们使用通配符时,我们必须引用模式或使用反斜杠来转义星号*符号,以便它不会被shell解释。

如果要查找与正则 *.log.gz不匹配的所有文件,可以使用-not参数,例如查找所有不以*.log.gz结尾的文件,您将使用:

linuxidc@linuxidc:~$ find /home/linuxidc/linuxmi -type f -not -name '*.log.gz'

/home/linuxidc/linuxmi/linuxidc.pdf

/home/linuxidc/linuxmi/linuxidc.js

linuxidc@linuxidc:~$

按大小查找文件

要根据大小查找文件,只需传递-size参数和大小标准。 您可以使用以下后缀来指定大小:

b:512字节块(默认)

c:字节

w:双字节字

k:Kilobytes

M:兆字节

G:千兆字节

假设您正在'/ tmp'目录中搜索正好1024字节的所有文件。 你将不得不运行如下命令:

linuxidc@linuxidc:~$ su -

密码:

root@linuxidc:~# find /tmp -type f -size 1024c

find命令还允许您搜索大于或小于指定大小的文件。

在下面的示例中,我们将在当前工作目录中搜索小于1MB的所有文件,请注意size值之前的减号:

root@linuxidc:~# find . -type f -size -1M

./.local/share/zeitgeist/fts.index/flintlock

./.local/share/Trash/files/wine-ubuntu-wine-builds-artful.list.save

./.local/share/gnome-settings-daemon/input-sources-converted

./.mozilla/firefox/jrqxh55p.default/SecurityPreloadState.txt

./.mozilla/firefox/jrqxh55p.default/AlternateServices.txt

./.mozilla/firefox/jrqxh55p.default/.parentlock

./.config/enchant/en_US.exc

./.config/enchant/en_US.dic

root@linuxidc:~#

如果要搜索大小超过1MB的文件,则需要使用加号+符号:

root@linuxidc:~# find . -type f -size +1M

您甚至可以搜索大小范围内的文件,例如以下命令将查找3到4 MB之间的所有文件:

root@linuxidc:~# find . -type f -size +3M -size 4M

喜欢的可以点击下面的链接购买:

作者:[美]绍茨

本文永久更新链接地址:/Linux/-07/153205.htm返回搜狐,查看更多

责任编辑:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。