管道符、重定向

管道符與重定向

管道命令符

管道命令符|」的做用是將前一個命令的標準輸出看成後後一個命令的標準輸入,格式爲命令A|命令B」。linux

 

向zhusaiwei-hbza用戶發送一封郵件:bash

[root@zhusaiwei-hbza ~]# echo "Content" | mail -s "Subject" zhusaiwei-hbza架構

輸入輸出重定向

對於輸出重定向符有這些狀況:spa

符號命令行

做用ci

命令 > 文件文檔

將標準輸出重定向到一個文件中(清空原有文件的數據)it

命令 2> 文件io

將錯誤輸出重定向到一個文件中(清空原有文件的數據)table

命令 >> 文件

將標準輸出重定向到一個文件中(追加到原有內容的後面)

命令 2>> 文件

將錯誤準輸出重定向到一個文件中(追加到原有內容的後面)

命令 >> 文件 2>$1

將標準輸出與錯誤輸出共同寫入到文件中(追加到原有內容的後面)

 

對於輸入重定向有這些狀況:

符號

做用

命令 < 文件

將文件做爲命令的標準輸入

命令 << 分界符

從標準輸入中讀入,直到碰見「分界符」才中止

命令 < 文件1 > 文件2

將文件1做爲命令的標準輸入並將標準輸出到文件2

man命令的幫助文檔寫入到/root/man.txt中:

[root@zhusaiwei-hbza ~]# man bash > /root/man.txt

readme.txt文件中寫入一行文字:

[root@zhusaiwei-hbza ~]# echo "Welcome to LinuxProbe.Com" > readme.txt

readme.txt中追加一行文字:

[root@zhusaiwei-hbza ~]# echo "Quality linux learning materials" >> readme.txt

查看readme.txt中的內容:

[root@zhusaiwei-hbza ~]# cat readme.txt

Welcome to LinuxProbe.Com

命令行通配符

Bash解釋器的支持多種文本通配符包括:

通配符

含義

*

匹配零個或多個字符。

?

匹配任意單個字符。

[0-9]

匹配範圍內的數字。

[abc]

匹配已出的任意字符。

 

查看sda開頭的全部設備文件:

[root@zhusaiwei-hbza ~]# ls /dev/sda*

/dev/sda /dev/sda1 /dev/sda2

查看sda後面有一個字符的設備文件:

[root@zhusaiwei-hbza ~]# ls /dev/sda?

/dev/sda1 /dev/sda2

查看sda後面包含0-9數字的設備文件:

[root@linuxprobe ~]# ls /dev/sda[0-9]

/dev/sda1 /dev/sda2

查看sda後面是1或3或5的設備文件:

[root@zhusaiwei-hbza ~]# ls /dev/sda[135]

/dev/sda1

 

另外bash解釋器還支持不少的特殊字符擴展:

字符

做用

\(反斜槓)

轉義後面單個字符

''(單引號)

轉義全部的字符

""(雙引號)

變量依然生效

``(反引號)

執行命令語句

定義名稱爲PRICE的變量值爲5:

[root@zhusaiwei-hbza ~]# PRICE=5

想要輸出」價格是5″:

[root@zhusaiwei-hbza ~]# echo "Price is $PRICE"

Price is 5

想要輸出」價格是$5″,但由於美圓符號與表明變量取值的$符號衝突了,因此報錯了:

[root@zhusaiwei-hbza ~]# echo "Price is $$PRICE"

Price is 3767PRICE

添加一個反斜槓,將第一個$符號轉義:

[root@zhusaiwei-hbza ~]# echo "Price is \$$PRICE"

Price is $5

使用單引號,變量將再也不被取值:

[root@zhusaiwei-hbza ~]# echo 'Price is \$$PRICE'

Price is \$$PRICE

執行uname -a後能夠查看到本機內核的版本與架構信息(反引號裏面的命令會被執行):

[root@zhusaiwei-hbza ~]# echo `uname -a`

Linux zhusaiwei-hbza.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

相關文章
相關標籤/搜索