一、根据文件名查找文件
1.使用当前目录中的名称查找文件
在当前工作目录中查找名称为tecmint.txt的所有文件。
# find . -name tecmint.txt ./tecmint.txt
2.在主目录下查找文件
使用名称tecmint.txt查找/ home目录下的所有文件。
#find / home -name tecmint.txt /home/tecmint.txt
3.使用名称和忽略大小写查找文件
#find / home -iname tecmint.txt ./tecmint.txt ./Tecmint.txt
4.使用名称查找目录
在/目录中找到名称为Tecmint的所有目录。
#find / -type d -name Tecmint / Tecmint
5.使用名称查找PHP文件
在当前工作目录中查找名称为tecmint.php的所有php文件。
# find . -type f -name tecmint.php ./tecmint.php
6.在目录中查找所有PHP文件
# find . -type f -name“* .php” ./ tecmint.php ./login.php ./index.php
二、根据权限查找文件
7.查找具有777权限的文件
查找权限为777的所有文件。
# find . -type f -perm 0777 -print
8.查找没有777权限的文件
未经许可777查找所有文件。
#find / -type f!-perm 777
9.查找具有644权限的SGID文件
查找权限设置为644的所有SGID位文件。
#find / -perm 2644
10.找到551权限的粘贴位文件
找到权限为551的所有Sticky Bit集文件。
#find / -perm 1551
11.查找SUID文件
查找所有SUID集文件。
#find / -perm / u = s
12.查找SGID文件
查找所有SGID集文件。
#find / -perm / g = s
13.查找只读文件
查找所有只读文件。
#find / -perm / u = r
14.查找可执行文件
找到所有可执行文件。
#find / -perm / a = x
15.查找具有777权限和Chmod到644的文件
查找所有777权限文件,并使用chmod命令将权限设置为644。
#find / -type f -perm 0777 -print -exec chmod 644 {} \;
16.查找具有777权限和Chmod到755的目录
找到所有777权限目录并使用chmod命令将权限设置为755。
#find / -type d -perm 777 -print -exec chmod 755 {} \;
17.查找并删除单个文件
要查找名为tecmint.txt的单个文件并将其删除。
# 找 。-type f -name“tecmint.txt”-exec rm -f {} \;
18.查找并删除多个文件
要查找和删除多个文件,例如.mp3或.txt,请使用。
# 找 。-type f -name“* .txt”-exec rm -f {} \; 或#找到。-type f -name“* .mp3”-exec rm -f {} \;
19.找到所有空文件
查找特定路径下的所有空文件。
#find / tmp -type f -empty
20.找到所有空目录
在特定路径下归档所有空目录。
#find / tmp -type d -empty
21.归档所有隐藏文件
要查找所有隐藏文件,请使用以下命令。
#find / tmp -type f -name“。*”
三、 基于所有者和组搜索文件
22.基于用户查找单个文件
在所有者root的/ root目录下查找名为tecmint.txt的全部或单个文件。
#find / -user root -name tecmint.txt
23.查找基于用户的所有文件
在/ home目录下查找属于用户Tecmint的所有文件。
#find / home -user tecmint
24.查找基于组的所有文件
查找属于/ home目录下的group Developer的所有文件。
#find / home -group开发人员
25.查找特定用户文件
在/ home目录下查找用户Tecmint的所有.txt文件。
#find / home -user tecmint -iname“* .txt”
四、根据日期和时间查找文件和目录
26.查找最近50天修改的文件
查找50天后修改的所有文件。
#find / -mtime 50
27.查找最近50天访问的文件
查找50天前访问过的所有文件。
#find / -atime 50
28.查找最近50-100天修改的文件
查找超过50天以及不到100天修改的所有文件。
#find / -mtime +50 -mtime -100
29.在过去1小时内查找更改的文件
查找最近1小时内更改的所有文件。
#find / -cmin -60
30.在过去1小时内查找修改过的文件
查找过去1小时内修改过的所有文件。
#find / -mmin -60
31.在过去1小时内查找访问的文件
查找过去1小时内访问过的所有文件。
#find / -amin -60
五、根据大小查找文件和目录
32.找到50MB的文件
要查找所有50MB文件,请使用。
#find / -size 50M
33.查找大小在50MB到100MB之间
查找大于50MB且小于100MB的所有文件。
#find / -size + 50M -size -100M
34.查找并删除100MB文件
查找所有100MB文件并使用一个命令删除它们。
#find / -size + 100M -exec rm -rf {} \;
35.查找特定文件并删除
查找超过10MB的所有.mp3文件,并使用一个命令删除它们。
#find / -type f -name * .mp3 -size + 10M -exec rm {} \;
附加:查找含有某字符串的文件
1、如果你想在当前目录下 查找”hello,world!”字符串,可以这样:
grep -rn “hello,world!” *
* : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写
下面是一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, grep -l pattern files :只列出匹配的文件名, grep -L pattern files :列出不匹配的文件名, grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), grep -C number pattern files :匹配的上下文分别显示[number]行, grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:\< 和 \> 分别标注单词的开始与结尾。
例如: grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 '^':指匹配的字符串在行首, '$':指匹配的字符串在行尾,
2、xargs配合grep查找
find -type f -name '*.php'|xargs grep 'GroupRecord'
您暂时无权查看此隐藏内容!
温馨提示:
Linux统计目录或文件数量的方法总结
评论前必须登录!
注册