文本查找(find)

文件查找(find)

文件查找—find,查找—find

文件查找(find)

1 find

    一句话来说,就是实时搜索钦命的情节或规范。特点:最新、最快、最纯正。

    用法:find [查找路径] [招来条件] [找到后举办的动作]

    eg. find /etc/ -nameipsec.conf-print

2 常用查找方法

    -name 按文件名称查找,能够行使通配符,如* ? [ ] [^ ]

    -iname    忽略文件名称大小写。

    -regex    使用正则表明式的点子十一分文件名

3,依据文件属主、属组查找

    -user    username    查找属主为username 的文件。

    -group    groupname    查找属组为groupname的文件。

    -uid        user
ID        查找属主为钦点UID号的文本。

    -gid        group
ID        查找属组为钦命GID号的文书。

    -nouser                查找没有属主的公文。

    -nogroup                查找没有属组的文本。

4,依照文件类型查找

    -type    type

            -f    查找普通文书

            -d    查找目录

            -l    查找符号链接文件

            -s    查找套接字文件

            -b摸索目录或文件详解,文件查找。    查找块设备文件

            -c    查找字符设备文件

            -p    查找管道文件

5,依据文件大小查找

    -size        [ + | – ] unit

    eg.    find /etc    -size +1M 查找/etc目录下大于1M
的文件

澳门金沙国际 1

6 依照时间来搜寻

      -atime 访问时间

     -ctime 改变状态的岁月

     -mtime修改的时间    

    (1)以天为单位

        -mtime    +n    查找n天在此之前修改过的公文,从n+1天起头算起    

        -mtime    -n    查找当前岁月之前的n天,n天之内的改动过的文本    

        -mtime    n    查找当前时光往前推第n 天修改过的文本

    (2)以分钟为单位

        用法与依天为单位类似

    eg.查找/etc 目录下7天以内访问过的文书

    find /etc/ -atime 7

澳门金沙国际 2

7 根据权限查找

    -perm [ + | ] MODE

            +    MODE    任意七个权力知足都足以。

            –    MODE    必须蕴涵全部MODE权力的文件才得以。

    MODE    精确匹配权限为MODE的文件。

    eg. find /etc/ -perm
222    查找/etc权力必须包蕴全部222权力的文书

澳门金沙国际 3

澳门金沙国际 4

8 查找到文件后的处理动作

     exec COMMAND { } \;
找到文件后对文件举行COMMAND命令。

    -OK     COMMAND { }
\;找到文件后精晓是否对文件实施COMMAND命令。

     print        输出到屏幕(暗中认同操作)。

     ls            打印到屏幕上,类似于ls    -l

     delete        删除操作,只好删除文件。

    -fls filename    查找到的内容保留至filename文件中。

    Xargs         将后面结果分批次给末端的命令作为履行的参数。

    复制/etc 目录下全部以.conf说到底的文书到/shell

澳门金沙国际 5

    分批对/etc 目录下全体以.conf最终的文件执行 ls 命令

澳门金沙国际 6

 

文件查找(find) 1
find 一言以蔽之,就是实时搜索钦赐的内容或标准。特点:最新、最快、最精确。
用法: find…

探寻目录:find /(查找范围) -name ‘查找关键字’ -type d
查找文件:find /(查找范围) -name 查找关键字 -print

1 find

1 find

 

    简单来说,就是实时搜索钦赐的情节或条件。特点:最新、最快、最纯正。

    简而言之,就是实时搜索钦定的故事情节或规范。特点:最新、最快、最标准。

 

    用法:find [搜索路径] [追寻条件] [找到后举行的动作]

    用法:find [探寻路径] [检索条件] [找到后举行的动作]

只要急需更进一步的打听,可以参看Linux的下令详解。

    eg. find /etc/ -nameipsec.conf-print

    eg. find /etc/ -nameipsec.conf-print

那边摘抄如下:

2 常用查找方法

2 常用查找方法

 

    -name 按文件名称查找,可以利用通配符,如* ? [ ] [^ ]

    -name 按文件名称查找,可以运用通配符,如* ? [ ] [^ ]

