1.系统符号
1.1 系统符号作用
①简化操作
如:.. ~ ; &&
~ 一般家目录
;两条命令一行执行,先执行前面的命令,再执行后面的命令
&& 前一条命令成功才会执行后面的
②进行匹配
1.2 系统特殊符号
①基础符号系列
美元符号:$ //取变量内容、配合awk去列、普通用户提示符
叹号符号: ! //取反、强制
竖线符号: | //前一个命令执行结果交给后面命令处理
xargs命令
用作替换工具,读取输入数据重新格式化后输出
多行输入单行输出
-i 或者是-I:将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替
-t 表示先打印命令,然后再执行
-n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的,实现多行输出
②引号符号系列
'' 输出的信息,写什么显示什么
"" 和单引号功能类似 但对特殊信息会做解析
③重定向输出符号
重定向:在文本中显示
>或者1> 标准输出重定向符号
2> 错误输出重定向符号
>>或者1>> 标准输出追加重定向符号,在原来的内容下追加
2>> 错误输出追加重定向符号
&> 正确错误重定向输出
< 标准输入重定向符号
<< 标准输入追加重定向符号
④路径信息系列
../ 上一级目录
./ 当前路径
~ 返回到家目录
- 两个目录之间进行快速切换
⑤逻辑符号系列
&& 与逻辑符号
前一个命令执行成功, 再执行后面的命令
|| 或逻辑符号
前一个命令执行失败, 再执行后面的命令
1.3 系统通配符号
*
模糊匹配所有内容
{}
- 生成序列信息 (生成一行序列)
- 生成连续序列 echo {1..10}
- 生成不连续序列 echo {1..10..2} 奇数序列 echo {0..10..2} 偶数序列 2是间隔
- 生成组合序列:echo {A,B}{01,02} echo A{,02}
常用的文件备份操作
cp /etc/passwd{,.back}
将刚刚的备份文件快速还原
cp /abc123/test.txt{.back,}
2. 正则符号
2.1 基本正则符号
①尖角符号:^
以什么开头的信息
②美元符号:$
以什么结尾的信息
③^$
空行
④点符号 .
匹配任意一个字符,且只有一个字符
grep "." ~/test.txt -o
-o 显示匹配过程
⑤星符号 *
匹配前一个字符连续出现了0次或者多次
⑥点和星结合: .*
匹配任意所有信息
⑦ 转义符号: \
作用:
1)将有特殊意义符号,转义成普通信息进行识别
2)将没有意义的信息转义为有特殊意义的信息
\n 换行符号
\t 制表 就是tab空格
echo -e "\e[1;31m This is red text \e[0m"
//e为字体上色,\e[0m,为将颜色重置为默认颜色,否则之后所输出的所有信息都将是31号颜色
重置=0 黑色=30 红色=31 绿色=32 黄色=33 蓝色=34 粉色=35 青色=36 白色=37
⑧括号符号:[ ]
有包含a、b、c的行
⑨括号和尖号组合 [^]
除了a、b、c外,匹配包含其他字符的行
grep "[^abc]" test.txt
2.2 扩展正则符号
默认 grep sed不能直接识别
在使用扩展正则符号时
egrep/grep -E
sed -r
①+号符号
匹配前一个字符连续出现了1次或者多次
②竖线符号:|
或者符号,用于匹配多个信息
③括号符号: ()
作用:
1)指定信息进行整体匹配
grep -E "(my)" test.txt
2)进行后项引用前项使用: sed命令替换功能
批量创建用户 test01..test10
echo test{01..10}|xargs -n1|sed -r 's#(.*)#useradd \1#g' | bash
题目1
问题:批量创建用户 test01..test10,并给每个用户设置密码信息,默认初始化密码(123456)
答:
seq -w 10 | sed -r 's#(.*)#useradd test\1;echo 123456 | passwd --stdin test\1#g'|bash
echo abc{01..10} | xargs -n1 | sed -r 's#(.*)#useradd \1;echo \1| passwd --stdin \1 #g'|bash
seq命令
以指定增量从首数开始打印数字到尾数,seq命令用于产生从某个数到另外一个数之间的所有整数。
--equal-width 在列前添加0 使得宽度相同
④括号符号:{}
可以指定字符连续匹配的次数
第一种情况: x{n,m} 表示前一个字符至少连续出现n次,最多出现m次
第二种情况: x{n} 表示前一个字符正好连续出现了n次
第三种情况: x{n,} 表示前一个字符至少连续出现n次,最多出现多少次不限
第四种情况: x{,m} 表示前一个字符至少连续出现0次,最多出现m次
⑤问号符号 ?
定义匹配前一个字符出现0或者1次
总结
*匹配前一个字符出现0次或者多次
+匹配前一个字符出现1次或者多次
{} 匹配前一个字符指定出现多少次,至少0次
? 匹配前一个字符出现0次或者1次
.* 所有