码迷,mamicode.com
首页 > 系统相关 > 详细

shell特殊字符

时间:2018-01-13 00:21:08      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:用户家目录   ffffff   ted   pass   特殊符号   分享   前缀   lin   inux   

特殊符号

  • 通配符,任意个字符
    ? 任意个字符
    .#注释字符
    \ 脱义字符
    技术分享图片

    | 管道

几个和管道有关的命令
cut 选取信息,针对行进行分析
主要参数
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。
技术分享图片

sort 排序,默认以ASC码排序

[root@aminglinux01 ~]# sort /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync

sort -r 倒序

wc 统计

-l 统计行数 -m 统计字符数 -w 统计词
[root@aminglinux01 ~]# wc -l 1.txt
29 1.txt
[root@aminglinux01 ~]# wc -m 1.txt
468 1.txt
[root@aminglinux01 ~]# wc -w 1.txt
27 1.txt

uniq 排序 -c 去重
[root@aminglinux01 ~]# sort 2.txt
1
1
1
123
123
2
2
2
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
3
abc
abc 1111,222
[root@aminglinux01 ~]# sort 2.txt | uniq
1
123
2
21
3
abc
abc 1111,222

[root@aminglinux01 ~]# sort 2.txt | uniq -c
3 1
2 123
3 2
21 21
1 3
1 abc
1 abc 1111,222

tee和 >输出重定向类似

[root@aminglinux01 ~]# >a.txt #清空a.txt内容
[root@aminglinux01 ~]# cat a.txt #查看
[root@aminglinux01 ~]# sort 2.txt | uniq -c | tee a.txt #重定向并显示
3 1
2 123
3 2
21 21
1 3
1 abc
1 abc 1111,222
[root@aminglinux01 ~]# cat a.txt
3 1
2 123
3 2
21 21
1 3
1 abc
1 abc 1111,222

[root@aminglinux01 ~]# sort 2.txt | uniq -c | tee -a a.txt #追加
3 1
2 123
3 2
21 21
1 3
1 abc
1 abc 1111,222
[root@aminglinux01 ~]# cat a.txt #查看内容
2 123
3 2
21 21
1 3
1 abc
1 abc 1111,222
3 1
2 123
3 2
21 21
1 3
1 abc
1 abc 1111,222

tr 替换字符

[root@aminglinux01 ~]# echo "aminglinux" |tr ‘[al]‘ ‘[AL]‘
AmingLinux
[root@aminglinux01 ~]# echo "aminglinux" |tr ‘a‘ ‘A‘
Aminglinux

split 切割

[root@aminglinux01 test]# split -b 100k a.txt
[root@aminglinux01 test]# ls
a.txt xaa xab
[root@aminglinux01 test]# du -sh
128K a.txt
100K xaa
28K xab
[root@aminglinux01 test]# split -b 100k a.txt abc. #指定大小
[root@aminglinux01 test]# ls
abc.aa abc.ab a.txt
[root@aminglinux01 test]# split -l 1000 a.txt #指定行
[root@aminglinux01 test]# ls -l
总用量 260
-rw-r--r--. 1 root root 129633 1月 13 07:31 a.txt
-rw-r--r--. 1 root root 41537 1月 13 07:32 xaa
-rw-r--r--. 1 root root 35466 1月 13 07:32 xab
-rw-r--r--. 1 root root 36841 1月 13 07:32 xac
-rw-r--r--. 1 root root 15789 1月 13 07:32 xad
[root@aminglinux01 test]# wc -l

3549 a.txt
1000 xaa
1000 xab
1000 xac
549 xad
7098 总用量

特殊符号

$变量前缀
!$组合,正则里面表示行尾
;多行命令写到一行,用;分割
~用户家目录,正则表达式表示匹配符
&放在命令后,会把命令挂起在后台

>> 2> 2>> &>
[] 指定字符的一个,[0-9][a-z][A-Z]

||和&& 用于命令中间的逻辑关系

[root@aminglinux01 ~]# ls 1.txt ;wc -l 2.txt
1.txt
32 2.txt
[root@aminglinux01 ~]# ls 1.txt || wc -l 2.txt
1.txt
当前面命令成功,不执行后面的命令
[root@aminglinux01 ~]# ls 1.txt && wc -l 2.txt
1.txt
32 2.txt
[root@aminglinux01 ~]# ls 1a.txt && wc -l 2.txt
ls: 无法访问1a.txt: 没有那个文件或目录
当前面的命令不成功,不执行后面的命令

[root@aminglinux01 ~]# [ -d aminglinux ] || mkdir aminglinux
如果aminglinux 目录不存在,就创建aminglinux目录
[-d n]固定格式
[root@aminglinux01 ~]# ls
1.txt 2.txt 3.txt aaaa.txt aminglinux anaconda-ks.cfg a.txt; :q test

[root@aminglinux01 ~]# [ -d aminglinux ] && mkdir aminglinux
mkdir: 无法创建目录"aminglinux": 文件已存在
[root@aminglinux01 ~]# [ -d aminglinux ] || mkdir aminglinux

shell特殊字符

标签:用户家目录   ffffff   ted   pass   特殊符号   分享   前缀   lin   inux   

原文地址:http://blog.51cto.com/13528516/2060452

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!