• find、grep、正则表达式元字符、压缩、


    find

    是linux里面的一个实时查找工具,通过制定路径完成文件查找

    find [options] ..... [查找路径] [查找条件] [处理动作]

    查找路径:查找的位置,默认是当前文件夹

    查找条件:制定查找的标准,文件名、大小、类型、日期等等

    处理动作:对符合条件的文件做什么操作,默认是输出到屏幕上

    查找条件

    • 根据文件名查找

      • -name 指定名称,可以使用正则

      • -iname 忽略大小写

      • -links n 引用次数为n的文件

      • -regex 后面跟完整路径,而不是文件名, 必须整个路径完全匹配

    • 制定搜索的层级

      • -maxdepth level 最大的搜索深度,指定的目录为第1层

      • -mindepth level 最小的搜索深度,包括level层

    • 根据属主、属组来查找

      • -user username 查找属主为username的文件

      • -group groupname 查找属组为groupname的文件

      • -uid id 查找属主为id的文件

      • -gid id 查找属组为id的文件

      • -nouser 查找没有属主的文件

      • -nogroup 查找没有属组的文件

    • 根据文件类型 -type

      • d 目录

      • f 文件

      • l 符号链接

      • s 套接字

      • b 块设备

      • c 字符设备

      • p 管道文件

    • 空文件或者空目录

      • -empty

    • 条件

      • 与 -a

      • 或 -o

      • 非 -not

    • 摩根定律

      • 非(A或者B) 非A 且非B

      • 非(A且B)非A或非B

    • 排除目录

      • -path

    •  [root@localhost test]#find /etc -name *_config
       /etc/ssh/ssh_config
       /etc/ssh/sshd_config
       [root@localhost test]#find /etc -path /etc/ssh -name *_config
    • 按照大小来查找

      • -size # (#-1,#] 不包括#-1,包括#

      • -size -# [0,#-1] 包括#-1

      • -size +# (#,......)

    • 按照时间来查找

      • -atime # [#,#+1)

      • -atime -# (0,#)

      • -atime +# [#+1,....]

      • 查找7天以后的文件 find -atime +7

      • -mtime

      • -ctime

      • 以分钟为单位

        • -amin

        • -mmin

        • -cmin

    处理动作

    • -print 默认的处理动作,显示在屏幕上

    • -ls 类似于ls -l 显示长格式

    • -delete 删除查找到的文件

    • -fls file 将查找的结果以长格式保存到文件中

    • -ok command {} ; 对每一个查找到的文件执行command命令,在执行命令之前要先提示用户是否要执行

    • -exec command {} ; 对查到的每一个文件执行command命令,不需要确认,一次性交给后面命令处理

    xargs

    • 有的命令不支持管道

    • 命令参数过长

    • xargs 将管道前面的内容一条一条的交给后面命令处理

    • 一般会跟find使用

    linux三贱客

    grep

    awk

    sed

    grep

    grep [option] "模式" file

    option

     --color=auto 对匹配到的行添加颜色
     -v 取反
     -i 不区分大小写
     -n 查找的内容增加行号
     -c 打印匹配到的行数
     -o 只显示匹配到的文字
     -q 静默模式
     -A # after 向下显示#行
     -B # before 向上显示#行
     —C # context 上下分别显示#行
     -e 或者 grep -e 'user' -e 'root' passwd
     -E 扩展正则表达式
     -F 不使用正则表达式
     -r 递归
     -w 匹配整个单词

    正则表达式元字符

    • 字符匹配

      • . 任意单个字符

      • [] 匹配指定范围内的任意单个字符 [0-9] [a-z] [A-Z]

      • [^] 取反

      • [:upper:] 大写字母

      • [:lower:] 小写字母

      • [:alnum:] 字母和数字

      • [:alpha:] 大小写字母

      • [:digit:] 数字

      • [:black:] 空白

      • [:punct:] 标点符号

    • 匹配次数

      • * 表示任意次数

      • .* 任意字符任意次数

      • ? 表示0或者1次

      • + 至少一次

      • {n} 表示n次

      • {m,n} 最少m次,最多n次

      • {n,} 至少n次

      • {,n} 至多n次

    • 位置锚定

      • ^ 开头

      • $结尾

      • ^$ 空行

       grep -v "^#" /etc/ssh/sshd_config |grep -v "^$" 显示不以#开头并且不是空行
    • 分组

       grep "(c|C)at" a
    • 向后引用

      • 1 前面第一个括号出现的内容匹配完成之后再后面在出现一次

      • 2

    • 扩展正则表达式

      • 与正则表达式的区别是不需要转义

    压缩

    gzip

    压缩文件

     gzip [option]... file
     -c 将压缩结果输出到屏幕,保留原来的文件
     gzip -c passwd > passwd.gz
     -1-9 指定压缩比,默认9
     -d 解压
     zcat 不解压的情况下查看压缩比内的内容
     gunzip 解压

    bzip2

    bzip [option] file

     直接压缩
     bunzip2 解压
     -k 保留原来的文件
     -d 解压
     -1-9 指定压缩比
     bzcat 不解压的情况下查看压缩包的内容

    xz

    xz [option] file

     unxz 解压
     -k 保留原来的文件
     -d 解压
     -1-9 指定压缩比
     xzcat 不解压直接查看

    zip

     zip [option] zipfile 要压缩的文件
     zip -r network.zip /etc/sysconfig/network-scripts
     unzip network.zip

    tar

    归档工具

     归档
     tar cpvf etc.tar /etc
     c 创建
     v 显示过程
     f 指定归档文件
     p 把原来的属性也带过来
     tar -r -f etc.tar /etc 追加
     tar -t -f etc.tar 查看归档文件内的内容
     tar xf etc.tar 解压文件
     tar xf etc.tar -C
     -z 使用gzip压缩
     -j 使用bzip2压缩
     -J 使用xz压缩
     --exclude 排除文件
     

    split

     split -b 指定大小 文件(只能为文件) 切割以后的名字
     -d 指定后缀为数字
     -a 指定后缀几位
     cat 切割后的文件 > 新文件
  • 相关阅读:
    redis 笔记04 服务器、复制
    redis 笔记03 RDB 持久化、AOF持久化、事件、客户端
    redis 笔记02 对象、数据库
    反射复习笔记02
    攻防世界 — Web进阶题(第11
    机器学习-极大似然和对数几率回归(浅入)
    redis的过期策略和内存淘汰
    Backbone.Router实践
    Spring Boot 数据访问
    Archives: 2018/12
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12380609.html
Copyright © 2020-2023  润新知