文件目录管理操作

🐶

文件目录管理操作

一、grep

  • 过滤文件内容

  • grep [option] "PATTERN" 文件名

    • PATTERN 模式 条件 (由普通字符,正则表达式组成)

二、正则表达式

  • 由一类特殊字符【元字符】组成的表达式,可以匹配一类具有相同特征的文本

  • 元字符

    • 匹配单个字符的元字符

      • . 任意单个字符

      • a.b aab,acb,a/fb

       grep "r..t" /etc/passwd
      • [] 在方括号范围内的

        • [ab] a或者b

        • [a-z] a到z 26个

        • [a-zA-Z] 大写和小写

        • [a-zA-Z0-9] 数字和字母

        • [^abc] 取反abc

       grep "[ab]" /file
      • \ 转义字符

    • 匹配字符出现次数

      • * 前一个字符出现任意次

        • ab* a , ab, abb, abbbbbbb

        • .* 任意字符任意次数

      • ? 前一个字符最多出现1次(?前必须加 \ )

         grep "ak\?b" /file
      • + 前一个字符至少出现一个(+前必须加 \ )

         grep "ak\+b" /file
      • {n} 匹配前一个字符精确出现次数(\{n\} 必须加 \ )

         grep "sk\{3\}b" /file
        • \{2,5\} 最少2次,最多5次

        • \{2,\} 至少俩次

    • 分组()

       grep "\(abc\)\{2,\}" /user/share/
    • 匹配字符出现位置

      • ^string 以string开头

       grep "^[abc]" /file
       以abc中任意一个开头
      • string& 以string结尾

       grep "string$"  /file
      • ^$ 匹配空行

        • 有空格不算空行

符号含义举例
.任意单个字符a.b
[]在括号范围内的一个[abc] [a-zA-Z0-9] 数字和字母 [^abc] 取反abc
*前一个出现任意次数.* 任意字符任意次数 ab* a , ab, abb, abbbbbbb
?前一个最多出现一次grep "ak\?b" /file
+前一个至少出现一次grep "ak\+b" /file
{}匹配前一个出现的精确次数grep "sk{3}b" /file \{2,5\} 最少2次,最多5次
()分组grep "(abc){2,}" /user/share/
^以。。。开头grep "^[abc]" /file 以abc中任意一个开头
$以。。。结尾grep "string$" /file

密码/^[a-z0-9_-]{6,18}$/
十六进制值/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
电子邮箱/^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/ /^[a-z\d]+(.[a-z\d]+)*@(\da-z?)+(.{1,2}[a-z]+)+$/
URL/^(https?:\/\/)?([\da-z.-]+).([a-z.]{2,6})([\/\w .-])\/?$/
IP 地址/((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|20-4|[01]?0-9?).){3}(?:25[0-5]|20-4|[01]?0-9?)$/
HTML 标签/^<([a-z]+)(<+)(?:>(.)<\/\1>|\s+\/>)$/
删除代码\注释(?<!http:|\S)//.*$
Unicode编码中的汉字范围/^[\u2E80-\u9FFF]+$/
用户名/^[a-z0-9_-]{3,16}$/

常用选项

  • -i

    • 忽略大小写

  • -v

    • 反向过滤

  • -e

    • -e 条件1 -e 条件2

    • 多条件过滤

  • -o

    • only

    • 只显示关键字

  • -n

    • 显示符合行的行号

  • -E

    • 让grep支持扩展正则表达式

    • 不用加 \

三、find查找文件

1、find使用格式

 # find 目录名 条件

2、按文件名查询

 find /etc -name "*.conf"

3、按文件大小

 find /etc -size +5M 
 + 大于5   -小于5

4、按文件类型

  • f

  • d

  • l

  • c

  • s

  • p

 find /etc -type f

5、按文件修改时间

 find /etc -mtime +5
 单位默认day  
 + 5天前
 - 5天内

6、按文件创建时间

 find /etc -ctime  +5
 ​

7、多条件查找

-a 和and

-o 或者or

8、对查找的文件执行操作

 find 目录 条件 -exec 命令 {} \;
 {} 为 find命令找到的文件

9、

tar 文件归档

1、gz

 gzip /opt/a.txt  //压缩
 gizp -d /opt/a.txt.gz //解压

2、bzip2

 bzip2 /file
 bzilp2 -d /file.bz2

3、tar

1、创建归档文件

tar cf 归档文件.tar 原文件

c 创建 f 指定归档文件名

tar自身没有压缩功能

2、调用gzip压缩 *.tar.gz

tar czf 归档文件.tar.gz 原文件

z 调用gzip

3、调用bzip2 *.tar.bz2

tar jcf 归档文件.tar.bz2 原文件

j 调用bzip

4、解压

tar xf 文件 【-C 目录】

四、uniq 去重

 uniq /opt/file

只去重连续的重行

五、sort 排序

 sort /opt/file      升序
 sort -r /opt/file   降序
 sort -n /opt/file   -n number 按常识排序数字
 sort -n -k 2 /opt/file    -k 2  以每行第二列排序。按空白分列
  

排序原理

ASCII 码表

六、 du

 du -ah  /etc    看etc下所有文件和大小
 ​
 du -sh  /etc        看/etc/大小

七、别名

 vim /etc/bashrc
     alias 别名=‘全名’
 cource /etc/bashrc  

八、命令应用

  • 调用某个命令的结果使用

  • $(命令)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值