众所周知,shell脚本是绝大多数linux高手的拿手活。在shell脚本中,通配符和重定向的使用很普遍。通配符的作用是使用一种表达式将所有符合的字符串表示出来。而重定向的作用是将运行命令后显示的内容输入输出重定向到另外一个文件或命令中。
1、通配符
- [root@server01test]#ls
- 10.txt1.txt2.txt3.txt4.txta.txtb.txtc.txtd.txtefg
- [root@server01test]#ls*.txt##“*”表示匹配所有字符
- 10.txt1.txt2.txt3.txt4.txta.txtb.txtc.txtd.txt
- [root@server01test]#ls?.txt##“?”表示匹配单个字符
- 1.txt2.txt3.txt4.txta.txtb.txtc.txtd.txt
- [root@server01test]#ls[0-9].txt##“[]”表示匹配括号内的单个字符
- 1.txt2.txt3.txt4.txt
- [root@server01test]#ls{1,2}.txt##“{}”表示匹配花括号内的字符
- 1.txt2.txt
2、重定向
- [root@server01test]#cat1.txt
- Thisisfrom1.TXT
- [root@server01test]#cat1.txt>a.txt##输出重定向
- [root@server01test]#cata.txt
- Thisisfrom1.TXT
- [root@server01test]#cat1.txt>>a.txt##输出追加重定向
- [root@server01test]#cata.txt
- Thisisfrom1.TXT
- Thisisfrom1.TXT
- [root@server01test]#lsaaa.txt2>b.txt##输出错误重定向
- [root@server01test]#catb.txt
- ls:无法访问aaa.txt:没有那个文件或目录
- [root@server01test]#lsaaa.txt2>>b.txt##输出错误追加重定向
- [root@server01test]#catb.txt
- ls:无法访问aaa.txt:没有那个文件或目录
- ls:无法访问aaa.txt:没有那个文件或目录
- [root@server01test]#wc-l<b.txt##输入重定向
- 2
- [root@server01test]#ls[12].txtabc.txt>c.txt2>d.txt#组合使用
- [root@server01test]#catc.txt
- 1.txt
- 2.txt
- [root@server01test]#catd.txt
- ls:无法访问abc.txt:没有那个文件或目录
- [root@server01test]#ls[12].txtabc.txt&>4.txt##无论正确错误都输出
- [root@server01test]#cat4.txt
- ls:无法访问abc.txt:没有那个文件或目录
- 1.txt
- 2.txt