第一组:模糊匹配
* 表示匹配所有
? 匹配单个字符,有且只有一个
[abcd]可以匹配不连续的任意字符
[a-d]可以匹配连续字符
!或者是^ '取反
第二组:路径位置
~ 用户家目录
- 上一次目录
. 当前目录
.. 上一级目录
第三组:引号相关
单引号 '' 引用字符 所见即所得
双引号 "" 引用字符串 解析变量、命令,推荐使用
`` 反引号 引用命令,解析命令 相当于$() 推荐后者
第四组:其他字符
; 分号 表示命令分隔符
# 1、管理员提示符;2、注释符号
$ 1、普通用户提示符;2、调用变量使用
| 管道 前面的数据流交给后面处理
\ 转义字符 让字符还原本义
{} 1、生成序列;2、引用变量 让变量成为整体
! 取反 vim中是强制
&& 并且
|| 或者
第五组:重定向
>输出重定向,箭头方向就是数据流向,左边的数据流向右边,清空文件了
>>追加输出重定向,左边的数据流向右边
<标准输入重定向,内容追加到文件箭头方向就是数据流向 清空文件了
<<追加输入重定向,内容追加到文件箭头方向就是数据流向
2>错识输出重定向,箭头方向就是数据流向,把左边的(报错)输出到右边(覆盖)清空文件了
2>>追加错识输出重定向,箭头方向就是数据流向,把左边的(报错)输出到右边
BRE 基本正则表达式 grep
^ 以…开头
$ 美元符 以…结尾 oldboy$是以oldboy结尾
^$ 空行 以结尾开头,以开头结尾
. 匹配任意一个且只有一个字符,和通配符的?一样
\ 让有意义的字符还原本义,脱掉马甲
*重复前面字符0次或多次
.* 表示所有内容
^.* 组合符,匹配以任意多个字符开头的内容
.*$以任意0个或多个字符结尾的内容
[abc]匹配[]集合内的任意一个字符a或b或c;[abc]也可以写成[a-c]
[^abc]匹配不包含^后的任意字符a、b、c;这里的^表示对[abc]的取反,^不能用!替代
ERE 扩展正则表达式 egrep
+匹配前一个字符1次或1次以上
[:/]+ 匹配:或/1次或多次
? 匹配前一个字符0次或1次
| 或者同时过滤多个字符串
() 分组过滤被括起来的东西,表示一个整体
\n
a{n,m} 匹配前一个字符最少n次,最多m次
a{n,} 匹配前一个字符最少n次
a{n} 匹配前一个字符正好n次
a{,m} 匹配前一个字符最多m次
元字符
\b 匹配单词边界 类似grep -w
\B 匹配非单词的边界
\w 匹配字母、数字、下划线
\d 匹配单个数字字符 需要使用grep -P
grep print lines matching a pattern
打印行匹配一个模式
--color=auto 过滤的内容加色
-v invert 取反
-i ignore 不区分大小写
-n number 对输出的内容显示在源文件中的行号
-w word 按单词为单位过滤
-o 只输出匹配的内容
-E extend 扩展的grep 既egrep
-A after 显示过滤的字符串和它之后的多少行
-B before 显示过滤的字符串和它之前的多少行
-C context 显示过滤的字符串和它之前之后的多少行
-P 用于过滤Perl兼容正则表达式
特长:过滤查找内容
sed 流编辑器
内置命令字符
s 替换
g 全局 global
p 打印 print
d 删除 delete
a 插入一行在指定行后
i 插入一行在指定行前
参数
-n 取消命令的默认输出
-i 直接修改文件内容,而不是输出到终端
特长:取行、替换、删除、追加
cut 按列切割
-d 指定分隔符
-f 指定列
多列用, 连续就用-
-c 按字符取内容
三剑客之awk
是一门语言,可以作为命令行操作,也可以作为编程语言
特长:取列
语法:awk 参数 条件(动作) 文件
-F 指定分隔符
$0代表整行 $NF代表最后一列 $n n代表数字 就是代表多少列
NR 表示行号
文件属性
chmod change mod 修改文件权限
-R 递归修改
chown change owner 改变文件用户和组
-R 递归修改
chgrp change group 只修改用户组
用户定时任务
cron 是定时任务的软件名
crond是服务进程名,真正实现定时任务服务
crontab命令是用来设置定时任务规则的配置命令