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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Linux下Shell重定向

發布時間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下Shell重定向 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 標準輸入,標準輸出與標準錯誤輸出

Linux下系統打開3個文件,標準輸入,標準輸出,標準錯誤輸出。

標準輸入:從鍵盤輸入數據,即從鍵盤讀入數據。

標準輸出:把數據輸出到終端上。

標準錯誤輸出:把標準錯誤輸出到終端上。

默認的標準輸入指的是鍵盤,默認的標準輸出與標準錯誤輸出指的是屏幕或者是終端。

系統為這三個文件分配了文件標識符fd(file descripter).

在Linux系統下,一切皆是文件,對文件的操作,一般要用到文件標識符。它們的文件標識符,分別為0,1,2.

?

2. 重定向

重定向分為輸入重定向與輸出重定向。

所謂的輸入重定向即輸入不從鍵盤讀入,而是從文件輸入或其它。

所謂的輸出重定向即不輸出到終端上,而是輸出到文件中去或其它。

?

""<"表示輸入重定向運算符,">"表示輸出重定向t運算符。

"<<"這種輸入告訴Shell,當前標準輸入來自命令行的一對分隔號的中間內容。

">>",用">"輸出時,如果文件不存在會自動建立一個文件,如果第二次輸入時,會覆蓋前一次的輸入內容,而">>"表示把第二次的輸出內容追加到文件中去,而不是覆蓋。

?

3. 下面看一下幾個例子

?

(1)輸入重定向

?[root@localhost ~]# wc</etc/inittab
53 229 1666

?

wc統計行數,單詞數, 字符數

其中wc的輸入來自 /etc/inittab

?


[root@localhost ~]# wc <<aa
> 1
> 11
> 111
> aa
3 3 9

wc統計分隔符aa之間的內容。

?

(2)輸出重定向

?

?[root@localhost ~]# ps -ef >a.txt ? //把進程的信息輸出重定向到a.txt文件中去

?[root@localhost ~]# ps -ef> >a.txt //進程信息追加到a.txt的文件中去

?

?

其實,所謂的輸入輸出重定向就是不從鍵盤輸入和屏輸出。

?

?

4. Linux下輸出重定向的典型分析

?

(1) a.out > outfile 2>&1
(2) a.out 2> &1 >outfile

?

分析:

0代表標準輸入,1代表標準輸出,2代表標準錯誤輸出。其中1(即>=1>)可以省略,默認為標準輸出。

(1)首先把a.out重定向到outfile文件中去。然后把 2>&1把標準錯誤輸出重定向到標準輸出中去。此時的標準輸出已經重定向了,相當于把標準輸出與標準錯誤輸出都一起重定向到outfile中去。 &1代表的是標準輸出的文件描述符。1一般放在左邊表示標準輸出重定向到什么位置,而1放在右邊是重定向到標準輸出中,所以用&區分一下,表示標準輸出的文件描述符。2>1表示把標準錯誤重定向到文件1中去,2>&1則表示標準錯誤重定向到標準輸出中去。

(2)首先把標準錯誤輸出重定向到標準輸出中,此時標準輸出還在終端。因此標準錯誤也在終端。然后標準輸出到outfile中去了。而標準錯誤還是在終端。

?

因此,(1)表示標準輸出與標準錯誤都到outfile中去了。

?????????(2)表示標準輸出到outfile,但標準錯誤輸出仍然在終端。

?

?

ls 1>/dev/null 2>/dev/null

ls >/dev/null ?2>&1

?

/dev/null是一個垃圾箱,是一個無底洞,表示的含義為不顯示。

即標準輸出與標準錯誤輸出不顯示。

以上兩個命令表示的含義是相同的。

?

以上是關于Linux下的重定向問題,一定要深刻理解原理。

原文地址:http://blog.csdn.net/jfkidear/article/details/7823486

轉載于:https://www.cnblogs.com/lishihai/p/7986543.html

總結

以上是生活随笔為你收集整理的Linux下Shell重定向的全部內容,希望文章能夠幫你解決所遇到的問題。

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