日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux bash中I/O重定向及管道

發布時間:2025/7/14 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux bash中I/O重定向及管道 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????我們知道,在Linux中一切皆文件。這就意味著,任何一個設備在系統中都有一個文件與之對應。因此我們就可以通過文件來訪問設備。對于用戶來講,訪問文件就是通過文件名來進行的,用戶看到就是一個文件名,但對于內核來說,看到的只能是數字,這個數字就叫做文件描述符,內核就是通過利用文件描述符fd(file descriptor)來訪問文件。打開現存文件或者新建文件時,內核會返回一個文件描述符。讀寫文件也需要使用文件描述符來指定待讀寫的文件。

????在Linux系統中,默認有三種標準輸入輸出情況

????標準輸入:鍵盤,0

????標準輸出:顯示器,1

????標準錯誤輸出:顯示器,2

????

????但是如果我們不想實現標準的輸入輸出怎么辦,因此我們可以利用I/O重定向這種機制來實現改變標準位置。下面來說下I/O重定向的具體用法:

????

IO重定向:


輸出重定向:>

特性:覆蓋輸出

輸出重定向:>>

特性:追加輸出


# set -C

禁止覆蓋輸出重定向至已存在的文件;

此時可使用強制輸出覆蓋:>

# set +C

關閉上述特性


錯誤輸出流重定向:2>,2>>


合并正常輸出流和錯誤輸出流:

(1) &>,&>>

(2) COMMAND > /path/to/somefile 2>&1

COMMAND >> /path/to/somefile 2>&1



特殊設備:/dev/null


輸入重定向:<


tr命令:

tr [OPTION]... SET1 [SET2]

把輸入的數據當中的字符,凡是在SET1定義范圍內出現的,統統對位轉換成SET2出現的字符;


用法1:

tr SET1 SET2 < /PATH/FROM/SOMELIFE

用法2:

tr SET1 -d < /PATH/FROM/SOMELIFE


注意:不修改原文件


Here Document: <<


cat << EOF

cat >/PATH/TO/SOMELIFE << EOF


管道:連接程序,實現將前一個命令的輸出直接定向后一個程序當做輸入數據流;

COMMAND1 | COMMOND2 | COMMAND3 |...

????????????????????????????STDERR默認不能通過管道轉發,可利用2>&1 或|& 實現

最后一個命令會在當前shell進程的子shell進程中執行用來

tee命令:

COMMAND | tee /PATH/TO/SOMELIFE


練習題:

1、將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中


2、將當前系統登錄用戶的信息轉換為大寫后保存至/tmp/who.out文件中


3、一個linux用戶給root發郵件,要求郵件標題為”help”,郵件正文如下:

Hello, I am 用戶名,the system version is here,pleasehelp me to check it ,thanks!

操作系統版本信息


4、將/root/下文件列表,顯示成一行,并文件名之間用空格隔開


5、file1文件的內容為:”1 2 3 4 5 6 7 8 9 10” 計算出所有數字的總和



6、處理字符串“xt.,l 1 jr#!$mn2 c*/fe3 uz4”,只保留其中的數字和空格

7、將PATH變量每個目錄顯示在獨立的一行

8、刪除指定文件的空行

9、將文件中每個單詞(字母)顯示在獨立的一行,并無空行

轉載于:https://blog.51cto.com/11808474/1832037

總結

以上是生活随笔為你收集整理的Linux bash中I/O重定向及管道的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。