導航:首頁 > 編程系統 > linux標准輸入

linux標准輸入

發布時間:2023-06-05 04:05:29

linux輸出·輸入文件和標准輸入 標准輸出是什麼意思啊

Unix/Linux/BSD 都有三個特別文件,分別
1)標准輸入 即 STDIN , 在 /dev/stdin ,
一般指鍵盤輸入, shell里代號是 0
2) 標准輸出 STDOUT, 在 /dev/stdout,
一般指終端(terminal), 就是顯示器, shell里代號是 1
3) 標准錯誤 STDERR, 在 /dev/stderr
也是指終端(terminal), 不同的是, 錯誤信息送到這里
shell里代號是 2

2, 3用些例子再表達一下

User@User-PC ~
$ ls /dev/stdin
/dev/stdin@

User@User-PC ~
$ ls -l /dev/std*
lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stdout -> /proc/self/fd/1

就是這些東西了,呵呵

User@User-PC ~
$ ls 1> log1.txt

User@User-PC ~
$ cat log1.txt
Mail/
News/
a.txt
aa*
awkscr
b.txt
bb*
bin/
cc
cgitest.rex*
dd*
irc-sh*
junk
lib/
log1.txt
lynx.cfg
matrix/
perlscr*
pp*
rexx_script/
rrr
testawk
tmp/
trash

將標准輸出導向到文件, 縮寫就是 ls > log1.txt

User@User-PC ~
$ ls llll 1> log2.txt
ls: 無法存取 llll: No such file or directory

再次執行,但這次沒有這個文件llll, 出現錯誤訊息

User@User-PC ~
$ cat log2.txt

User@User-PC ~
$ file log2.txt
log2.txt: empty

輸出沒有導向到文件,文件是空文件

User@User-PC ~
$ ls llll 2> log2.txt

User@User-PC ~
$ cat log2.txt
ls: 無法存取 llll: No such file or directory

User@User-PC ~
$

再次執行剛才的命令,只是將 1> log2.txt 改為 2> log2.txt
這次就成功把錯誤訊息導向至文件了,呵呵,
就是這樣
所以,將標准輸出和標准錯誤 一同導向到一個文件里,就得這樣表達

命令 2>&1 > 檔案, 如
User@User-PC ~
$ echo 123 | if grep -E '[0-9]+' 2>&1 > /dev/null ; then echo "This is number."; fi
This is number.

grep 標准輸出和標准錯誤 都導向到系統『黑洞』,不會再屏幕上顯示什麼
, 明白了吧? 呵呵

❷ Linux中,標准輸入輸出設備文件有個,文件名分別是

Linux中有以下三個標准設備:
標准輸入(stdin)、標准輸出(stdout)、標准錯誤輸出(stderr)
對應的文件描述符分別為:0、1、2

❸ Linux標准輸入輸出與重定向詳解|果斷收藏

linux中的>、>>、<、<<、2>、2>>、2>&1、&>、&<,總歸要面對的

為了更好的理解這個問題,我們需要追本溯源。

執行一個shell命令行時通常會自動打開三個標准文件

(1) 、標准輸入文件(stdin)

通常對應終端的鍵盤。

(2)、標准輸出文件(stdout)。

(3)、標准錯誤輸出文件(stderr)。

(2)和(3)這兩個文件都對應終端的屏幕。

進程將從標准輸入文件中得到輸入數據。

將正常輸出數據輸出到標准輸出文件[顯示器]。

將錯誤信息送到標准錯誤文件中[顯示器]。

下圖所示:

0、1、2表示一個文件描述符

但是,有時候我們不想把一些進程處理後信息輸出到顯示器。

這時我們就引出了重定向。

改變標准輸入/輸出的方向

三種重定向:

1、重定向標准輸出,包括兩種。

(1)、>(覆蓋),等價1>

將命令執行的結果輸出到指定文件,非顯示器。

(2) 、>>(追加),等價1>>

將命令執行的結果追加到指定文件,非顯示器。

2、 重定向標准輸入,包括兩種。

(1) 、<

將命令中接收的輸入途徑,由鍵盤改為指定文件。

(2) 、<<[Here Document]

命令序列傳遞到一個交互程序或者命令中。

3、 重定向標准錯誤,包括兩種。

(1) 、2>(覆蓋)

將命令執行的結果輸出到指定文件。

(2) 、2>>(追加)

將命令執行的結果追加到指定文件。

1、重定向標准輸出和重定向標准錯誤到同一個文件中

有以下的幾種方式

(1) 、2>&1

(2) 、>&

(3) 、&>

2、 兩個特殊文件

(1) 、/dev/nul

過濾標准錯誤信息

意思就是不想顯示結果就輸出到這裡面。

(2) 、/dev/zero

創建指定長度的文件

案例1:

測試> and >>

案例2:

測試< and <<

測試<

測試<<

案例3:

測試2> and 2>>

案例4:

測試重定向標准輸出和重定向標准錯誤到同一個文件中

(1)、>&

(2)、&>

與上面的案例類似,不做解釋

(3) 、2>&1

案例5:

使用/dev/nul文件

有時候我們使用命令,不想將輸出的信息顯示到界面

這時我們可以使用 &> /dev/nul[常用]

簡單測試修改demo 用戶密碼

❹ linux中的標准輸入輸出

linux中的列印意思是顯示在什麼地方,一般使用 echo ,print 都可以如果是輸出到列印機, linux列印是由一個列印服務來完成列印的。你可以把列印任務添加到

❺ linux 輸入重定向符是()。

先說明一下標准輸入輸出。

標准輸入:stdin,文件描述符版為權0

標准輸出:stdout,文件描述符為1

標准錯誤:stderr,文件描述符為2

  1. 輸入重定向符<

從標准輸入重定向到其它地方,例如文件。這個重定向意思就是改變輸入源,不從鍵盤上讀取輸入,而從文件或者其它地方讀取。

例子:

閱讀全文

與linux標准輸入相關的資料

熱點內容
ios映像文件通常保存在哪裡 瀏覽:991
js關閉頁面前提示 瀏覽:147
彩視製作教程 瀏覽:766
聖墟在哪個App看免費 瀏覽:395
網路哪些不能玩 瀏覽:868
probe315使用教程 瀏覽:646
數字電位器程序 瀏覽:198
c代碼整理 瀏覽:104
網路營銷具有什麼優勢 瀏覽:378
右下角網路連接不顯示寬頻連接 瀏覽:940
ps修改tif文件 瀏覽:580
預防醫學如何轉行做大數據 瀏覽:234
pdf文件變藍 瀏覽:309
怎麼在pdf文件上面用k寶簽名 瀏覽:213
如何知道表格里數據後面有空格 瀏覽:720
gee引擎更新系統找不到指定文件 瀏覽:802
貝殼網的數據刪除了如何找回 瀏覽:509
華為榮耀6x怎麼切換網路 瀏覽:418
手機里的pdf文件在哪放 瀏覽:889
java版貪吃蛇畢業論文 瀏覽:989

友情鏈接