find命令:用于在文书树中查找文件,并作出相应的拍卖

壹 、find命令的格式;

         find pathname -options [-print -exec -ok …] {}\

② 、find命令的参数;

         pathname:
find命令所查找的目录路径。例如用“.”来代表当前目录,用“/”来表示系统根目录。

         -print: find命令将合营的文件输出到正规输出。

         -exec:
find命令对郎才女貌的文件举办该参数所付出的shell命令。相应命令的款型为’command’
{ } ;,注意{ }和\;之间的空格。

         -ok:
和-exec的出力一样,只可是以一种尤其安全的方式来施行该参数所提交的shell命令,在实践每一个限令从前,都会提交指示,让用户来鲜明是或不是推行。

叁 、find命令的选项:

        
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中找找。

         -name:依照文件名查找

         -perm:根据文件权限来探寻

        
-prune:可用使find命令不在当前制定的目录中找找,假如还要接纳-depth选项,那么-prune将被find忽略

         -user:依照文件属主查找

         -group:依据文件属组查找

         -nouser:查找无有效属主的文件

         -nogroup:查找无有效属组的公文

         -newer file1 file2:查找更改时间比file1新,但是比file2旧的文本

        
-type:查找某一类其他文本,诸如:f-普通文件、d-目录、c-字符文件、b-块设备、p-管道文件、l-符号连接

         -size:[c]
查找文件长度为n块的文本,带有c时表示文件长度以字节计

         -fstype:查找属于某一品类文件系统的文本

         -mount:查找文件时不领先文件系统mount点

         -follow:假如find命令遇到符号连接文件,就跟踪至一而再所指向的文书

         -cpio:对一双两好的文书使用cpio命令,将文件备份到磁带设备中

         -mtime -n
+n:根据文件的修改时间来探寻,-n文件更改时间距以后n天之内,+n文件更改时间距未来n天以前

         -amin n:查找系统中最终n分钟访问的文本

         -atime n:查找系统中最终n*24小时访问的公文

         -cmin n:查找系统中最终n分钟被改成文件状态的公文

         -ctime n:查找系统中最终n*24分钟被改成文件状态的文件

         -mmin n:查找系统中最终n分钟被转移文件数量的公文

         -mtime n:查找系统中最终n*24时辰被转移文件数量的文书 

肆 、使用示例:

         1)查找钦定时间内修改过的文本:(查找48钟头内修改过的文件)

[root@bogon ~]# find -atime -2
.
./.bash_profile

         2)依据重点字查找:(查找当前目录以.log结尾的文书)

[root@bogon log]# find . -name "*.log"
./audit/audit.log
./tuned/tuned.log

         3)依照文件权限查找:(查找/tmp目录下权限为755的文书)

[root@bogon ~]# find /tmp -perm 755 

         4)依据文件类型查找:

[root@bogon ~]# find . -type d -print    ##查找当前目录下的目录
.
./data
[root@bogon ~]# find . ! -type d -print    ##查找当前目录下的非目录
./.bash_logout
./.bash_profile

         5)依照文件大小查找:(查找当前目录下当先1k的公文)

[root@bogon ~]# find -size +1000c -print
.
./anaconda-ks.cfg
./.bash_history

         6)依照文件名查找

[root@bogon ~]# find . -name "*.txt"
./test.txt 

5、使用exec或ok来执行shell命令:

         只要把想要的操作写在一个文本里,就足以用exec来合营find命令查找

    1)突显当前目录下边全数大于10k的公文,exec后边推行了三个发令,{}代表文件名

[root@bogon ~]# find . -type f -size +10k -exec ls -l {} \;
-rw-r--r--. 1 root root 12288 May  4 17:22 ./.test.txt.swp
-rw-------. 1 root root 40960 May  4 17:25 ./.swp

         2)查找/tmp下10天前的公文,删除

[root@bogon ~]# find /tmp -type f -mtime +10 -ok rm {} \;

     3)备份配置文件,添加.bak增添名

