第十课 linux shell 基础知识 8.10~8.13
8.10shell特殊符_cut命令
8.11sort_wc_uniq命令
8.12tee_tr_split命令
8.13shell特殊符号{下}
shell特殊符号cut命令
特殊符号
- “*” 通配符,代表零个或多个字符
- “?” 代表一个字符
- “#” 注释字符
- “\” 脱意字符
- “|” 管道符
cut命令
- 用来截取字符串,用法为cut -d '分某字符' [-cf] n ,n是数字
- -d:后面跟分割字符,需要用单引号括起来
- -c:后面接的是第几个字符
- -f:后面接的是第几个区块
- cat passwd.bak这个文件,head只查看前两行,cut -d截取分割符号为“:”, -f 1 表示截取第一段,2表示第二段,1-3表示头三段;
sort_wc_uniq命令
sort命令
-
排序,格式为sort [-t 分隔符] [-kn1,n2] [-nru],n1和n2指的是数字,后面不加选项,则按ASCⅡ码值排序
-
-n: 以纯数字排序,而其中的字符和字母都会默认为0
-
-r :反向排序
-
-u:去重复
-
-t :分隔符
-
sort经常和uniq结合起来用
-
正常不加选项时 先排特殊符号----数字----字母-----星号排在后面
- -r反向排序
wc命令
- 用于统计文档的行数、字符数或词数
- -m:统计字符数
- -l:统计行数
- -w:统计词数,以空格或空白字符区分
-m:统计字符数
cat -A命令可以显示隐藏字符,换行符$
-w:统计词数,以空格或空白字符区分
uniq命令
- uniq用来去掉重复的行。
- 与sort命令连在一起使用,先排序再去重。
- uniq -c表示统计重复的行数(常用)
tee_tr_split命令
tee命令
- 用于管道符|后,作用类似于重定向>,还可以把写入时的文件内容显示在屏幕
- tee -a追加重定向
tr命令
- tr用于替换字符,常用于把小写字母变成大写字母,支持替换字符加[ ]
- 指定范围更换所以
- 也可以更换成数字,数字不加[ ]
split命令
- split切割 把大文件切割成多个小文件,-b可以指定文件大小,也可以指定文件名字前缀
- 除了大小还可以指定行 -l
shell特殊符号{下}
- $ 变量前缀,!$组合,正则里面表示行尾
- ;多条命令写到一行,用分号分割
- ~ 用户家目录,后面正则表达式表示匹配符
- & 放到命令后面,会把命令丢到后台
- > 正确重定向 >> 追加重定向 2> 错误重定向 2>> 错误追加重定向 &> 正确和错误输出重定向
- [ ] 指定字符中的一个,[0-9],[a-zA-Z],[abc]
- || 和 && ,用于命令之间
- ||表示或者,放在两条命令之间,如果第一命令执行不成功,那么执行第二个命令;如果第一条命令执行成功,那么不会执行第二条命令
- &&:只有前面的命令执行成功,才会执行后面的命令
- 判断aminglinux目录是否存在,命令[ -d 1122 ]
扩展
Linux特殊符号大全http://ask.apelearn.com/question/7720
sort并未按ASCII排序 http://blog.****.net/zenghui08/article/details/7938975
关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command-environment-variables.html
source exec 区别 http://alsww.blog.51cto.com/2001924/1113112