認識Linux數據重定向redirection

今天kiddd帶大家學習的是LInux的一個知識內容——redirection,重定向。瞭解重定向之前首先需要知道Linux的三種文件描述符。

輸出重定向

當我們正常執行Linux命令時,Linux命令行會將命令寫入後的輸出,寫入到標準輸出文件當中,並將輸出的結果打印到屏幕上,如:
這裏寫圖片描述
這種文件叫做標準輸出文件,它到文件描述符爲1

第二種情況呢,當我們執行錯誤的Linux命令時,Linux會將錯誤命令後的輸出寫入到文件描述符爲2標準錯誤輸出文件中,並顯示到屏幕上。

而將原本輸出在屏幕上的內容轉而輸出到其他地方——這就是重定向的一個基本的作用。

  1. 將標準輸出重定向到某個文件中
    如將ls當前目錄的輸出重定向到一個文件中,操作到方法是:

    ls >xxx.txt

    這裏寫圖片描述
    我們打開查看一下,果然,輸出到內容被重定向到了output.txt中
    這裏寫圖片描述

  2. 將標準錯誤輸出重定向到某個文件中
    標準錯誤輸出的重定向簡單地使用>操作符是行不通的,這時我們就用到了之前學習的知識——加上標準錯誤輸出文件描述符:2。

    ls XXX 2>output.txt

搞定。

  1. 將兩個文件合併成一個文件
    重定向的另一個作用即合併文件:

    xxx file1 file2 >file3


這裏寫圖片描述
(file1中有hello,file2中有world,file3爲空。重定向後file3中有字符串:hello world)
  1. 同時重定向所有輸出:

    s &>output.txt

  2. 文件存在時,>file ,清空文件。

  3. 文件不存在時,>file,新建文件。
  4. 重定向在腳本中的使用:
    !/usr/bin/env bash
    >output.txt
    for dir in /bin/usr /usr/bin
    do
    ls $dir &>output.txt
    done

輸入重定向

除了輸出重定向外,還有輸入重定向,其作用爲:

將某個從鍵盤讀取的輸入重定向到讀取某個文件。

其操作符爲:<
(與輸出重定向剛好相反)

總結

Linux命令是軟件開發者必須掌握的。重定向在日常開發中有很多衍生可以提升效率。另外進階使用及shell變成更是用處多多,更多的等待着你去探索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章