如何使用linux find命令查找文件
时间:2020-02-23 14:39:06 来源:igfitidea点击:
介绍
如果我们没有使用合适的工具,请在系统中搜索系统中的特定文件可能是这样的麻烦,以便使用正确的工具来缓解工作。
也许有一个配置文件你不确定其中找到它,你留下来搜索它。
Find命令将找到它。
此命令只需在目录层次结构中搜索文件。
它是一个强大的命令,可以根据各种条件搜索文件,例如权限,修改时间,所有权,大小。
它还可以找到文件并修改它们,例如更改其权限,甚至删除它们。
简化的语法是这样的
$find [options] [path or directory…] [your-expression]
使用find命令的示例
1.搜索具有给定扩展的文件
在/home/tech /目录上搜索使用.pdf扩展的所有文件
$find /home/tech/-name "*.pdf"
在当前目录上搜索使用.pdf扩展的所有文件
$find . -name "*.pdf"
2.按类型搜索 - 使用-type选项进行搜索
我们可以使用-type选项指定多个参数,如下所示:f:要搜索常规文件:要搜索目录:要搜索符号链接:要搜索Block DeviceP:要搜索一个命名管道(FIFO)S:搜索套接字
搜索文件httpd.conf的多个目录
$find /home /etc /var -name httpd.conf -type f
使用名称Django查找root(/)中的所有目录。
$find/-type d -name django
3.查找具有特定权限的文件
此命令将找到具有模式644的文件并将其打印出来。
$find /home -type f -perm 0644 -print
4.基于大小查找文件
要查找大小大于10 mebibyte的文件,并按大小对它们进行排序:
find . -size +10M -type f -print0 | xargs -0 ls -Ssh | sort -z
操纵文件
使用给定权限和更改权限的文件和目录查找文件和目录
## Find files with 755 mode and change to 777 find /home -type f -perm 0755 -print -exec chmod 777 {} \; ## For Directories find /home -type d -perm 0755 -print -exec chmod 777 {} \;
根据搜索条件查找和删除文件。
find /etc -type f -name "*.pdf" -exec rm -f {} \; find ./path/-name '*.txt' -exec rm '{}' \;
根据修改的时间查找文件
find /etc/selinux -name "*.conf" -mtime 5
上面查找具有以指定目录中的字符conf的名称结尾的名称,并且在过去的5天内已修改。
查找并删除超过7天的/数据目录中的文件压缩文件。
find /data/*.gz -mtime +7 -exec rm -rf {} \;
查找和删除文件和目录
find /var -name "*.backup" -delete find/-type f -name *.txt -exec rm {} \; find/-type d -name flask -exec rm -rf {} \; ## directory
在当前工作父目录中查找并删除空目录。
find . -type d -empty -exec rmdir {} \;
通过所有权查找文件
查找技术用户拥有的所有文件
find /home -user tech
在/var目录中查找用户技术所拥有的PDF文件
find /var -user tech -iname "*.pdf"
查找帐户组拥有的所有文件
find /home -group accounts
根据其尺寸查找文件
查找命令可以在指定所需的大小时搜索和查找文件。
查找/var目录中的所有70MB文件,请执行
find /var -size 70M
由于我们可以将文件与其大小匹配,因此我们也可以删除如下
find /var -size +70M -exec rm -rf {} \;