10月15日任务
8.10 shell特殊符号cut命令
* 通配符,任意个任意字符
?任意一个字符 只是一个字符
# 注释字符 写命令钱前面加一个# 不生效是只起注释 解释说明
\ 脱义字符 在变量时候
a=1 b=2 c=$a$b
echo $c
12
如果要c=$a$b
可以加''单引号,也可以直接使用\取消掉意义
管道符|
与管道相关的命令
一,cut
cat 1.txt |less more wc
cat /etc/passwd |head 前十行
cat /etc/passwd |head -2
cat /etc/passwd |head -2 |cut -d '':'' -f 1取第一段
-1,2 取1,2 两段
-1-3,取前三段
-c 指定第几个字符
还有一个awk命令分割作用
8.11 sort_wc_uniq命令
sort排序 使用场景
字符串 数字 进行排序,看上去好看些
经常和uniq一起用
sort /etc/passwd
每行首字母进行排列,这就是sort的排序。按照阿斯玛进行排序
head /etc/passwd 就是直接取前十行
按照sort 特殊符号,数字 字母 继续排序
sort -n 会按照数字去排序,字母特殊符号都会被认为是0,所以他们会排在前面
sort -nr 1.txt 倒序排序
-t也是分隔符 指定第几段来排序 用不多
wc -l 1.txt 统计行数
-m 统计字符数
cat -A 2.txt 显示所有的字符数
实际上
123
abc 后面都有$ 一个换行符,所以总共是8个字符
-w 统计词
是以空格 空白符号区分的词
用的最多的是-l 统计行数
uniq 去重命令
去重的时候 一般是先去排序 再去重
所以结合起来
sort 2.txt |uniq
先排序再去重
sort 2.txt| uniq -c
先排序再去重,统计行数
8.12 tee_tr_split命令
tee命令是类似于输出重定向
sort 2.txt |uniq -c
以上的命令只对文件内容输出 再排序 没有改变命令内容
原来的>的只输出 看不到内容变卦,现在直接使用tee命令 加管道符
>a.txt 清空
内容重新定向到一个文件去,还需要打印的话 那就是用tee命令
tee -a 追加命令 和cat命令查看 联合使用
tr命令是针对替换字符的来使用
echo "aminglinux" |tr 'a' 'A'
echo ''aminglinux'' |tr '[a-z]''[A-Z]'
split 切割
大文件切割为小文件,系统里面的日志 时间长了就会变成几百G的大日志,要想查看,就要对其进行切割
ls
split -b 100M bigfile 针对大小
split -l bigfile 针对行数
如果没有M单位的话,直接是数字
那么就是将大文件切割为字节
之前有重定位 再放到一个文件夹下
可以自定义默认的x开头文件
8.13 shell特殊符号下
$变量的前缀
!$组合 正则里面表示结尾
多条命令写在一行的话,命令之间用分号 分割开来
~ 用户的家目录
一个> ,正确重定向,会把之前的文件覆盖掉
>> 追加重定向,追加的内容也是正确的输出
运行命令有输出,正确的重定向到一个地方
错误的到一个去
如果不用分正确错误,直接用&>
[ ] 指定字符中的一个
刚才的; 表示第一条运行完了 就执行第二条命令
||双竖线
表示第一条不成功,就执行第二条命令
如果第一条成功了,后面就不再执行
&&
若如果第一条成功了,那就继续后面的命令
mkdir aminglinux 目录创建
当这个目录不存在
判断一个目录存在与否
[ -d aminglinux ] || mkdir aminglinux
相关测验题目:http://ask.apelearn.com/question/5437