[root@bogon ~]# find . -name "*.conf" -exec cp {} {}.bak \;
-rw-r--r--. 1 root root 11753 May  6 18:03 httpd.conf
-rw-r--r--. 1 root root 11753 May  6 18:04 httpd.conf.bak

    4)查找主目录下被其余用户写入的文本

[root@bogon ~]# find ~ -perm -002 -exec chmod o-w {} \;

 ⑥ 、-print 匹配原则:

澳门金沙国际 ,  简写表明式按梯次求值, -a 和 -o 皆以短路求值。

    1)忽略有些目录(在httpd目录下查找文件但不期望在/httpd/conf目录下搜寻)

[root@bogon etc]# find httpd -path "httpd/conf" -prune -o -print
httpd
httpd/conf.d
httpd/conf.d/README
httpd/conf.d/autoindex.conf

     2)匹配多少个原则,接纳ORAV4条件操作

[root@bogon ~]# find . \( -name "*.txt" -o -name "*.conf" \) -print
./httpd.conf
./test.txt

7、xargs命令:

  有些命令无法接受过多参数,此时下令执行恐怕会破产,错误音信平常是“参数列太长”或“参数列溢出”,那就是xargs命令的用途所在
  find | xargs COMMAND

  示例:在当前目录下所以普通文书中过滤“nologin”这些词

[root@bogon ~]# find . -type f -print |xargs grep "nologin"
Binary file ./.test.txt.swp matches
./test.txt:x:1:1:bin:/bin:/sbin/nologin
./test.txt:on:x:2:2:daemon:/sbin:/sbin/nologin

8、locate命令:

  查询系统上预建的文件目录数据库,依赖于先营造索引,营造进度要求遍历整个根文件系统,极消耗电源。

  工作特色:查找速度快,模糊查找,非实时寻找。

   -i  执行区分轻重缓急写的搜索

  -n x   只列举前x个匹配选项  

 

find命令:用于在文件树中查找文件,并作出相应的处理

① 、find命令的格式;

         find pathname -options [-print -exec -ok …] {}\

二 、find命令的参数;

         pathname:
find命令所查找的目录路径。例如用“.”来表示当前目录,用“/”来表示系统根目录。

         -print: find命令将匹配的文件输出到正规输出。

         -exec:
find命令对金童玉女的文件实施该参数所付出的shell命令。相应命令的样式为’command’
{ } ;,注意{ }和\;之间的空格。

         -ok:
和-exec的职能一样,只不过以一种更加安全的情势来施行该参数所提交的shell命令,在执行每2个限令在此之前,都会提交提示,让用户来显然是还是不是推行。

叁 、find命令的选项:

        
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中找找。

         -name:根据文件名查找

         -perm:依据文件权限来查找

        
-prune:可用使find命令不在当前制定的目录中查找,假若同时采纳-depth选项,那么-prune将被find忽略

         -user:依照文件属主查找

         -group:依照文件属组查找

         -nouser:查找无有效属主的文本

         -nogroup:查找无有效属组的文书

         -newer file1 file2:查找更改时间比file1新,不过比file2旧的文书

        
-type:查找某一项目标文书,诸如:f-普通文件、d-目录、c-字符文件、b-块设备、p-管道文件、l-符号连接

         -size:[c]
查找文件长度为n块的文本,带有c时表示文件长度以字节计

         -fstype:查找属于某一项目文件系统的文本

         -mount:查找文件时不当先文件系统mount点

         -follow:如若find命令碰到符号连接文件,就跟踪至一而再所指向的文书

         -cpio:对男才女貌的文件使用cpio命令,将文件备份到磁带设备中

         -mtime -n
+n:依照文件的改动时间来寻觅,-n文件更改时间距未来n天之内,+n文件更改时间距现在n天在此此前

         -amin n:查找系统中最终n分钟访问的文件

         -atime n:查找系统中最终n*24小时访问的文书

         -cmin n:查找系统中最终n分钟被改动文件状态的文件

         -ctime n:查找系统中最终n*24分钟被改动文件状态的文本

         -mmin n:查找系统中最后n分钟被改变文件数量的文本

         -mtime n:查找系统中最终n*24小时被改变文件数量的公文 

