如何使用find命令在Linux中查找文件

更新时间:2023-08-03 03:58:04 阅读: 评论:0

如何使⽤find命令在Linux中查找⽂件
Linux Find命令是Linux系统管理员⼯具库中最强⼤的⼯具之⼀。
坚强不屈的反义词Find是⼀个命令⾏实⽤程序,它允许您根据⽤户给定的表达式搜索⽬录层次结构中的⽂件和⽬录,并对每个匹配的⽂件应⽤⽤户指定的操作。
您可以使⽤find命令根据⽂件权限,类型,⽇期,所有权,⼤⼩等搜索⽂件。它还可以与其他⼯具(如grep或d)结合使⽤,以对这些⽂件执⾏操作。
Linux查找命令语法
在讨论如何使⽤find命令之前,让我们先回顾⼀下基本语法。
find实⽤程序表达式采⽤以下形式:
克服紧张的小窍门
find [options] [] [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⽬录中以.结尾的所有⽂件,可以使⽤:linuxidc@linuxidc:~$ su -
密码:
root@linuxidc:~# find /home/linuxidc -type f -name '*.'
网球握拍方式/home/linuxidc/linuxmi/
root@linuxidc:~#
值得⼀提的是,当我们使⽤通配符时,我们必须引⽤模式或使⽤反斜杠\来转义星号*符号,以便它不会被shell解释。
如果要查找与正则 *.不匹配的所有⽂件,可以使⽤-not参数,例如查找所有不以*.结尾的⽂件,您将使⽤:linuxidc@linuxidc:~$ find /home/linuxidc/linuxmi -type f -not -name '*.'
/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-ttings-daemon/input-sources-converted
./.mozilla/firefox/jrqxh55p.
./.mozilla/firefox/jrqxh55p.
./.mozilla/firefox/jrqxh55p.default/.parentlock
./.config/enchant/
./.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
按修改⽇期查找⽂件
find命令还可以根据上次修改,访问或更改时间搜索⽂件。
与按尺⼨搜索时相同,我们也可以使⽤加号和减号来指定⼤于或⼩于。
让我们说⼏天前你修改了⼀个dovecot配置⽂件,但你忘记了⽂件名。您可以轻松过滤/home/linuxidc/conf.d/⽬录中以.conf结尾的所有⽂件,并在过去10天内修改过:
find /home/linuxidc/conf.d -name "*.conf" -mtime 10
以下是使⽤-daystart选项根据修改⽇期过滤⽂件的另⼀个⽰例。列出/home⽬录中20天或更久以前修改过的所有⽂件:
find /home -mtime +20 -daystart
碱渣
按权限查找⽂件
如果要使⽤find命令根据⽂件权限过滤⽂件,则需要使⽤-perm参数。
要在/home/linuxidc/html⽬录中查找权限为775的所有⽂件,您将使⽤:
find /home/linuxidc/html -perm 644
您可以在数字模式前加上减号 - 或斜杠/。
如果使⽤/作为前缀,则⾄少⼀个类别(⽤户,组或其他)必须⾄少为⽂件匹配设置相应的位。请考虑以下⽰例命令:
find . -perm 444
上述命令将匹配为⽤户,组或其他⼈设置了读权限的所有⽂件。
如果使⽤ - 作为前缀,则必须⾄少设置要匹配的⽂件。
以下命令将搜索对其所有者具有读取和权限的⽂件,但该组和其他⽤户可以读取但不写⼊的⽂件:
find . -perm -664
按所有者查找⽂件
唐宋府
要查找特定⽤户或组拥有的⽂件,可以使⽤-ur和-group选项。
例如,要搜索⽤户linuxidc拥有的所有⽂件和⽬录,只需运⾏:
find / -ur linuxidc
这是更⾼级的⽰例,假设您要查找⽤户www-data拥有的所有⽂件,并将匹配⽂件的所有权从www-data更改为linuxmi:find / -ur www-data -type f  -exec chown linuxmi {} \;
查找和删除⽂件
要删除所有匹配的⽂件,请将参数-delete添加到匹配表达式的末尾。
仅当您确定结果仅与要删除的⽂件匹配时,请确保使⽤此选项。在使⽤-delete选项之前打印⽂件总是⼀个好主意。
例如,要删除/home/linuxidc/中以.temp结尾的所有⽂件,您将使⽤:
find /home/linuxidc/ -name `*.temp` -delete
总结
在本教程中,您学习了如何根据各种标准使⽤Linux查找实⽤程序,现在您已基本了解如何在Linux系统上查找⽂件。

本文发布于:2023-08-03 03:58:04,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1106113.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:搜索   查找   命令   匹配
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图