Linux shell基础知识
8.10 shell特殊符_cut命令
- *表示匹配任意个任意字符
- ?表示匹配任意一个字符
- # 表示注释字符(在配置文件或写命令的时候,前面加上# 则命令或者配置文件不会生效,在shell脚本中,行首带#的不会生效,可以添加注释说明的文字)
- \ 表示托意字符 和单引号效果差不多
| 管道符 表示将前一个指令的输出作为后一个指令的输入
和管道相关的命令
1.cut 命令作用截取字符串
-d 选项指定分割符号
-f 指定截取的范围
-c 指定第几个字符 (不可与-f 、-d选项同用)
2.sort 的作用是排序 默认使用ASCII码排序
2.1 sort -n 表示使用纯数字排序 其他特殊符号或者字母都被视为0 数字位数少的排前面 同位数的按大小
2.2 -r 反向排序
2.3 -t 后面跟分隔符号,作用跟cut -d 选项一样
2.4 -kn1 ,n2 表示由n1区间排序到n2区间,可以只写-kn1 ,即对n1字段排序
3.wc -l 用于统计文档的行数
3.1wc-m 统计字符数
3.2 cat -A 可以查看文档所有内容 包括换行符
3.3 wc -w 统计词数 去空格或者空白来区分
3.4 wc 不跟任何选项,直接跟文档,则会把行数、词数和字符数依次列出
4.uniq命令用来删除重复的行,在使用前,必须先给文件排序,否则不管用
4.1 uniq -c 表示统计重复的行数
5 . tee命令后面跟文件名,作用类似于重定向> ,但它比重定向多一个功能,就是把文件写入后面所跟的文件,还打印出来。常用在管道符|后面
5.1 清空文件内容 可以使用>跟文件名
5.2 tee -a 表示追加 类似 >>
6 . tr 命令用来替换字符的,针对字符来操作的。
-
split命令用来切割文档 默认是字节为单位
split -b 100M 表示依据每100M大小来分割
split -l 1000 表示每1000行来进行分割如果split不指定目标文件名 则会以xaa,xab ..这样的文件名来存取切割后的文件
8.13 shell特殊符号(下)
1. $ 变量前缀
2 . ! $$组合,正则表达式里面表示行尾
3 . ;多条命令写到一行,用分号分割
4 . ~ 用户家目录 ,在正则表达式里面表示匹配符
5 . & 放在命名后面,会把命令丢到后台去
6 . > 正确重定向 会把之前的文件覆盖掉
追加重定向 ,输出也是正确的输出
2>错误重定向
2>> 错误追加
&> 正确和错误输出的重定向
7 . [ ] 指定字符中的一个 ,[0-9] , [abc]
8 . || 在shell中表示或者的意思 当同时执行2条命令时 ,第一条命令执行不成功才会执行第二条命令 。
如果需要第一条命令执行成功后再执行第二条命令时 可使用 &&
-
[ -d aminglinux ] 表示判断是否存在aminglunx目录
因为系统中并无aminglinux目录 所以才会去执行创建aminglinux目录
这里系统中存在aminglinux目录 所以就不会再去执行创建aminglinux目录了