④ 、使用示例:

         1)查找钦命时间内修改过的文件:(查找48钟头内修改过的文书)

[root@bogon ~]# find -atime -2
.
./.bash_profile

AIX中find命令和xargs命令介绍,linux文件查找。         2)依据重点字查找:(查找当前目录以.log结尾的文书)

[root@bogon log]# find . -name "*.log"
./audit/audit.log
./tuned/tuned.log

         3)根据文件权限查找:(查找/tmp目录下权限为755的文书)

[root@bogon ~]# find /tmp -perm 755 

         4)根据文件类型查找:

[root@bogon ~]# find . -type d -print    ##查找当前目录下的目录
.
./data
[root@bogon ~]# find . ! -type d -print    ##查找当前目录下的非目录
./.bash_logout
./.bash_profile

         5)按照文件大小查找:(查找当前目录下超越1k的文件)

[root@bogon ~]# find -size +1000c -print
.
./anaconda-ks.cfg
./.bash_history

         6)依照文件名查找

[root@bogon ~]# find . -name "*.txt"
./test.txt 

5、使用exec或ok来执行shell命令:

         只要把想要的操作写在一个文件里,就足以用exec来协作find命令查找

    1)突显当前目录上边全部大于10k的公文,exec前边推行了三个限令,{}代表文件名

[root@bogon ~]# find . -type f -size +10k -exec ls -l {} \;
-rw-r--r--. 1 root root 12288 May  4 17:22 ./.test.txt.swp
-rw-------. 1 root root 40960 May  4 17:25 ./.swp

         2)查找/tmp下10天前的文件,删除

[root@bogon ~]# find /tmp -type f -mtime +10 -ok rm {} \;

     3)备份配置文件,添加.bak扩充名

[root@bogon ~]# find . -name "*.conf" -exec cp {} {}.bak \;
-rw-r--r--. 1 root root 11753 May  6 18:03 httpd.conf
-rw-r--r--. 1 root root 11753 May  6 18:04 httpd.conf.bak

    4)查找主目录下被其余用户写入的公文

[root@bogon ~]# find ~ -perm -002 -exec chmod o-w {} \;

 六 、-print 匹配原则:

  简写表明式按梯次求值, -a 和 -o 都以短路求值。

    1)忽略有个别目录(在httpd目录下查找文件但不期望在/httpd/conf目录下寻找)

[root@bogon etc]# find httpd -path "httpd/conf" -prune -o -print
httpd
httpd/conf.d
httpd/conf.d/README
httpd/conf.d/autoindex.conf

     2)匹配多个原则,接纳OLAND条件操作

[root@bogon ~]# find . \( -name "*.txt" -o -name "*.conf" \) -print
./httpd.conf
./test.txt

7、xargs命令:

  有个别命令无法接受过多参数,此时命令执行可能会失利,错误新闻寻常是“参数列太长”或“参数列溢出”,这就是xargs命令的用途所在
  find | xargs COMMAND

  示例:在当前目录下所以普通文书中过滤“nologin”那些词

[root@bogon ~]# find . -type f -print |xargs grep "nologin"
Binary file ./.test.txt.swp matches
./test.txt:x:1:1:bin:/bin:/sbin/nologin
./test.txt:on:x:2:2:daemon:/sbin:/sbin/nologin

8、locate命令:

  查询系统上预建的文件目录数据库,依赖于先打造索引,构建进程须要遍历整个根文件系统,极消耗财富。

  工作特色:查找速度快,模糊查找,非实时寻找。

   -i  执行区分轻重缓急写的查找

  -n x   只列举前x个匹配选项  

 

linux文件查找-find命令,linux查找-find

find查找文件 
指令格式: 
find  pathname  options[-print -exec -ok] 
pathname :目录路径 
-print  :匹配的文件输出到正规输出 
-exec    :对郎才女貌的公文实施该参数所付出的shell命令 
-ok      :与-exec同,在执行命令前,每一遍都交由提示 
 
find命令选项 
-name  :依据文件名查找文件 
    ~ 表示近年来用户的$HOME目录 
    . 表示当前目录及子目录 
    /etc 表示在/etc目录下查找文件 
    / 表示从根目录开首查找【谨慎接纳】 
    eg.find ~ -name “*.txt” -print 
 