·find path -option [ -print ] [ -exec -ok command ] {} /;
#-print 将查找到的文本输出到专业输出
#-exec command {} /;     —–将查到的文本进行command操作,{} 和
/;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户

    -iname    忽略文件名称大小写。

    -iname    忽略文件名称大小写。

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

    -regex    使用正则表达式的法子卓殊文件名

    -regex    使用正则表明式的点子格外文件名

-name filename             #搜寻名为filename的文书
-perm                       #按执行权限来寻觅
-user   username            #按文件属主来查找
-group groupname            #按组来探寻
-mtime -n +n              
#按文件更改时间来查找文件,-n指n天以内,+n指n天在此从前
-atime   -n +n              #按文件访问时间来查
-perm                        #按执行权限来寻觅
-user   username            #按文件属主来查找
-group groupname            #按组来探寻
-mtime -n +n              
#按文件更改时间来查找文件,-n指n天以内,+n指n天从前
-atime   -n +n             
#按文件访问时间来查找文件,-n指n天以内,+n指n天之前 
-ctime   -n +n             
#按文件创设时间来查找文件,-n指n天之内,+n指n天在此此前 
-nogroup                   
#查无有效属组的公文,即文件的属组在/etc/groups中不设有
-nouser                    
#查无有效属主的公文,即文件的属主在/etc/passwd中不存
-newer f1 !f2              找文件,-n指n天以内,+n指n天以前 
-ctime   -n +n             
#按文件创设时间来查找文件,-n指n天以内,+n指n天在此在此之前 
-nogroup                   
#查无有效属组的文书,即文件的属组在/etc/groups中不设有
-nouser                    
#查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2              #查更改时间比f1新但比f2旧的公文
-type    b/d/c/p/l/f       
#查是块设备、目录、字符设备、管道、符号链接、普通文书
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                     #查更改时间比f1新但比f2旧的文书
-type    b/d/c/p/l/f       
#查是块设备、目录、字符设备、管道、符号链接、普通文书
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                    
#查位于某一档次文件系统中的文件,这一个文件系统类型一般可
在/etc/fstab中找到
-mount                      #查文件时不超越文件系统mount点
-follow                    
#一旦蒙受符号链接文件,就跟踪链接所指的文书
-cpio                  
#查位于某一档次文件系统中的文件,这一个文件系统类型一般可
在/etc/fstab中找到
-mount                      #查文件时不领先文件系统mount点
-follow                    
#假如碰着符号链接文件,就跟踪链接所指的文本
-cpio                      
#对一双两好的文件使用cpio命令,将他们备份到磁带设备中
-prune                      #粗心某些目录

3,依照文件属主、属组查找

3,依照文件属主、属组查找

====================================================
$find ~ -name “*.txt” -print    #在$HOME中查.txt文件并显示
$find .   -name “*.txt” -print
$find .   -name “[A-Z]*” -pri26nbsp;  
#对金童玉女的文本使用cpio命令,将她们备份到磁带设备中
-prune                              #忽视某些目录

    -user    username    查找属主为username 的文件。

    -user    username    查找属主为username 的文件。

=====================================================
$find ~ -name “*.txt” -print    #在$HOME中查.txt文件并呈现
$find .   -name “*.txt” -print
$find .   -name “[A-Z]*” -print #查以大写字母早先的文书
$find /etc -name “host*” -print #查以host伊始的公文
$find . -name “[a-z][a-z][0–9][0–9].txt”   -print
#查以三个小写字母和三个数字初叶的txt文件
$find . -perm 755 -print
$find . -perm -007 -exec ls -l {} /;
#查全体用户都可读写执行的文件同-perm 777
$find . -type d -print
$find . ! -type d -print 
$find . -type l -print

    -group    groupname    查找属组为groupname的文件。

    -group    groupname    查找属组为groupname的文件。

$find . -size +1000000c -print       #查长度大于1Mb的文书
$find . -size 100c        -print      # 查长度为100c的公文
$find . -size +10 -print            
#查长度当先期作废10块的文书(1块=512字节)

    -uid        user
ID        查找属主为内定UID号的文件。

    -uid        user
ID        查找属主为指定UID号的文件。

