最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux shell 中 2>&1的含義

 更新時間:2013年02月25日 14:52:12   作者:  
對于&1 更準(zhǔn)確的說應(yīng)該是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,實際上這個操作就是一個dup2(2)調(diào)用

linux shell 中"2>&1"的含義

腳本:

nohup /mnt/Nand3/H2000G  >/dev/null  2>&1  &

對于& 1 更準(zhǔn)確的說應(yīng)該是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,實際上這個操作就是一個dup2(2)調(diào)用.他標(biāo)準(zhǔn)輸出到all_result ,然后復(fù)制標(biāo)準(zhǔn)輸出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一個文件表項,也可以說錯誤的輸出被合并了.其中0 表示鍵盤輸入 1表示屏幕輸出 2表示錯誤輸出.把標(biāo)準(zhǔn)出錯重定向到標(biāo)準(zhǔn)輸出,然后扔到/DEV/NULL下面去。通俗的說,就是把所有標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)出錯都扔到垃圾桶里面。

      command >out.file  2>&1 &
      command >out.file是將command的輸出重定向到out.file文件,即輸出內(nèi)容不打印到屏幕上,而是輸出到out.file文件中。 2>&1 是將標(biāo)準(zhǔn)出錯重定向到標(biāo)準(zhǔn)輸出,這里的標(biāo)準(zhǔn)輸出已經(jīng)重定向到了out.file文件,即將標(biāo)準(zhǔn)出錯也輸出到out.file文件中。最后一個& , 是讓該命令在后臺執(zhí)行。

      試想2>1代表什么,2與>結(jié)合代表錯誤重定向,而1則代表錯誤重定向到一個文件1,而不代表標(biāo)準(zhǔn)輸出;
換成2>&1,&與1結(jié)合就代表標(biāo)準(zhǔn)輸出了,就變成錯誤重定向到標(biāo)準(zhǔn)輸出.

可以用

ls 2>1測試一下,不會報沒有2文件的錯誤,但會輸出一個空的文件1;
ls xxx 2>1測試,沒有xxx這個文件的錯誤輸出到了1中;
ls xxx 2>&1測試,不會生成1這個文件了,不過錯誤跑到標(biāo)準(zhǔn)輸出了;
ls xxx >out.txt 2>&1, 實際上可換成 ls xxx 1>out.txt 2>&1;重定向符號>默認(rèn)是1,錯誤和輸出都傳到out.txt了。
何2>&1要寫在后面?

command > file 2>&1

首先是command > file將標(biāo)準(zhǔn)輸出重定向到file中, 2>&1 是標(biāo)準(zhǔn)錯誤拷貝了標(biāo)準(zhǔn)輸出的行為,也就是同樣被重定向到file中,最終結(jié)果就是標(biāo)準(zhǔn)輸出和錯誤都被重定向到file中。
command 2>&1 >file
2>&1 標(biāo)準(zhǔn)錯誤拷貝了標(biāo)準(zhǔn)輸出的行為,但此時標(biāo)準(zhǔn)輸出還是在終端。>file 后輸出才被重定向到file,但標(biāo)準(zhǔn)錯誤仍然保持在終端。

用strace可以看到:

1. command > file 2>&1

這個命令中實現(xiàn)重定向的關(guān)鍵系統(tǒng)調(diào)用序列是:
open(file) == 3
dup2(3,1)
dup2(1,2)

2. command 2>&1 >file

這個命令中實現(xiàn)重定向的關(guān)鍵系統(tǒng)調(diào)用序列是:

dup2(1,2)
open(file) == 3
dup2(3,1)

相關(guān)文章

  • 在linux shell腳本中root切換到普通用戶執(zhí)行腳本或命令的方法

    在linux shell腳本中root切換到普通用戶執(zhí)行腳本或命令的方法

    今天小編就為大家分享一篇在linux shell腳本中root切換到普通用戶執(zhí)行腳本或命令的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • linux下非root用戶運行tomcat

    linux下非root用戶運行tomcat

    這篇文章主要介紹了linux下非root用戶運行tomcat ,需要的朋友可以參考下
    2017-12-12
  • linux多線程編程詳解教程(線程通過信號量實現(xiàn)通信代碼)

    linux多線程編程詳解教程(線程通過信號量實現(xiàn)通信代碼)

    這篇文章主要介紹了linux多線程編程詳解教程,提供線程通過信號量實現(xiàn)通信的代碼,大家參考使用吧
    2013-12-12
  • Shell編程之變量數(shù)值計算方法示例

    Shell編程之變量數(shù)值計算方法示例

    這篇文章主要給大家介紹了關(guān)于Shell編程教程之變量數(shù)值計算的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Linux基礎(chǔ)命令日常積累

    Linux基礎(chǔ)命令日常積累

    Linux命令雖然用處很多,用過這么多次但是對其步驟、命令還是不記得,每次還是要到處找資料,下面小編把本次linux生產(chǎn)環(huán)境搭建分享在腳本之家平臺,供大家參考
    2015-10-10
  • LINUX 查找tomcat日志關(guān)鍵詞命令

    LINUX 查找tomcat日志關(guān)鍵詞命令

    下面小編就為大家?guī)硪黄狶INUX 查找tomcat日志關(guān)鍵詞命令。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • linux查看已使用內(nèi)存的常用命令

    linux查看已使用內(nèi)存的常用命令

    在Linux系統(tǒng)中,我們可以使用多個命令來查看內(nèi)存使用情況,其中比較常用的命令有free、top、ps和sar,使用free命令可以查看系統(tǒng)內(nèi)存的使用情況,這些命令可以幫助我們快速了解系統(tǒng)內(nèi)存的使用情況,從而更好地進(jìn)行內(nèi)存管理和優(yōu)化,需要的朋友可以參考下
    2024-01-01
  • Linux網(wǎng)絡(luò)設(shè)置詳情

    Linux網(wǎng)絡(luò)設(shè)置詳情

    這篇文章主要介紹了Linux網(wǎng)絡(luò)設(shè)置,需要的朋友可以參考下面文章內(nèi)容
    2021-08-08
  • 詳解Linux中vi命令大全

    詳解Linux中vi命令大全

    vi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,它的強大不遜色于任何最新的文本編輯器,本文簡單給大家介紹linux中vi命令大全,感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • Linux中Shell腳本判斷文件/文件夾是否存在方法

    Linux中Shell腳本判斷文件/文件夾是否存在方法

    很多時候我們在做運維的時候,我們需要做一些自動化,這時我們就需要寫一些shell腳本,既然要用到shell腳本,就免不了文件操作,這篇文章主要給大家介紹了關(guān)于Linux中Shell腳本判斷文件/文件夾是否存在的相關(guān)資料,需要的朋友可以參考下
    2023-06-06

最新評論

元江| 丰顺县| 太仆寺旗| 海安县| 渑池县| 来安县| 营口市| 济阳县| 东光县| 轮台县| 来凤县| 涪陵区| 项城市| 新田县| 香格里拉县| 仙桃市| 湛江市| 乡城县| 颍上县| 民乐县| 长春市| 无棣县| 水富县| 嘉黎县| 光山县| 广宗县| 岚皋县| 马公市| 赫章县| 赞皇县| 贵溪市| 信阳市| 荣昌县| 海盐县| 岚皋县| 扶风县| 靖边县| 远安县| 离岛区| 南阳市| 彰化市|