zoukankan      html  css  js  c++  java
  • linux技能点三 find grep

    find:      1.   按文件名查找    find . -name "a*.txt"     注意双引号;

                 2.   按文件大小查找 find .-size [+/-]n[bcwkKG]    +/-表示大于或小于多少,n代表数值,bcek表示单位。

                 3.   按时间先后来查找 find . -amin  n :  访问时间(分钟) ;

                                               find . -atime  n :  访问时间(天);

                                               find . -mmin  n  :内容修改时间(分钟)                                 

                                               find . -mtime  n :内容修改时间(天)

                                               find . -cmin n :属性变更时间 (分钟)

                                               find . -ctime n :属性变更时间(天)

                               例子:find . -mmin 34,    第34分钟这一分钟时间段内修改的,

                                        find . -mmin -34   最近34分钟以内修改的

                                        find . -mmin +34    34分钟以前修改的

                               例子: find . -mtime -1    前24小时以内修改的

                                        find . -mtime  1     前24-48小时期间修改的

                                        find . -mtime +1     前48-72小时期间修改的

                                         注意:两个不一样    find后面的.表示当前目录

                   4:目录层级    find . -mindepth n:目录最小搜索层级               比如:find . -mindepth 2 -name "a*.txt"   2级以后的

                                       find . -maxdepth n:目录最大搜索层级              比如:find . -maxdepth 2 -name "a*.txt"   2级以前的

                                       find . -maxdepth n - -mindepth n:从几到几     

                   5:连接词     1.-a: and       比如:find . -name "a*" -a -type d

                                     2.-o:or          

                                     3.!:not              

                   6:文件类型:-type

                   7:          :-exec    -exec command {};意思是将find结果传递给command操作,{}是find查处的内容

                                                   比如:find . -size 0c -exec ls -l {};find . -size 0c -exec cp -r{}demo/; 

                                       

                                      5.列出当前目录中所有以"t"开头的目录的详细内容
                                          find . -name "t*" -type d -exec ls -l {} ;

                                      33.查找home目录下文件名为memcache.pid的文件
                                          find /home -name "memcache.pid"
                                      34.查找当前目录下所有以pid结尾的文件
                                          find . -name "*.pid"
                                      35.查找以数字开头的所有pid文件
                                           find . -name "[0-9]*.pid"
                                      36.查找以数字为文件名的所有pid文件
                                          find . -name "[0-9]*.pid" | grep '[0-9]+.pid$'
                                      37.用户目录下,查找权限为755的文件
                                          find ~ -perm 755
                                      38.当前目录,查找所有以产u_开头的,并且权限为644的文件
                                          find . -name "u_*" -a -perm 644
                                      39.查找当前目录下面的目录
                                          find . -type d
                                      40.找当前目录下面的非目录文件
                                          find . ! -type d
                                      41.查找当前目录中,没有归属的文件
                                          find . -nouser
                                      42.查找用户组为users,所属用户为zhangy的文件
                                          find . -group users -user zhangy
                                      43.查找文件大小大于1000000字符的文件
                                          find . -size +1000000c
                                      44.查找文件大小小于1000000字符的文件
                                          find . -size -1000000c
                                     45.查找文件大小等于1000000字符的文件
                                          find . -size 1000000c
                                     46.查找5天内修改过的文件
                                          find . -mtime -5
                                     47.查找5天前修改过的文件

                                          find . -mtime +4
                                    48.查找修改时间比一参考文件更接近现在的文件
                                          find . -newer reference_file
                                    49.显示当前目录下面所有大于1000000c的文件,列表显示
                                          find . -size 1000000c -exec ls -l {} ;

    内容查看      grep的用法:data是 随意命名的文件名

                            1.grep "home" 

                            2.grep  --color = auto "home" 

                            3.alias grep ="grep --color = aoto"

                               grep "home" 

                            4.grep "[0-9][0-9] "             两位数的查找               [匹配列表中的任意字符]

                            5.grep "[[:alnum:]]"              匹配字母和数字的字符   

                            6.grep "[^[:alnum:]]"            不匹配字母和数字字符   [匹配列表之外的任意字符]

                            7.grep "abc$"                        以abc为结尾的结束标记gr

                            8.grep "^abc"                      以abc为开始的开始标记

                            9.grep “world|say"                       或者的意思

                            10.grep "ab?c"                     b字符个数有0-1个。ac或者abc

                            11.grep "ab*c"                     b字符个数是0-任意数

                            12.grep "ab+c"                      b字符个数是1-任意数

                            13.grep "ab{2}c"                   b字符个数是两个

                            14.grep "ab{2,}c"               b字符个数是2到多次

                            15.grep "(ab){2,}c"             ab字符个数是2到多次

                            16. grep"ab{0,2}c"               b字符个数是0到2次

                            17.grep -v                                     显示不匹配的行

                           18.grep -E=egrep=                         

                           19. grep -vE:17+18

                            20 .grep "a.c"                         .匹配任意单个字符

                      注意:字符串匹配建议使用‘’单引号,

                               需要转义的字符:?  +  { }    ()    |

                              th:引用第n个(pattern)

                               引号  ‘string’ :不论string中包含任意字符,统一视为普通字符。

                               引号 ”string“:不论string中包含任意字符,统一视为普通字符,对于、 $  ' 无效

                               ·string·:反引号是将string当命令去执行

                               string:命令的换行继续符号,对于特殊字符的屏蔽作用。

    grep测试题:以下是data文件

                        60.grep 
                                   root:x:0:0:root:/root:/bin/bash
                                   bin:x:1:1:bin:/bin:/bin/false
                                   DADddd:x:2:2:daemon:/sbin:/bin/false
                                   mail:x:8:12:mail:/var/spool/mail:/bin/false
                                   ftp:x:14:11:ftp:/home/ftp:/bin/false
                                   &nobody:$:99:99:nobody:/:/bin/false
                                   zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash
                                   http:x:33:33::/srv/http:/bin/false
                                   dbus:x:81:81:System message bus:/:/bin/false
                                   hal:x:82:82:HAL daemon:/:/bin/false
                                   mysql:x:89:89::/var/lib/mysql:/bin/false
                                   aaa:x:1001:1001::/home/aaa:/bin/bash
                                   ba:x:1002:1002::/home/zhangy:/bin/bash
                                   test:x:1003:1003::/home/test:/bin/bash
                                  @zhangying:*:1004:1004::/home/test:/bin/bash
                                  policykit:x:102:1005:Po
                      61.匹配含有root的行
                          grep 'root' data
                     62.匹配以root开头或者以zhang开头的行
                          grep -E '(^root)|(^zhang)' data
                     63.匹配以zhang开头,只含有字母的单词行
                          grep -E '^zhang[a-zA-Z]*$' data
                     64.不匹配以false结尾的行,并显示行号
                           grep -nvE 'false$' data
                     65.显示包含$号的行
                          grep '$' data

  • 相关阅读:
    通向KDE4之路(七):文档反省器Okular和Ligature
    KDE言语绑定──KDEBindings
    KDEEdu(教诲性质软件)引见
    KDEMultimedia(KDE多媒体东西)引见
    KDESDK(KDE斥地工具)引见
    通向KDE4之路(十五):Konsole年夜整修
    企业信息化规划http://www.blogcn.com/User/fieldnet/index.html
    写在博客一周年
    Delphi 的内存操作函数(3): 给结构体指针分配内存
    在 Delphi 2009 中, for in 循环都能用在什么地方?
  • 原文地址:https://www.cnblogs.com/wanglisong/p/6813498.html
Copyright © 2011-2022 走看看