2017/9/27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
find
博大精深,本文仅持续更新在工作中频繁使用的方法。
用的最多的2个,找到指定类型的文件,打印和删除:
find
${d_bak_log} -
type
f -name
"*.log"
-mtime +${s_copies} -print
find
${d_bak_log} -
type
f -name
"*.log"
-mtime +${s_copies} -delete
找出空目录
find
/path
-depth -
type
d -empty
找字节为0的文件
find
/path
-depth -
type
f -empty
找出具体文件名的文件
find
/path
-name name_of_file
找出特定扩展名的文件
find
/path
-name “*.given_extension”
根据权限及指定扩展名寻找文件
find
/path
-name ‘*.txt’ -perm 644
找出指定权限的文件
find
/path
-perm -permision_bits(权限位)
找出指定文件名(任意扩展名的文件)
find
/path
-name ‘given_name.*’
最近10分钟改动过的文件:
find
/home/web/log/exportlog
-
type
f -mmin -10 -
exec
ls
-l {} \;
find
根据时间寻找
用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
各参数说明
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变文件状态的文件
-ctime n
查找系统中最后n*24小时被改变文件状态的文件
-mmin n
查找系统中最后N分钟被改变文件数据的文件
-mtime n
查找系统中最后n*24小时被改变文件数据的文件
更改时间在5日以内的文件
find
/path
-mtime -5
找出并删除文件
find
/path
-name “core.*” -
type
f -delete
找出指定扩展名后修改扩展名
find
/path
-
type
f |
xargs
rename .baksh “.sh”
找出乱码文件名并删除
例子1:
[root@s1 download]
# ls -li
134742021 -rw-r--r-- 1 root root 0 Feb 17 17:28 ??p?
134754342 -rw-r--r-- 1 root root 3.8M Mar 28 2012 xtrabackup-1.6.6-332.rhel6.x86_64.rpm
134742018 -rw-r--r-- 1 root root 0 Feb 17 17:28 ?x,u
[root@s1 download]
# find . -inum 134742021
./??p?
[root@s77 download]
# find . -inum 134742021 -exec rm {} \;
[root@s77 download]
# ls
?x,u xtrabackup-1.6.6-332.rhel6.x86_64.rpm
例子2:
[root@s1 download]
# ll -hi
25953325 -rw-rw-r-- 1 root root 63M May 30 2012 --exclude
[root@s1 download]
# find . -inum 25953325 -print
.
/--exclude
[root@s1 download]
# find . -inum 25953325 -delete
例子3:
[Jack@
test
~]$
ls
-i
916302 ?眙?[??d?G?go?e]?Hk?I??_???X?????-?q???
[Jack@s80 ~]$
find
-inum 916302 -print
./?眙?[??d?G?go?e]?Hk?I??_???X?????-?q???
[Jack@s80 ~]$
find
-inum 916302 -delete
[Jack@s80 ~]$
ls
找到指定类型的文件并统计行数
# find www -type f -name '*.html' -o -name '*.css' -o -name '*.js' -o -name '*.py' |grep -vE 'jquery|bootstrap|npm|migration' |grep -v 'www\/static' |xargs cat - |grep '^[^#]' |wc -l
1911
在某目录下的所有js文件中查找指定的关键字:
find
. -
type
f -name
'*.js'
-
exec
grep
-l
'portainer'
{} \;
|
本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1659728,如需转载请自行联系原作者