-perm  :依据文件权限查找文件 
    使用八进制表示,rwxrwxrwx(777) 
    eg.find . -perm -755 -print 
 
-prune 
:不在当前钦点的目录中摸索,若同时使用了-depth选项,则忽略此选项 
    忽略/apps下的bin目录 
    eg.find /apps -name “/apps/bin” -prun -o -print 
    在/apps目录下搜寻除了/apps/bin目录下的享有文件 
 
-user  :依照文件属主查找文件 
    eg.find ~ -user scott -print  (查找scott家目录下的文本) 
      find /etc -user tom -print  (查找/etc目录下属于tom的文书) 
 
-nouser  :查找无有效属主的公文,即改文件的属主不在/etc/passwd中 
      查找属主帐户已经被删去的公文 
    eg.find /home -nouser print 
 
-group  :依照文件所属的组查找文件 
    eg.find /apps -group grp01 -print 
    查找/apps目录下属于grp01用户组的文书 
 
-nogroup  :查找无有效属组的文件,即文件所在组不在/etc/groups中 
    eg.find / -group -print (从根目录查找没有分其他文件) 
 
-mtime -n +n :按照文件的更动时间查找文件(-atime,-ctime) 
    -n:文件更改时间距今后n天内 
    +n:文件更改时间距以后n天前 
    eg.find / -mtime -5 -print  (查找根目录下至今二十七日内的文件) 
      find /var/adm -mtime +3 -print  (于今3天前的公文) 
 
-newer newest_file1 ! oldest_file2 :查找更改时间比文件file1新, 
                                    但比file2文件就的文本 
    eg. 
 
-type    :查找某一连串的文件, 
    b:块设备文件 
    d:目录 
    c:字符设备文件 
    p:管道文件 
    l:符号链接文件 
    f:普通文书 
    eg.find /etc -type d -print (查找/etc目录下的有着目录) 
      find . ! -type d -print (查找当前目录下的除了目录之外的文书) 
      find /etc -type l -print (查找/etc目录下拥有的链接文件) 
 
-size n[c] :查找文件长度为n块的公文,c表示文件长度以字节计算 
    eg.find .-size +一千000c -print (查找当前目录下当先1M字节的公文) 
      find /home/apache -size 100c -print 
      (查找/home/apache目录下恰好为100字节的公文) 
      find . -size +10 -print 
      (查找当前目录下长度找过10块的文本(1=512字节)) 
 
-depth  :查找文件时,首先查找当前目录中的文件,然后再在其字目录中查找 
    eg.find / -name “CON.FILE” -depth -print 
      (键首先查找匹配全部的文书然后再进来字目录中寻觅) 
 
-mount  :在查找文件时不当先文件系统mount点 
    eg.find . -name “*.XC” -mount -print 
      (查找当前目录下本文件系统中XC结尾的公文) 
 
-cpio    :对郎才女貌的文本使用cpio命令,将这个文件备份到磁带设备中 
     
 
-fstype  :查找位于某一品种文件系统中的文件,那么些文件系统类型一般, 
         
可以在安插文件/etc/fstab中找到,改配置文件中蕴涵了本系统中, 
      有关文件系统的信息 
 
-follow  :如若find命令碰着符号链接文件,就跟踪到链接所针对的文本 
 
-exec -ok    :执行shell命令 
          可以行使其余款式的下令,如grep “GetStr” 
    eg.find . -type f -exec ls -l {} \; 
      (查找当前目录下的一般性文书,找到周,执行ls -l命令) 
      find logs -type f -mtime +5 -exec rm {} \; 
      (查找logs目录下5天前的日常文书,然后删除之) 
      find . -name “*.LOG” -mtime +5 -ok rm {} \; 
      (查找当前目录下LOG结尾的5天前的文本,并删除之) 
examples 
1.搜索用户目录下的有着文件 
  find $HOME -print 
  find ~ -print 
