Linux查找命令

一、文件内容查找

  grep -lr '内容' 文件路径

  -l 匹配

  -L 不匹配

  -r 递归

二、查找包含子路径的全路径

 (1)find 路径  -name '子路径' -type d

 find /home/odca -name 'xxx' -type d

 输出结果为:/home/odca/xxx

(2)find ./ -name ‘*.xml’ -exec grep -i “log4j”{} \; -print

   在当前路径不区分大小写查找所有*.xml的文件里面含有"log4j"的内容行,并且print出来文件的路径

  

(3)所要搜索的目录及其所有子目录。默认为当前目录。find默认递归指定目录。目录可以有多个,目录之间要用空格分开。

   find /etc /tmp /root -name XXX

(4)-a,-o,-not的使用

   -a      连接两个不同的条件(两个条件必须同时满足):find /tmp -name "*.sh" -a -user root 

   -o     连接两个不同的条件(两个条件满足其一即可):find /tmp -name "*.sh" -o -user root

   -not 对条件取反的:find /tmp -not -user root

(5)根据文件类型来查找文件

-type 查找某一类型的文件 
 文件类型: f 普通文件 
                    d 目录 
                    l 符号链接文件 
                   c 字符设备文件 
                   p 管道文件 
                   b 块设备文件
                   s socket文件

find /tmp -type s

(6) 查找所有包含XXX的文件

grep -H 'spring' *.xml 查找所有包含spring的xml文件

(7)匹配查找行的前后内容

grep  -5  'pattern'       打印匹配行的前后5行内容
grep  -C 5  'pattern'   打印匹配行的前后5行内容
grep  -A 5  'pattern'   打印匹配行的后5行内容
grep  -B 5  'pattern'   打印匹配行的前5行内容

(8)端口监听

netstat -na|grep 3306

netstat -lnt

(9)find查询命令

文件:find . -type f | xargs -i chmod 600 {}

目录:find . -type d| xargs -i chmod 700 {}

示例:在/目录中查找名称为test的所有目录----find / -type d -name test

 (10)压缩

    文件压缩:zip -r 文件名 需要压缩路径   zip -r contact.zip /data01/contact

    tar加密压缩:  tar -zcvf - sof.tgz | openssl des3 -salt -k 密码 | dd of=sof.des3

    tar解压:dd if=sof.des3 | openssl des3 -d -k 密码 | tar zxf -

(11)动态修改jar包中的class文件

   A.查看XXX文件在jar包中的路径:jar tf x.jar| grep "XXX"

  B.以com/p1/p2/xxx.class文件替换掉xx.jar包中的文件:jar -uvf xx.jar 路径, 示例:jar -uvf X.jar com/p1/p2/xxx.class

  增量包中文件替换:

    解压:jar xvf xxx.jar

   压缩:jar cvf xxx.jar xxx/

   查看解压目录:jar tf xxx.jar |grep "xxx"

   替换jar包中的文件:jar uvf xxx.jar xxx/

  

posted @ 2016-02-17 22:38  moonandstar08  阅读(506)  评论(0编辑  收藏  举报