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

linux shell 中 2>&1的含義

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

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

腳本:

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

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

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

      試想2>1代表什么,2與>結合代表錯誤重定向,而1則代表錯誤重定向到一個文件1,而不代表標準輸出;
換成2>&1,&與1結合就代表標準輸出了,就變成錯誤重定向到標準輸出.

可以用

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

command > file 2>&1

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

用strace可以看到:

1. command > file 2>&1

這個命令中實現重定向的關鍵系統調用序列是:
open(file) == 3
dup2(3,1)
dup2(1,2)

2. command 2>&1 >file

這個命令中實現重定向的關鍵系統調用序列是:

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

相關文章

  • 在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多線程編程詳解教程(線程通過信號量實現通信代碼)

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

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

    Shell編程之變量數值計算方法示例

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

    Linux基礎命令日常積累

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

    LINUX 查找tomcat日志關鍵詞命令

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

    linux查看已使用內存的常用命令

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

    Linux網絡設置詳情

    這篇文章主要介紹了Linux網絡設置,需要的朋友可以參考下面文章內容
    2021-08-08
  • 詳解Linux中vi命令大全

    詳解Linux中vi命令大全

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

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

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

最新評論

洮南市| 东方市| 霸州市| 牟定县| 奉化市| 天镇县| 大田县| 新丰县| 龙陵县| 贺兰县| 南涧| 喀喇沁旗| 三台县| 达日县| 都兰县| 天峨县| 安仁县| 隆回县| 镇平县| 惠东县| 荆州市| 泰和县| 永济市| 澎湖县| 新平| 安陆市| 易门县| 宁南县| 通化县| 广州市| 瑞昌市| 沧州市| 万山特区| 利津县| 孟村| 闽侯县| 苗栗市| 四会市| 理塘县| 漳州市| 隆德县|