2.物色当前目录下,全体大小为0的文件 
[开发]/usr/xxxx/src>find . -type f -size 0 -exec ls -l {} \; 
-rw-r–r–  1 xxxx    group          0 Sep 14 19:11
./cds/120031/declare 
-rw-r–r–  1 xxxx    group          0 Jul 25  2011
./testfortest/S11100/123.fe 
-rw-r–r–  1 xxxx    group          0 Jul 27  2011
./zzs/ZZS403/ZZS403.fe 
-rw-r–r–  1 xxxx    group          0 Jul 27  2011
./zzs/ZZS403/ZZS404.fe 
-rw-r–r–  1 xxxx    group          0 Jul 27  2011
./zzs/ZZS403/456.fe 
-rw-r–r–  1 xxxx    group          0 Aug 17 13:46 ./zzs/zzs020 
-rw-r–r–  1 xxxx    group          0 Aug 24 19:06 ./zzs/ZZA212. 
-rw-r–r–  1 xxxx    group          0 Aug 15  2011 ./tmp/123.fe 
-rw-r–r–  1 xxxx    group          0 Aug 15  2011 ./tmp/456.fe 
-rw-r–r–  1 xxxx    group          0 Aug 15  2011 ./tmp/ZZS403.fe 
-rw-r–r–  1 xxxx    group          0 Aug 15  2011 ./tmp/ZZS404.fe 
 
xargs 
拔取-exec命令时,find命令会将富有匹配到的文件一并传递给exec执行, 
此命令有参数限制,若命令过长,则会报“参数列太长”或“参数溢出”等悖谬; 
-xargs命令每便得到一有个别文件,然后执行命令,并不是整个一并获取。 
[开发]/usr/xxxx/ytcclb>find . -type f -print |xargs file 
./myfile:      commands text 
./first2:      commands text 
./test.sql:    commands text 
 
查询/apps/audit目录下,全体用户拥有读写和推行权限的文本,并回收其余用户组的写权限: 
find /apps/audit -perm -7 -print | xargs chmod o-w 
 
查询全数的常见文书,并摸索”device”那一个词: 
find / -type f -print | xargs grep “device” 
 
搜索当前目录下具有的日常文书,并搜索DBO那些词: 
find . -name *\-type f -print | xargs grep “DBO” 
注意\代表转义 澳门金沙国际 1

find命令:用于在文书树中查找文件,并作出相应的拍卖

一 、find命令的格式;

         find pathname -options [-print -exec -ok …] {}\

贰 、find命令的参数;

         pathname:
find命令所查找的目录路径。例如用“.”来表示当前目录,用“/”来代表系统根目录。

         -print: find命令将合营的文本输出到专业输出。

         -exec:
find命令对男才女貌的公文举办该参数所付出的shell命令。相应命令的样式为’command’
{ } ;,注意{ }和\;之间的空格。

         -ok:
和-exec的成效一样,只不过以一种特别安全的格局来举办该参数所提交的shell命令,在执行每多少个命令此前,都会提交提醒,让用户来明确是还是不是实施。

3、find命令的选项:

        
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中摸索。

         -name:依照文件名查找

         -perm:依照文件权限来寻觅

        
-prune:可用使find命令不在当前制定的目录中搜寻,如若还要使用-depth选项,那么-prune将被find忽略

         -user:依据文件属主查找

         -group:依据文件属组查找

         -nouser:查找无有效属主的文书

         -nogroup:查找无有效属组的文件

         -newer file1 file2:查找更改时间比file1新,不过比file2旧的公文

        
-type:查找某一类型的公文,诸如:f-普通文件、d-目录、c-字符文件、b-块设备、p-管道文件、l-符号连接

         -size:[c]
查找文件长度为n块的公文,带有c时表示文件长度以字节计

         -fstype:查找属于某一类型文件系统的文件

         -mount:查找文件时不领先文件系统mount点

         -follow:倘诺find命令境遇符号连接文件,就跟踪至再而三所针对的公文

         -cpio:对郎才女貌的文本使用cpio命令,将文件备份到磁带设备中

         -mtime -n
