您的位置:首页 > 运维架构 > Shell

shell命令基本知识点(下)

2017-08-04 00:00 218 查看

特殊符号

* 任意个任意字符

? 任意一个字符

# 注释字符

\ 脱义字符

| 管道符

# cat /etc/passwd | head //显示passwd的前十行(默认)

# cat /etc/passwd | haed -2 //显示passwd的前两行(指定)

# cat /etc/passwd | haed -2 | cut -d ":" -f 1 //cut -d ":" 使用:分割, -f 第几段

# cat /etc/passwd | haed -2 | cut -d ":" -f 1,2 //
第一段和第二段

# cat /etc/passwd | haed -2 | cut -d ":" -f 1-3 //
第一段到第三段

sort_wc_uniq_split

cut
分割
-d 分隔符
-f 指定段号
-c 指定第几个字符

sort
排序
-n 以数字排序
-r 反序
-t 分隔符 -kn1/-kn1,n2(
-t 不经常用)

wc
-l 统计行数
-m 统计字符数(统计字符数一般末尾还有$符号用
#cat -A 1.txt 查看)
-w 统计单词

uniq
去重
-c统计行数

tee 和
>
重定向)类似,重定向的同时还在屏幕显示,
-a
追加重定向

tr
替换字符,tr 'a' 'b',大小写替换tr '[a-z]' '[A-Z]'

split
切割
-b大小(默认单位字节),
-l 行数

# sort 2.txt |uniq -c |tee a.txt //
对2.txt排训和去重后 重定向给a.txt

# > a.txt //代表清空a.txt (很实用)

# echo "aminglinux" | tr 'a' 'A' //更换a到大写的A

# echo "aminglinux" | tr '[a-z]' '[A-Z]' //更换小写到大写

有时在运维的时候,有些日志长时间没有去管理,最后变成了500G,要是想要查看一下不是太容易,我们需要切割一下然后去一段段的查看:

# split
-b 100M filename //filename按照一份100M去切割(不加单位,默认是bite字节)

# split

3ff0
-l
1000 filename //filename按照1000行一份去切割

# split -b 100K filename
aaa //指定切割名字使用aaa开头

[ ] 指定字符中的
一个,[0-9],[a-zA-Z],[abc] //非常重要,指其中的
一个字符

# ls a.txt || wc -l 2.txt
|| 的意思是前面一条命令执行
不成功,才会执行第二条;

# ls 111 && cat 2.txt
&& 的意思是前面一条命令执行
成功,才会执行后面的命令;

例子:

判断一个目录中是否有此目录,如果没有就创建,如果有就不创建!

# [ -d dir1 ] || mkdir dir1 //如果此目录中有dir1目录就不创建,没有就创建一个!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell基础