A. linux重定向中 >&2 怎麼理解
>&2 即 1>&2 也就是把結果輸出到和標准錯誤一樣;之前如果有定義標准錯誤重定向到某log文件,那麼標准輸出也重定向到這個log文件
如:ls 2>a1 >&2 (等同 ls >a1 2>&1)
把標准輸出和標准錯誤都重定向到a1,終端上看不到任何信息。
B. linux中如何重定向,怎麼把屏幕上的全部重定向到一個文件夾
重定向是>比如把df的輸出內容輸出重定向到out.x文件,df > /out.x
C. linux 執行過程和結果顯示的 重定向
dd of=/home/ltk/ddd
沒問題
執行的標准輸出用dd傳入文件是沒問題的, 其實用不著dd ,用標准輸出和錯誤重定向即可解決 。
tar -cvf - ff fff bb >/home/ltk/ddd
2>&1
然後, 如果有出錯或者正常都會被寫入 /home/ltk/ddd。
D. linux 重定向中的 &> 和 >的作用
linux重定向中&>和>&是一個意思,是「復制一個文件描述符」的意思。
一、linux重定向的設備代碼
標准輸入(stdin) 代碼為 0 ,實際映射關系:/dev/stdin -> /proc/self/fd/0
標准輸出(stdout)代碼為 1 , 實際映射關系:/dev/stdout -> /proc/self/fd/1
標准錯誤輸出(stderr)代碼為 2 ,實際映射關系: /dev/stderr ->/pro/self/fd/2
舉例:正常輸出和錯誤信息都不顯示,把標准輸出和標准錯誤都重定向到/dev/null
#ls1>/dev/null2>/dev/null
二、linux重定向的符號意義
1. > 和 < 分別代表重定向的方向,是從左到右還是從右到左
2. >> 和 << 代表追加,也就是不改變重定向目標文件原有的內容,追加在後面。
#舉例:將執行"ls-lag"命令的結果追加到文件lee.dat中
ls-lag>>lee.dat
3. >&n 使用系統調用 p (2) 復制文件描述符 n 並把結果用作標准輸出;
4. <&n 標准輸入復制自文件描述符 n;
#舉例:讓標准錯誤輸出和標准輸入一樣都被存入到文件中
find/home-namelee*>all_lee2>&1
5. n<&- 表示將 n 號輸入關閉
6. <&- 表示關閉標准輸入(鍵盤)
7. n>&- 表示將 n 號輸出關閉
8. >&- 表示將標准輸出關閉
#舉例:關閉1,2文件描述符
lstest.shtest1.sh1>&-2>&-
E. linux中的輸出重定向是什麼意思
輸出重定向則是指把原本要輸出到屏幕的數據信息寫入到指定文件中。在日常的學習和工作中,相較於輸入重定向,我們使用輸出重定向的頻率更高,所以又將輸出重定向分為了標准輸出重定向和錯誤輸出重定向兩種不同的技術,以及清空寫入與追加寫入兩種模式。聽起來就很玄妙?
標准輸出重定向(STDOUT,文件描述符為1):默認輸出到屏幕。
錯誤輸出重定向(STDERR,文件描述符為2):默認輸出到屏幕。
比如我們分別查看兩個文件的屬性信息,其中第二個文件是不存在的,雖然針對這兩個文件的操作都分別會在屏幕上輸出一些數據信息,但這兩個操作的差異其實很大:
[root@linuxprobe~]#touchlinuxprobe
[root@linuxprobe~]#ls-llinuxprobe
-rw-r--r--.1rootroot0Aug505:35linuxprobe
[root@linuxprobe~]#ls-lxxxxxx
ls:cannotaccessxxxxxx:Nosuchfileordirectory
#命令來自->http://www.linuxprobe.com/chapter-03.html#31
在上述命令中,名為linuxprobe的文件是存在的,輸出信息是該文件的一些相關許可權、所有者、所屬組、文件大小及修改時間等信息,這也是該命令的標准輸出信息。而名為xxxxxx的第二個文件是不存在的,因此在執行完ls命令之後顯示的報錯提示信息也是該命令的錯誤輸出信息。那麼,要想把原本輸出到屏幕上的數據轉而寫入到文件當中,就要區別對待這兩種輸出信息。
命令>文件將標准輸出重定向到一個文件中(清空原有文件的數據)
命令2>文件將錯誤輸出重定向到一個文件中(清空原有文件的數據)
命令>>文件將標准輸出重定向到一個文件中(追加到原有內容的後面)
命令2>>文件將錯誤輸出重定向到一個文件中(追加到原有內容的後面)
命令>>文件2>&1或命令&>>文件將標准輸出與錯誤輸出共同寫入到文件中(追加到原有內容的後面)
F. linux 重定向的意義
默認輸出是標准輸出,既你的終端窗口,可以把它重定向到一個文件中,例如
echo 「hello world」 >1.txt 或者把標准錯誤輸出重定向到錯誤日誌中,例如 echo 「wrong!」 2>error_log,或者用管道把一條指令的輸出重定向到另一條指令的輸入,常用的是,ls -l |grep "something"
G. 請解釋linux中的「重定向」的概念,由淺入深!
重定向是個操作系統的概念
它的主要含義是將原本從一個輸入輸出設備的輸入輸出操作,轉向到從另外一個輸入輸出設備進行。
例如:linux系統中sh啟動進程時會默認打開三個輸入輸出文件:標准輸入文件、標准輸出文件和標准錯誤文件(一般情況下是控制台),他們的文件句柄分別是0,1,2,
有時候你需要將進程的輸出輸出到一個文件的時候,你會這樣處理:a>file.txt(假定a是程序名稱)
那麼sh就會將默認的兩個輸出文件1和2改為:file.txt
這就叫重定向。
例如下面的sh命令:a
<fa.txt
1>fo.txt
2>fe.txt
sh就將0的輸入文件該向為:fa.txt,也就是將輸入改為從文件fa.txt
將1輸出文件重定向為:fo.txt
將2輸出文件重定向為:fe.txt
一般這些都是操作系統記得內容,基本上與開發沒有關系,你說gfortran要用重定向,我不太明白。
H. linux中,怎樣通過重定向的方法將命令在另一個終端中運行
遠程執行命令?
利用spawn和expect登錄,send發送指令就可以了。
http://blog.sina.com.cn/s/blog_5140741f01015w3j.html
可以參考下上面的鏈接
I. linux 重定向
dd if=/dev/zero of=testX bs=1G count=1 >Output 2>&1
J. linux 輸入重定向
LINUX默認輸入是鍵盤,輸出是顯示器。你可以用重定向來改變這些設置。比如用wc命令的時候本來是要手動輸入一篇文字來計算字元數的,用了重定向後可以直接把一個已經寫好的文件用『<』指向這條命令,就直接可以統計這個文件的字元數等了。輸出也是一樣,你可以把屏幕輸出重定向到一個文件里,再到文件里去看結果。