$cd /
$find etc home apps   -depth -print | cpio -ivcdC65536 -o /dev/rmt0
$find /etc -name “passwd*” -exec grep “cnscn” {} /;
#看是不是留存cnscn用户
$find . -name “yao*” | xargs file
$find . -name “yao*” | xargs echo   “” > /tmp/core.log
$find . -name “yao*” | xargs chmod o-w

    -gid        group
ID        查找属组为钦命GID号的文书。

    -gid        group
ID        查找属组为内定GID号的文件。

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

    -nouser                查找没有属主的文本。

    -nouser                查找没有属主的文书。

find -name april*                     
在当前目录下寻找以april起头的文件
find -name april* fprint file       
在当前目录下搜寻以april伊始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的公文
find /mnt -name tom.txt -ftype vfat
在/mnt下搜寻名称为tom.txt且文件系统类型为vfat的文本
find /mnt -name t.txt ! -ftype vfat  
在/mnt下搜寻名称为tom.txt且文件系统类型不为vfat的文本
find /tmp -name wa* -type l          
在/tmp下查找名为wa早先且项目为标志链接的文书
find /home -mtime -2                 在/home下查近日二日内改动过的文件
find /home   -atime -1                  查1天之内被存取过的文件
find /home -mmin   +60                 
在/home下查60分钟前改动过的文件
find /home -amin +30                  查如今三十分钟前被存取过的文件
find /home -newer tmp.txt            
在/home下查更新时间比tmp.txt近的公文或目录
find /home -anewer tmp.txt           
在/home下查存取时间比tmp.txt近的文书或目录
find /home -used -2                 
列出文件或目录被改变过将来,在十二日内被存取过的文本或目录
find /home -user cnscn               
列出/home目录内属于用户cnscn的文本或目录
find /home -uid +501                
列出/home目录内用户的识别码大于501的文本或目录
find /home -group cnscn              列出/home内组为cnscn的文书或目录
find /home -gid 501                   列出/home内组id为501的文书或目录
find /home -nouser                   
列出/home内不属于本地用户的文件或目录
find /home -nogroup                  
列出/home内不属于地点组的文件或目录
find /home   -name tmp.txt   -maxdepth 4 列出/home内的tmp.txt
查时深度最多为3层
find /home -name tmp.txt -mindepth 3 从第一层初叶查
find /home -empty                     查找大小为0的文件或空目录
find /home -size +512k               查大于512k的文件
find /home -size -512k               查小于512k的文件
find /home -links +2                 查硬连接数大于2的文件或目录
find /home -perm 0700                查权限为700的公文或目录
find /tmp -name tmp.txt -exec cat {} /;
find /tmp -name tmp.txt -ok rm {} /;

    -nogroup                查找没有属组的文本。

    -nogroup                查找没有属组的文书。

find   / -amin   -10       # 查找在系统中最后10分钟访问的公文
find   / -atime -2         # 查找在系统中最终48时辰访问的文本
find   / -empty              # 查找在系统中为空的文书或许文件夹
find   / -group cat        # 查找在系统中属于 groupcat的文件
find   / -mmin -5         # 查找在系统中末了肆分钟里修改过的公文
find   / -mtime -1        #追寻在系统中最终24小时里修改过的文本
find   / -nouser             #探寻在系统中属于作废用户的文书
find   / -user   fred       #找寻在系统中属于FRED这一个用户的文件

4,依照文件类型查找

4,依据文件类型查找

查当前目录下的有着普通文书 

# 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目录中搜索更改时间在十八日此前的文书并剔除它们:
$ 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_VECTOQashqai”,最后打印出装有包括”SYSCALL_VECTOLAND”的文书名

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出来的事物拷到另1个地点
find *.c -exec cp ‘{}’ /tmp ‘;’

一旦有特有文件,可以用cpio,也得以用这么的语法:
find dir -name filename -print | cpio -pdv newdir

