1.通配符:?和*
? --匹配任意字符单次。
* --匹配任意字符任意次。
[root@localhost test]# rm -fr *
|
2.管道符: |
将前面命令的结果传给后面命令继续执行。即:把第一个命令的输出,当做第二个命令的输入.(只能传递标准输出 ).管道只传递正确执行信息. 管道符不能用重定向功能.
[root@localhost test]# head -15 /etc/passwd |tail -1
dbus:x:81:81:System message bus:/:/sbin/nologin
|
3.转义字符: 把后面字符的特殊效果取消掉.
[root@localhost test]# touch "a b"
[root@localhost test]# ll total 0 -rw-r--r-- 1 root root 0 Oct 1 22:05 a b 删除名为a b的文件: [root@localhost test]# rm -fr a b 或者 [root@localhost test]# rm -fr a?b |
4.tee T:一个输入,两个输出。
我们想把命令执行结果既通过管道符送给另外一个命令,又想保存一份
Tee用的是标准输出重定向功能(>):没有文件可以创建,有则会清空. [root@lbg test]# ls /etc |tee /tmp/tee.out |tr 'a-z' 'A-Z' 将ls /etc的结果输出重定向到/tmp/tee.out文件里,并将结果转换为大写输出到屏幕。 |
5.单引号、双引号、反引号、$()
''
:单引号
//强引用,无论引号中的字符串为什么,都原封不动的显示
“”:双引号 //弱引用,其中的变量会做变量替换,相当于变量值。 `` :反引号 //实现命令替换,注意是针对命令,相当于命令结果。 $() //实现命令替换,与反引号作用相同,相当于命令结果。 |
[root@lbg test]# a=123 [root@lbg test]# echo $a 123 [root@lbg test]# echo '$a' ---单引号,原封不动显示 $a [root@lbg test]# echo ''$a'' --双引号,变量替换,相当于echo 123 123 [root@lbg test]# echo `echo $a` --反引号,命令替换,相当于echo 123 123 [root@lbg test]# echo $(echo $a) --$(),命令替换,相当于echo 123 123 |
6.echo中-n/e与 选项
-n
//取消换行
-e //生效反斜线表示的逃逸字符(转移符) //制表符,-e生效 //换行,-e生效 |
[root@lbg ~]# echo -e "1 2"
1 2 [root@lbg ~]# echo -e "1 2" 1 2 [root@lbg ~]# echo -e -n "1 2" 1 2[root@lbg ~]# |