加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux中find命令的用法

发布时间:2016-10-27 11:22:43 所属栏目:Linux 来源:网络整理
导读:find path -option [ -print ] [ -exec -ok command ] {} ; #-print 将查找到的文件输出到标准输出 #-exec command {} ; -----将查到的文件执行command操作,

find    /   -empty               # 查找在系统中为空的文件或者文件夹

find    /   -group   cat         # 查找在系统中属于 groupcat的文件

find    /   -mmin   -5          # 查找在系统中最后5分钟里修改过的文件

find    /   -mtime   -1         #查找在系统中最后24小时里修改过的文件

find    /   -nouser              #查找在系统中属于作废用户的文件

find    /   -user    fred        #查找在系统中属于FRED这个用户的文件

=================================================

查当前目录下的所有普通文件

# find . -type f -exec ls -l {} ;

-rw-r--r--     1 root      root         34928 2003-02-25   ./conf/httpd.conf

-rw-r--r--     1 root      root         12959 2003-02-25   ./conf/magic

-rw-r--r--     1 root      root           180 2003-02-25   ./conf.d/README

查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出

=================================================

在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:

$ find logs -type f -mtime +5 -exec   -ok   rm {} ;

=================================================

查询当天修改过的文件

[root@book class]# find   ./   -mtime   -1   -type f   -exec   ls -l   {} ;

=================================================

查询文件并询问是否要显示

[root@book class]# find   ./   -mtime   -1   -type f   -ok   ls -l   {} ;

< ls … ./classDB.inc.php >   y

-rw-r--r--     1 cnscn     cnscn        13709   1月 12 12:22 ./classDB.inc.php

[root@book class]# find   ./   -mtime   -1   -type f   -ok   ls -l   {} ;

< ls … ./classDB.inc.php >   n

[root@book class]#

=================================================

查询并交给awk去处理

[root@book class]# who   |   awk   '{print $1"t"$2}'

cnscn    pts/0

=================================================

awk---grep---sed

[root@book class]# df   -k |   awk '{print $1}' |   grep   -v   'none' |   sed   s"//dev///g"

文件系统

sda2

sda1

[root@book class]# df   -k |   awk '{print $1}' |   grep   -v   'none'

文件系统

/dev/sda2

/dev/sda1

1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名

A) find   /tmp   -name   "*.h"   | xargs   -n50   grep SYSCALL_VECTOR

B) grep   SYSCALL_VECTOR   /tmp/*.h | cut    -d':'   -f1| uniq > filename

C) find   /tmp   -name "*.h"   -exec grep "SYSCALL_VECTOR"   {}   ; -print

2)find / -name filename -exec rm -rf {} ;

  find / -name filename -ok rm -rf {} ;

3)比如要查找磁盘中大于3M的文件:

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

4)将find出来的东西拷到另一个地方

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

如果有特殊文件,可以用cpio,也可以用这样的语法:

find dir -name filename -print | cpio -pdv newdir

6)查找2004-11-30 16:36:37时更改过的文件

# A=`find ./ -name "*php"` |   ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

=================================================

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读