6)查找2001-11-30 16:36:37时更改过的文本
# A=`find ./ -name “*php”` | ls -l –full-time $A 2>/dev/null |
grep “2004-11-30 16:36:37”

    -type    type

    -type    type

            -f    查找普通文书

            -f    查找普通文书

            -d    查找目录

            -d    查找目录

            -l    查找符号链接文件

            -l    查找符号链接文件

            -s    查找套接字文件

            -s    查找套接字文件

            -b    查找块设备文件

            -b    查找块设备文件

            -c    查找字符设备文件

            -c    查找字符设备文件

            -p    查找管道文件

            -p    查找管道文件

5,依照文件大小查找

5,依照文件大小查找

    -size        [ + | – ] unit

    -size        [ + | – ] unit

    eg.    find /etc    -size +1M 查找/etc目录下大于1M
的文件

    eg.    find /etc    -size +1M 查找/etc目录下大于1M
的文件

澳门金沙国际 7

澳门金沙国际 8

6 依照时间来寻觅

6 依据时间来查找

      -atime 访问时间

      -atime 访问时间

     -ctime 改变状态的岁月

     -ctime 改变状态的时间

     -mtime修改的时日    

     -mtime修改的光阴    

    (1)以天为单位

    (1)以天为单位

        -mtime    +n    查找n天在此在此以前修改过的公文,从n+1天起初算起    

        -mtime    +n    查找n天之前修改过的公文,从n+1天初阶算起    

        -mtime    -n    查找当前光阴此前的n天,n天之内的改动过的文书    

        -mtime    -n    查找当前时刻从前的n天,n天之内的修改过的文本    

        -mtime    n    查找当前时间往前推第n 天修改过的文本

        -mtime    n    查找当前时光往前推第n 天修改过的文本

    (2)以秒钟为单位

    (2)以分钟为单位

        用法与依天为单位类似

        用法与依天为单位类似

    eg.查找/etc 目录下7天之内访问过的文书

    eg.查找/etc 目录下7天之内访问过的文件

    find /etc/ -atime 7

    find /etc/ -atime 7

澳门金沙国际 9

澳门金沙国际 10

7 基于权限查找

7 基于权限查找

    -perm [ + | ] MODE

    -perm [ + | ] MODE

            +    MODE    任意一个权力满意都得以。

            +    MODE    任意三个权力满意都得以。

            –    MODE    必须含有全体MODE权限的公文才可以。

            –    MODE    必须包括全部MODE权限的公文才可以。

    MODE    精确匹配权限为MODE的文件。

    MODE    精确匹配权限为MODE的文件。

    eg. find /etc/ -perm
222    查找/etc权力必须含有全部222权力的文书

    eg. find /etc/ -perm
222    查找/etc权限必须含有全部222权力的文件

澳门金沙国际 11

澳门金沙国际 12

澳门金沙国际 13

澳门金沙国际 14

8 查找到文件后的拍卖动作

8 查找到文件后的处理动作

     exec COMMAND { } \;
找到文件后对文本进行COMMAND命令。

     exec COMMAND { } \;
找到文件后对文件举行COMMAND命令。

    -OK     COMMAND { }
\;找到文件后通晓是或不是对文本举办COMMAND命令。

    -OK     COMMAND { }
\澳门金沙国际 ,;找到文件后掌握是或不是对文本实施COMMAND命令。

     print        输出到显示屏(暗许操作)。

     print        输出到显示屏(暗许操作)。

     ls            打印到屏幕上,类似于ls    -l

     ls            打印到屏幕上,类似于ls    -l

     delete        删除操作,只可以删除文件。

     delete        删除操作,只可以删除文件。

    -fls filename    查找到的始末保留至filename文件中。

    -fls filename    查找到的故事情节保留至filename文件中。

    Xargs         将前面结果分批次给后边的下令作为实施的参数。

    Xargs         将后面结果分批次给末端的授命作为实践的参数。

    复制/etc 目录下全部以.conf末尾的文本到/shell

    复制/etc 目录下全数以.conf终极的文书到/shell

澳门金沙国际 15

澳门金沙国际 16

    分批对/etc 目录下全数以.conf最终的公文举行 ls 命令

    分批对/etc 目录下全体以.conf末段的文本举行 ls 命令

澳门金沙国际 17

澳门金沙国际 18

 

 

相关文章