主頁 > 知識庫 > shell常用重定向?qū)嵗v解

shell常用重定向?qū)嵗v解

熱門標(biāo)簽:東莞電銷機(jī)器人價格一覽表 百度地圖的地圖標(biāo)注 旅游地圖標(biāo)注大全 佛山高德地圖標(biāo)注中心 杭州機(jī)器人外呼系統(tǒng) 地圖標(biāo)注超出范圍怎么辦 百度地圖標(biāo)注圖標(biāo)更換 陜西電銷卡外呼系統(tǒng)怎么安裝 excel地址地圖標(biāo)注

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

文件描述符是文件系統(tǒng)為了跟蹤這個打開的文件而分配給它的一個數(shù)字。

下面以實(shí)例說明

1,>的用法

復(fù)制代碼 代碼如下:

[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

這種用法我想大家都非常的熟悉,因?yàn)檫@是我經(jīng)常會用到的。echo "11111" > 1.txt 時,>前面是有一個1的,是默認(rèn)的。>重定向到文件時,會將文件清空,在寫入。

復(fù)制代碼 代碼如下:

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

上面的這個例子,可以把1.txt文件中的內(nèi)容清空,其實(shí)也很好理解,清空后,不輸入內(nèi)容當(dāng)然為空了。

2,>>的用法

復(fù)制代碼 代碼如下:

[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

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

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

復(fù)制代碼 代碼如下:

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

i>j重定向文件描述符i 到 j.指向i文件的所有輸出都發(fā)送到j(luò)中去. i和j呢是0-9這間的數(shù)字

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

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

5,n-關(guān)閉輸入文件描述符n         n>關(guān)閉輸出文件描述符n

復(fù)制代碼 代碼如下:

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

6,|管理命令

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

復(fù)制代碼 代碼如下:

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

表示tank是一個輸出,但它又是wc的輸入,不然就不會有統(tǒng)計(jì)出現(xiàn)了。

您可能感興趣的文章:
  • shell 1>&2 2>&1 &>filename重定向的含義和區(qū)別
  • Linux base shell重定向詳解
  • linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細(xì)分析
  • linux shell 管道命令(pipe)使用及與shell重定向區(qū)別
  • linux shell 腳本實(shí)現(xiàn)tcp/upd協(xié)議通訊(重定向應(yīng)用)
  • shell腳本中取消重定向的方法實(shí)例
  • Windows Powershell 管道和重定向
  • Shell腳步攻略之管道重定向基礎(chǔ)
  • Shell中重定向的深入講解

標(biāo)簽:朝陽 雅安 西藏 青島 南充 通遼 延邊 隨州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell常用重定向?qū)嵗v解》,本文關(guān)鍵詞  shell,常用,重定向,實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell常用重定向?qū)嵗v解》相關(guān)的同類信息!
  • 本頁收集關(guān)于shell常用重定向?qū)嵗v解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章