来自 金沙澳门官网网址 2019-12-25 08:29 的文章
当前位置: 金沙澳门官网网址 > 金沙澳门官网网址 > 正文

linux文件查找

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

1、find命令的格式;

         find pathname -options [-print -exec -ok ...] {}

2、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小时被更改文件数量的文件 

4、使用示例:

         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 {} ;

 6、-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)相称多个标准化,接纳O汉兰达条件操作

[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文件查找

关键词: