Linux輸入輸出重定向詳細(xì)使用說明
1、Linux標(biāo)準(zhǔn)輸入輸出
Linux標(biāo)準(zhǔn)輸入、輸出設(shè)備主要是鍵盤和顯示器,詳細(xì)介紹如下表所示。
| Linux標(biāo)準(zhǔn)輸入輸出 | |||||
| 設(shè)備 | 設(shè)備文件名 | 文件描述符 | 類型 | 符號表示 | |
| 鍵盤 | /dev/stdin | 0(缺省是鍵盤,為0時是文件或者其他命令的輸出) | 標(biāo)準(zhǔn)輸入 | < | << |
| 顯示器 | /dev/stdout | 1(缺省是屏幕,為1時是文件) | 標(biāo)準(zhǔn)輸出 | > | >> |
| 顯示器 | /dev/stderr | 2(缺省是屏幕,為2時是文件) | 標(biāo)準(zhǔn)錯誤輸出 | 2> | 2>> |
注:其中一個>表示:覆蓋原文件中的內(nèi)容;如果文件不存在,就創(chuàng)建文件;如果文件存在,就將其清空;一般我們備份清理日志文件的時候
兩個>即>>表示:追加到原文件中的內(nèi)容之后;果文件不存在,就創(chuàng)建文件;如果文件存在,則將新的內(nèi)容追加到那個文件的末尾,該文件中的原有內(nèi)容不受影響
2、Linux輸出重定向
輸出重定向:改變程序運(yùn)行的輸入來源和輸出地點(diǎn)。
主要的適用方法如下表所示:
| 輸出重定向 | ||
| 類型 | 符號 | 功能 |
| 標(biāo)準(zhǔn)輸出重定向 | 命令 >文件 | 以覆蓋方式,把命令的正確輸出內(nèi)容輸出到指定的文件或設(shè)備當(dāng)中 |
| 命令 >>文件 | 以追加方式,把命令的正確輸出內(nèi)容輸出到指定的文件或設(shè)備當(dāng)中 | |
| 標(biāo)準(zhǔn)錯誤輸出重定向 | 錯誤命令 2>文件 | 以覆蓋方式,把命令的錯誤輸出內(nèi)容輸出到指定的文件或設(shè)備當(dāng)中 |
| 錯誤命令 2>>文件 | 以追加方式,把命令的錯誤輸出內(nèi)容輸出到指定的文件或設(shè)備當(dāng)中 | |
| 正確/錯誤輸出同時保存 | 命令 > 文件 2>&1 | 以覆蓋方式,把命令的正確輸出和錯誤輸出內(nèi)容保存到同一個文件當(dāng)中 |
| 命令 >> 文件 2>&1 | 以追加方式,把命令的正確輸出和錯誤輸出內(nèi)容保存到同一個文件當(dāng)中 | |
| 命令 &> 文件 | 以覆蓋方式,把命令的正確輸出和錯誤輸出內(nèi)容保存到同一個文件當(dāng)中 | |
| 命令 &>> 文件 | 以追加方式,把命令的正確輸出和錯誤輸出內(nèi)容保存到同一個文件當(dāng)中 | |
| 命令 >>文件1 2>文件2 | 以追加方式,把命令的正確輸出保存在文件1中;以覆蓋方式,把命令的錯誤輸出內(nèi)容保存到文件2中 | |
3、Linux輸入重定向
| 輸入重定向 | ||
| 類型 | 符號 | 功能 |
| 標(biāo)準(zhǔn)輸入 | 命令 <文件1 | 命令把文件1的內(nèi)容作為標(biāo)準(zhǔn)輸入 |
| 標(biāo)識符限定輸入 | 命令 <<標(biāo)識符 | 命令從標(biāo)準(zhǔn)輸入中讀入內(nèi)容,直到遇到“標(biāo)識符”分界符位置 |
| 輸入輸出重定向 | 命令 <文件1 >文件2 | 命令把文件1的內(nèi)容作為標(biāo)準(zhǔn)輸入,把文件2作為標(biāo)準(zhǔn)輸出 |
總結(jié)一五Linux的輸入輸出重定向:
1、重新設(shè)置命令的默認(rèn)輸入,輸出,指向到自己文件(文件,文件描述符,設(shè)備其實(shí)都是文件,因?yàn)閘inux就是基于設(shè)備也是文件,描述符也指向是文件)
2、擴(kuò)展自己新的描述符,對文件進(jìn)行讀寫操作
相關(guān)文章
Linux命令學(xué)習(xí)總結(jié):詳解reboot命令
這篇文章主要介紹了Linux命令學(xué)習(xí)總結(jié):詳解reboot命令,這個指令使用起來非常簡單,有興趣的可以了解一下。2016-11-11
centos7安裝mysql并jdbc測試實(shí)例詳解
這篇文章主要介紹了centos7安裝mysql并jdbc測試實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02
Linux使用traceroute來進(jìn)行網(wǎng)絡(luò)診斷分析
在Linux系統(tǒng)下,traceroute是一個網(wǎng)絡(luò)診斷工具,用于追蹤一個數(shù)據(jù)包從源點(diǎn)到目的地所經(jīng)過的路由路徑,它通過向目的地發(fā)送一系列的 UDP 或 ICMP 數(shù)據(jù)包,并記錄每個數(shù)據(jù)包所經(jīng)過的路由器,來顯示數(shù)據(jù)包到達(dá)目的地的路徑,本文介紹了Linux如何使用traceroute來進(jìn)行網(wǎng)絡(luò)診斷分析2025-03-03
Git 刪除遠(yuǎn)程服務(wù)器文件同時保留本地文件實(shí)例詳解
這篇文章主要介紹了Git 刪除遠(yuǎn)程服務(wù)器文件同時保留本地文件實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
Linux移動文件與目錄-mv命令的10個實(shí)用例子
在Linux中很重要也很基礎(chǔ)的一個命令就是mv移動或重命名文件與目錄命令。當(dāng)你想要將文件從一個位置移動到另一個地方并且不想復(fù)制它,那么mv 命令是完成這個任務(wù)的首選。下面這篇文章給大家詳細(xì)介紹了使用mv命令的10個實(shí)用例子,有需要的朋友們可以參考借鑒。2017-01-01

