find常用命令

整理的一些linux find的常用命令

find的格式如下:

find pathname -option [-print] [ -exec or -ok] command {} \;

#-print 将查找到的文件输出到标准输出

#-exec    command    {} \;       将查到的文件执行cmd操作,{} 和 \;之间有空格

#-ok 和-exec相同,只不过在操作前要询用户

常用的选项:

-name filename     #按指定文件夹下查找filename    find . -name *.txt  注:'*.txt'则会查找隐藏文件夹中的文件 

-type f/d/c/l/b/p    #查普通文件、目录、字符设备、链接符号、块设备、管道    

-perm 744    #查找文件权限为744的文件    

以下几个多用在日志查找上

-mtime  -n +n    #按文件更改时间来查找文件,-n指n天以内,+n指n天以前    -mmin -n +n

-atime  -n +n    #按文件访问时间来查找文件,-n指n天以内,+n指n天以前    -amin -n +n 

-ctime  -n +n    #按文件创建时间来查找文件,-n指n天以内,+n指n天以前    -cmin -n +n

find /etc -name passwd -exec grep root {} \;  

例子:

1.  查询目录下的所有文件;

find . -type f -exec ls -lt {} \;

2. 在/opt/work/log目录中查找更改时间在15日以前的文件并删除它们:

find /opt/work/log -mtime +15 -exec rm -rf {} \;

3. 查询当天修改过的文件

find ./ -type f -mtime -1 -ecec ls -lt {} \;

4. 查找磁盘中大于3M的文件

find . -size +300k -exec ls -ld {} \;

5. 将find出来的东西拷到另一个地方

find *.c -exec cp '{}' /bak ';'


猜你喜欢

转载自genggeng.iteye.com/blog/1170329