重定向以及管道

描述I/O設備的重定向

?????? I/O重定向與管道

一個程序最基礎的部分就是輸入數據,通過指令對其進行加工,輸出出一個結果。在這個過程中,我們輸入的數據(Input)和我們輸出的數據(Output)合稱為I/O設備。通常數據輸入來自于我們的鍵盤和鼠標,即人為的輸入。我們稱這個輸入叫做標準輸入(STDIN)–0;而輸出到終端端口的正確結果我們叫做標準輸出(STOUT)–1;輸出的錯誤結果叫做標準錯誤(STERR)–2。I/O重定向的意思就是改變默認的輸入輸出方式,即重新定義輸入的方式,使標準輸入不僅僅來自鍵盤,也可以來自上一個命令的標準輸出等。

?????? 把標準輸出和錯誤輸出重定向到文件

改變文件的輸出位置,將其輸出到指定文件中,其中包括標準輸出和標準錯誤。對于標準輸出我們可以通過 ” >? ”來重定向(原文件可不存在),對于標準錯誤通過” 2> ” 來重定向。具體操作格式為:

命令 操作符號 文件名

通過某些命令產生新的輸出,通過操作符號將其輸入到文件中(而不是默認的輸出到屏幕中)

也可以通過符號”&>和2>&1″將兩種輸出重定向到同一文件。若目標文件中有數據,符號”>”將清空原有數據并覆蓋。可使用符號”>>”追加到目標文件,標準錯誤同理。

????? 從文件中導入標準輸入

從文件中導入標準輸入,不在通過人為的敲打字符,我們稱之為輸入重定向,通過符號”<“實現??赏ㄟ^輸入重定向將需要的數據通過命令來輸入。具體操作格式:

命令? 操作符號 文件名

通過某些命令來改變文件的數據使其作為標準輸入。(例如tr命令)

?????? tr命令

tr?? [optins]??? [set1] [set2]

tr命令可刪除或轉換字符(將第一字符集set1的內容轉換為set2),通過tr命令我們可以修改文本后將其作為標準輸入。例如tr? ‘a-z’? ‘A-Z’就是將指定文本的小寫字母轉換為大寫字母。tr命令也可預定義字符集,即tr? ‘[:lower:]’? ‘[:upper:]’

常用的選項

-c :取字符集的補集

-s:將連續重復的字符轉換為一個字符

-d:刪除字符集里面的字符

-t:將第一字符集的內容轉換成第二字符集的內容

????? 單行重定向與多行重定向

使用單行重定向時,在某些交互式重定向中(如’cat? >? file’),輸入文本后需要Ctrl+d退出,而且輸出的是純文本,并不能識別命令。多行重定向可以改變這些缺陷,多行重定向就是在文本開始時設置終符’>>EOF'(此時EOF為終止符)只有輸入終止符才算結束輸出,而且多行重定向中可識別命令,使重定向的文本內容更加靈活。

管道

管道技術就是使用符號”|”將多個命令鏈接在一起,使前一個命令的標本輸出作為后面命令的標準輸入。例如cmd1|cmd2|cmd3中,首先將cmd1的標準輸出作為cmd2的標準輸入,再將其標準輸出作為cmd3的標準輸入,以此類推。管道技術默認不可轉換標準錯誤,我們可以通過”2>&1和|&”將其轉換。

我們也可以在管道中使用tee命令將輸出重定向到多個目標。即在管道中加入”tee -a file”,這樣我們就可以在管道的中間查看和記錄不同階段的輸出,便于在出現問題時排除故障。

 

 

 

 

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88644

(0)
yoyiccccyoyicccc
上一篇 2017-11-19
下一篇 2017-11-19

相關推薦

  • 硬盤分區及掛載

    標簽:文件系統、分區、掛載 一、Linux的基本原則    1、一切皆文件(包括硬件);這個原則會會在很多方面得到體現; 磁盤在Linux中也表現為文件,即/dev目錄下:IDE,ATA:/dev/hd[a-z]    SATA,SCSI,USB,SAS:sd[a-z]。    &nbsp…

    Linux干貨 2015-05-18
  • linux-系統自動化安裝

    一、安裝程序及配置 CentOS 系統安裝 系統啟動流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系統安裝程序 tui:  基于圖形庫curses 的文本 窗口 gui :圖形窗口 安裝程序啟動過程 MB…

    Linux干貨 2016-09-26
  • 運維自動化之系統安裝

    自動化安裝系統,cobbler的安裝使用

    Linux干貨 2018-01-15
  • linux基礎

    1.計算機的組成及其功能。 計算機的主要組成部分可以歸納為以下五個部分:控制器、運算器、存儲器、輸入設備、和輸出設備。 控制器 是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。 運算器 運算器的功能是對數據進行各種算術運算…

    Linux干貨 2016-08-15
  • Linux簡介,計算機基礎

    計算機系統   計算機系統分為:  硬件(Hardware)系統和軟件(Software)系統  硬件系統:    主機、外部設備  軟件系統:  系統軟件、應用軟件  主機:  中面處理器CPU、內存儲器  外部設備:  外部存儲器、輸入…

    Linux干貨 2017-02-14
  • 8.5_Linux習題練習和作業

    課堂練習題 1、找出ifconfig命令結果中本機的所有IPv4地址 # ifconfig | grep -oE "([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|2…

    Linux干貨 2016-08-10
欧美性久久久久