中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell常用重定向方法介紹

發布時間:2021-07-28 21:24:13 來源:億速云 閱讀:176 作者:chen 欄目:開發技術

這篇文章主要講解了“shell常用重定向方法介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“shell常用重定向方法介紹”吧!

每個打開的文件都會被分配一個文件描述符.stdin (鍵盤), stdout (屏幕), 和 stderr (錯誤消息輸出到屏幕上)的文件描述符分別是0, 1, 和 2. 對于正在打開的額外文件, 保留了描述符3到9.

文件描述符是文件系統為了跟蹤這個打開的文件而分配給它的一個數字。

下面以實例說明

1,>的用法

代碼如下:


[zhangy@localhost ~]$ echo "11111" > 1.txt
[zhangy@localhost ~]$ cat 1.txt
11111
[zhangy@localhost ~]$ echo "11111" 1> 1.txt    //這個用法和上面的用法是一樣
[zhangy@localhost ~]$ cat 1.txt
11111
[zhangy@localhost ~]$ echo "22222" >1.txt
[zhangy@localhost ~]$ cat 1.txt
22222

這種用法我想大家都非常的熟悉,因為這是我經常會用到的。echo "11111" > 1.txt 時,>前面是有一個1的,是默認的。>重定向到文件時,會將文件清空,在寫入。

代碼如下:


[zhangy@localhost ~]$ > 1.txt 
[zhangy@localhost ~]$ :> 1.txt 

上面的這個例子,可以把1.txt文件中的內容清空,其實也很好理解,清空后,不輸入內容當然為空了。

2,>>的用法

代碼如下:


[zhangy@localhost ~]$ echo "2222" >> 2.txt
[zhangy@localhost ~]$ cat 2.txt
2222
[zhangy@localhost ~]$ echo "2222" >> 2.txt
[zhangy@localhost ~]$ cat 2.txt
2222
2222

從上面的這個例子我們可以看出,>>重定向到文件時,會將輸出寫到文件的結尾。這一點和>完全不同的。

3,0,1,2 到9,以及&

代碼如下:


[zhangy@localhost ~]$ cat 1.txt
 333
 111
 222
 444
 [zhangy@localhost ~]$ grep "22" 0< 1.txt  //把1.txt中的內容讀取出來
 222
 [zhangy@localhost ~]$ ls tank 2>> 1.txt   //將錯誤信息放到文件的結尾
 [zhangy@localhost ~]$ cat 1.txt
 333
 111
 222
 444
 ls: tank: 沒有那個文件或目錄                 //這個就是 2>> 1.txt產生的內容
 [zhangy@localhost ~]$ (ls tank ;pwd) &>1.txt   //將錯誤信息,以及輸出內容放到1.txt文件中,&(stderr,stdout)
 [zhangy@localhost ~]$ cat 1.txt
 ls: tank: 沒有那個文件或目錄
 /home/zhangy

i>&j重定向文件描述符i 到 j.指向i文件的所有輸出都發送到j中去. i和j呢是0-9這間的數字

代碼如下:


[zhangy@localhost ~]$ ls tank 2>&1|egrep \* 1> 2.txt  //在這里我把錯誤信息重定向到了1,在這里1就會輸出錯誤,根賦值差不多
[zhangy@localhost ~]$ cat 2.txt
ls: tank: 沒有那個文件或目錄

4,<>的用法
<這個符號是讀取,>這個符號是輸出,放在一起就打開并且讀取,

代碼如下:


[zhangy@localhost ~]$ echo 123546 > 2.txt
[zhangy@localhost ~]$ exec 4<> 2.txt     //打開2.txt并將內容讀取到&4中
[zhangy@localhost ~]$ read -n 4 <&4      //從&4中讀取4個字符
[zhangy@localhost ~]$ echo -n . >&4      //在向&4寫入一個點
[zhangy@localhost ~]$ exec 4>&-          //關閉輸出文件描述符4
[zhangy@localhost ~]$ cat 2.txt
1235.6

能過上面的這個例子,就可以很清楚了解<>他的作用

5,n<&-關閉輸入文件描述符n         n>&關閉輸出文件描述符n

代碼如下:


[zhangy@localhost ~]$ ls tank          //會提示錯誤
ls: tank: 沒有那個文件或目錄
[zhangy@localhost ~]$ ls tank 2>&-     //我把錯誤關閉后,什么也不輸出了

6,|管理命令

這個命令也是我們常用的,是典型的,把一個命令的輸出,當作另一個命令的輸入

代碼如下:


[zhangy@localhost ~]$ echo tank | wc -w
 1

表示tank是一個輸出,但它又是wc的輸入,不然就不會有統計出現了。

感謝各位的閱讀,以上就是“shell常用重定向方法介紹”的內容了,經過本文的學習后,相信大家對shell常用重定向方法介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长兴县| 张家港市| 余庆县| 巴彦县| 海阳市| 开封市| 永福县| 分宜县| 吉首市| 淄博市| 北宁市| 天津市| 梅河口市| 宜宾市| 罗城| 林甸县| 宁阳县| 平武县| 皮山县| 黄大仙区| 历史| 吐鲁番市| 伊金霍洛旗| 福州市| 淳化县| 张家界市| 新密市| 托克逊县| 边坝县| 铜鼓县| 新宾| 尼玛县| 吉林市| 阿克苏市| 青田县| 大埔区| 郸城县| 新竹市| 东港市| 岑溪市| 怀来县|