+n:根据文件的修改时间来探寻,-n文件更改时间距现在n天以内,+n文件更改时间距将来n天在此之前

         -amin n:查找系统中最终n分钟访问的文件

         -atime n:查找系统中最终n*24钟头访问的文本

         -cmin n:查找系统中最终n秒钟被改成文件状态的文本

         -ctime n:查找系统中最后n*24分钟被改成文件状态的公文

         -mmin n:查找系统中最终n分钟被转移文件数量的文本

         -mtime n:查找系统中最后n*24钟头被转移文件数量的公文 

肆 、使用示例:

         1)查找内定时间内修改过的文书:(查找48钟头内修改过的文本)

[[email protected] ~]# find -atime -2
.
./.bash_profile

         2)依据重大字查找:(查找当前目录以.log结尾的文书)

[[email protected] log]# find . -name "*.log"
./audit/audit.log
./tuned/tuned.log

         3)依据文件权限查找:(查找/tmp目录下权限为755的文本)

[[email protected] ~]# find /tmp -perm 755 

         4)根据文件类型查找:

[[email protected] ~]# find . -type d -print    ##查找当前目录下的目录
.
./data
[[email protected] ~]# find . ! -type d -print    ##查找当前目录下的非目录
./.bash_logout
./.bash_profile

         5)根据文件大小查找:(查找当前目录下超越1k的文书)

[[email protected] ~]# find -size +1000c -print
.
./anaconda-ks.cfg
./.bash_history

         6)依照文件名查找

[[email protected] ~]# find . -name "*.txt"
./test.txt 

5、使用exec或ok来执行shell命令:

         只要把想要的操作写在一个文本里,就可以用exec来协作find命令查找

    1)突显当前目录上面全数大于10k的文件,exec后边推行了三个命令,{}代表文件名

[[email protected] ~]# find . -type f -size +10k -exec ls -l {} \;
-rw-r--r--. 1 root root 12288 May  4 17:22 ./.test.txt.swp
-rw-------. 1 root root 40960 May  4 17:25 ./.swp

         2)查找/tmp下10天前的文书,删除

[[email protected] ~]# find /tmp -type f -mtime +10 -ok rm {} \;

     3)备份配置文件,添加.bak伸张名

[[email protected] ~]# find . -name "*.conf" -exec cp {} {}.bak \;
-rw-r--r--. 1 root root 11753 May  6 18:03 httpd.conf
-rw-r--r--. 1 root root 11753 May  6 18:04 httpd.conf.bak

    4)查找主目录下被其余用户写入的文本

[[email protected] ~]# find ~ -perm -002 -exec chmod o-w {} \;

 陆 、-print 匹配原则:

  简写表达式按顺序求值, -a 和 -o 都以短路求值。

    1)忽略某些目录(在httpd目录下查找文件但不期待在/httpd/conf目录下寻找)

[[email protected] etc]# find httpd -path "httpd/conf" -prune -o -print
httpd
httpd/conf.d
httpd/conf.d/README
httpd/conf.d/autoindex.conf

     2)匹配三个标准,拔取O奥迪Q5条件操作

[[email protected] ~]# find . \( -name "*.txt" -o -name "*.conf" \) -print
./httpd.conf
./test.txt

7、xargs命令:

  有个别命令无法承受过多参数,此时命令执行只怕会战败,错误音信平常是“参数列太长”或“参数列溢出”,那就是xargs命令的用处所在
  find | xargs COMMAND

  示例:在当前目录下所以普通文书中过滤“nologin”那几个词

[[email protected] ~]# find . -type f -print |xargs grep "nologin"
Binary file ./.test.txt.swp matches
./test.txt:x:1:1:bin:/bin:/sbin/nologin
./test.txt:on:x:2:2:daemon:/sbin:/sbin/nologin

8、locate命令:

  查询系统上预建的公文目录数据库,依赖于先打造索引,创设进程须要遍历整个根文件系统,极消功耗源。

  工作特色:查找速度快,模糊查找,非实时寻找。

   -i  执行区分轻重缓急写的摸索

  -n x   只列举前x个匹配选项  

 

find命令:用于在文件树中查找文件,并作出相应的处理 壹 、find命令的格式;
find pathname -options [-print…

相关文章