linux中?*tee|各类引号和-n-e

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 ~]# 

 

原文地址:https://www.cnblogs.com/lbg-database/p/10109983.html