🐶
文件目录管理操作
一、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
八、命令应用
-
调用某个命令的结果使用
-
$(命令)