亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

shell中的<,<<,>,>>

2024-06-28 14:33:14
字體:
來源:轉載
供稿:網友

相信熟悉linux的童鞋不會對這四個符合陌生,shell腳本的文件流有時候真的挺容易搞暈人的,下面我們一起了解一下吧

參考鏈接:http://www.CUOXin.com/chengmo/archive/2010/10/20/1855805.html

文件描述符

linux啟動后,會默認打開3個文件描述符,分別是:標準輸入standard input 0,正確輸出standard output 1,錯誤輸出:error output 2

以后打開文件后。新增文件綁定描述符 可以依次增加。 一條shell命令執行,都會繼承父進程的文件描述符。因此,所有運行的shell命令,都會有默認3個文件描述符。

linux shell下常用輸入輸出操作符是:

1.  標準輸入   (stdin) :代碼為 0 ,使用 < 或 << ; /dev/stdin -> /PRoc/self/fd/0   0代表:/dev/stdin 
2.  標準輸出   (stdout):代碼為 1 ,使用 > 或 >> ; /dev/stdout -> /proc/self/fd/1  1代表:/dev/stdout
3.  標準錯誤輸出(stderr):代碼為 2 ,使用 2> 或 2>> ; /dev/stderr -> /proc/self/fd/2 2代表:/dev/stderr

>,>>

輸出重定向:表示把將輸出重定向到屏幕或者設備或者文件

下面我們直接看一些例子吧

qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1ls: 無法訪問t.txt1: 沒有那個文件或目錄t.txt# 正確輸出和錯誤輸出都顯示在屏幕上# 我們試著把正確輸出重定向到suc.txt(success),可以看到屏幕輸出上只有錯誤輸出了,#從這里也可以看出,默認的正確輸出(代碼為1,)是可以忽略不寫的qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 >suc.txtls: 無法訪問t.txt1: 沒有那個文件或目錄qiweijie@qiweijie:~/study_shell$ cat suc.txt t.txt# 正確輸出和錯誤輸出分別輸出到不同的文件qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 1>suc.txt 2>err.txtqiweijie@qiweijie:~/study_shell$ cat suc.txt err.txt t.txtls: 無法訪問t.txt1: 沒有那個文件或目錄# >> 這樣寫表示追加到文件qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 1>>suc.txt 2>>err.txtqiweijie@qiweijie:~/study_shell$ cat suc.txt err.txt t.txtt.txtls: 無法訪問t.txt1: 沒有那個文件或目錄ls: 無法訪問t.txt1: 沒有那個文件或目錄# &[-,1,2] 分別表示關閉對應的標識,正確輸出,錯誤輸出# 關閉錯誤輸出qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 2>&-t.txt# 錯誤輸出重定向到/dev/nullqiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 2>/dev/nullt.txt# 錯誤輸出重定向到到文件qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 2>err1.txtt.txt# 關閉正確輸出和錯誤輸出qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 1>&- 2>&-# 都輸出到/dev/nullqiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 1>/dev/null 2>/dev/null # 把錯誤輸出重定向到正確輸出,正確輸出重定向到/dev/nullqiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 1>/dev/null 2>&1 qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 >/dev/null 2>&1 qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 >ttt.txt 2>&1 qiweijie@qiweijie:~/study_shell$ cat ttt.txt ls: 無法訪問t.txt1: 沒有那個文件或目錄t.txt# &代表所有輸出qiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 &>/dev/nullqiweijie@qiweijie:~/study_shell$ ls t.txt t.txt1 &>te.txtqiweijie@qiweijie:~/study_shell$ cat te.txt ls: 無法訪問t.txt1: 沒有那個文件或目錄t.txt

輸入重定向<,<<

也是直接來看一些例子吧

# cat命令表示從屏幕獲取輸入,然后輸出qiweijie@qiweijie:~/study_shell$ catsadfsadf# 最簡單的例子,從屏幕獲取輸入,然后重定向給qwj(這里用到是的是輸出重定向qiweijie@qiweijie:~/study_shell$ cat > qwjqiweijie shi 2Bqiweijie@qiweijie:~/study_shell$ cat qwj qiweijie shi 2B#這里首先是從文件qwj獲取輸入給cat,然后cat輸入重定向給qwj1qiweijie@qiweijie:~/study_shell$ cat > qwj1 <qwj qiweijie@qiweijie:~/study_shell$ cat qwj1qiweijie shi 2B# << 兩個小于號連在一起表示接受一個輸入結束的標識,當輸入這個標識是結束輸入qiweijie@qiweijie:~/study_shell$ cat > QQ << eof> q> w> j> eofqiweijie@qiweijie:~/study_shell$ cat qqqwjqiweijie@qiweijie:~/study_shell$ cat > qqq << e> q> w> eqiweijie@qiweijie:~/study_shell$ cat qqqqwqiweijie@qiweijie:~/study_shell$

exec綁定重定向

# 綁定新的文件描述符之前的狀態qiweijie@qiweijie:~/study_shell$ ls /proc/self/fd0  1  2  3# 綁定一個新的文件描述符6,并且綁定標準輸出(相當于給標準輸出保存一個臨時copy)qiweijie@qiweijie:~/study_shell$ exec 6>&1qiweijie@qiweijie:~/study_shell$ ls /proc/self/fd0  1  2  3  6# 綁定標準輸出給suc.txtqiweijie@qiweijie:~/study_shell$ exec 1>suc.txt # 發現標準輸出都沒有了啊qiweijie@qiweijie:~/study_shell$ ls -al# 儼然發現suc.txt已經是輸出文件qiweijie@qiweijie:~/study_shell$ cat suc.txt cat: suc.txt:輸入文件是輸出文件qiweijie@qiweijie:~/study_shell$ ls /proc/self/fd# 把標準輸出綁定回來qiweijie@qiweijie:~/study_shell$ exec 1>&6qiweijie@qiweijie:~/study_shell$ ls /proc/self/fd0  1  2  3  6# 關閉自定義的文件描述符qiweijie@qiweijie:~/study_shell$ exec 6>&-qiweijie@qiweijie:~/study_shell$ ls /proc/self/fd0  1  2  3qiweijie@qiweijie:~/study_shell$ cat suc.txt 總用量 128drwxrwxr-x  2 qiweijie qiweijie  4096 11月 24 10:50 .drwxr-xr-x 34 qiweijie qiweijie  4096 11月 24 10:06 ..-rw-rw-r--  1 qiweijie qiweijie    61 11月 18 14:19 atlga.xml-rw-rw-r--  1 qiweijie qiweijie    35 11月 18 14:16 atlga.xml.old-rw-rw-r--  1 qiweijie qiweijie    13 11月 17 16:17 dos-file.txt-rw-rw-r--  1 qiweijie qiweijie    52 11月 24 10:11 err1.txt-rw-rw-r--  1 qiweijie qiweijie   104 11月 24 10:09 err.txt-rw-rw-r--  1 qiweijie qiweijie    41 11月 18 14:20 example.txt-rwxrwxr-x  1 qiweijie qiweijie    94 11月 17 16:56 finduser-rw-rw-r--  1 qiweijie qiweijie     0 11月 24 10:50 g-rw-rw-r--  1 qiweijie qiweijie   324 11月 18 14:57 merge-sales.sh-rw-rw-r--  1 qiweijie qiweijie   271 11月 18 17:08 my-friends-rw-rw-r--  1 qiweijie qiweijie   140 11月 23 17:43 my-friends.sh-rwxrwxr-x  1 qiweijie qiweijie   141 11月 17 16:34 nusers-rw-rw-r--  1 qiweijie qiweijie  1958 11月 18 13:54 passwd.txt-rw-rw-r--  1 qiweijie qiweijie     6 11月 24 10:48 qq-rw-rw-r--  1 qiweijie qiweijie     4 11月 24 10:49 qqq-rw-rw-r--  1 qiweijie qiweijie    35 11月 18 14:54 quotas-rw-rw-r--  1 qiweijie qiweijie    16 11月 24 10:46 qwj-rw-rw-r--  1 qiweijie qiweijie    16 11月 24 10:47 qwj1-rw-rw-r--  1 qiweijie qiweijie    39 11月 18 14:53 sales-rw-rw-r--  1 qiweijie qiweijie     0 11月 24 11:00 suc.txt-rw-rw-r--  1 qiweijie qiweijie    58 11月 24 10:40 te.txt-rwxrwxr-x  1 qiweijie qiweijie    55 11月 17 17:02 trace1.sh-rw-rw-r--  1 qiweijie qiweijie    58 11月 24 10:31 ttt.txt-rw-rw-r--  1 qiweijie qiweijie 23733 11月 18 15:52 t.txt-rw-rw-r--  1 qiweijie qiweijie    14 11月 17 16:18 unix-file.txt-rw-rw-r--  1 qiweijie qiweijie    13 11月 17 16:20 unix.txt-rw-rw-r--  1 qiweijie qiweijie    25 11月 17 16:15 UN工x-file.txt01236# 如果直接把標準輸出綁定到文件,那么問題就是,你再也變不回來了qiweijie@qiweijie:~/study_shell$ exec 1>suc.txt qiweijie@qiweijie:~/study_shell$ cat suc.txt cat: suc.txt:輸入文件是輸出文件qiweijie@qiweijie:~/study_shell$ exec 1>&-qiweijie@qiweijie:~/study_shell$ cat suc.txt cat: 標準輸出: 錯誤的文件描述符qiweijie@qiweijie:~/study_shell$ ls /proc/self/fdls: 寫入錯誤: 錯誤的文件描述符qiweijie@qiweijie:~/study_shell$ 

相信通過這些例子,大家對文件描述符和<,<<,>,>>這四個符號應該有一定的印象了吧


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线免费观看| 精品日韩美女的视频高清| 久久精品国产清自在天天线| 欧美在线激情网| 亚洲aⅴ男人的天堂在线观看| 97色在线观看免费视频| 欧美电影在线免费观看网站| 78m国产成人精品视频| 欧美性极品xxxx娇小| 亚洲第一偷拍网| 69精品小视频| 午夜精品一区二区三区在线| 国产视频在线一区二区| 久久久久久久久久国产| 秋霞av国产精品一区| 欧亚精品在线观看| 亚洲欧洲日产国码av系列天堂| 欧美精品九九久久| 成人黄色av网站| 国产日韩av在线播放| 国产精品白嫩初高中害羞小美女| 中文字幕自拍vr一区二区三区| 欧美片一区二区三区| 欧美精品在线播放| 久久久亚洲成人| 国产日韩欧美在线观看| 亚洲一区中文字幕| 国产精品人成电影在线观看| 国产精品久久久久久久久久99| 欧美在线一区二区三区四| 久久精品精品电影网| 国产日韩在线视频| 久久亚洲一区二区三区四区五区高| 日韩经典中文字幕| 国产精品自产拍高潮在线观看| 最新亚洲国产精品| 国产精品海角社区在线观看| 欧美日韩人人澡狠狠躁视频| 国产精品爽黄69天堂a| 81精品国产乱码久久久久久| 久久成人精品电影| 九九热最新视频//这里只有精品| 亚洲精品久久久久久久久久久久| 在线观看91久久久久久| 亚洲在线观看视频网站| 国产精品久久久久久久久久99| 狠狠综合久久av一区二区小说| 91久久久亚洲精品| 国产精品嫩草影院一区二区| 精品国产电影一区| 欧美日韩亚洲成人| 91精品国产乱码久久久久久久久| 国产精品美女无圣光视频| 亚洲天堂男人的天堂| 欧美特黄级在线| 国产成人久久久精品一区| 自拍偷拍亚洲在线| 欧美性理论片在线观看片免费| 亚洲欧洲偷拍精品| 亚洲黄页网在线观看| 日韩在线小视频| 色综合亚洲精品激情狠狠| 爽爽爽爽爽爽爽成人免费观看| 欧美天天综合色影久久精品| 久久6精品影院| 欧美洲成人男女午夜视频| 欧美在线www| 国产成人97精品免费看片| 亚洲国产成人一区| 日韩视频免费在线观看| 亚洲一品av免费观看| 欧美大片在线免费观看| 成人激情视频在线| 日韩网站免费观看高清| 正在播放欧美视频| 精品视频在线播放免| 亚洲成人黄色在线| 国产盗摄xxxx视频xxx69| 久久久免费高清电视剧观看| 久久手机免费视频| 国语自产精品视频在线看| 久久综合网hezyo| 亚洲第一天堂av| 欧美专区在线观看| 国产午夜精品久久久| 亚洲一区二区日本| 97av在线播放| 视频一区视频二区国产精品| 亚洲韩国青草视频| 北条麻妃久久精品| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美风情在线观看| 91精品国产91久久久久久最新| 国产91色在线|免| 91av在线播放| 国产丝袜高跟一区| 永久免费毛片在线播放不卡| 欧美孕妇孕交黑巨大网站| 日本国产一区二区三区| 精品国产一区二区三区久久久| 欧美在线观看日本一区| 亚洲影视九九影院在线观看| 日韩一区二区福利| 成人性生交大片免费观看嘿嘿视频| 国产91精品久久久久| 久久精品中文字幕一区| 亚洲香蕉av在线一区二区三区| 美女国内精品自产拍在线播放| 欧美电影免费播放| 欧美另类极品videosbestfree| 亚洲女成人图区| 国产精品aaaa| 国产一区二区日韩| 国产精品自产拍在线观看| 精品高清美女精品国产区| 午夜精品一区二区三区在线| 久久亚洲精品网站| 欧美大片免费观看| 亚洲欧美精品在线| 欧美精品在线免费播放| 亚洲午夜久久久久久久| 久久九九免费视频| 亲子乱一区二区三区电影| 日韩经典中文字幕| 亚洲a∨日韩av高清在线观看| www.99久久热国产日韩欧美.com| 爱福利视频一区| 亚洲精品中文字幕女同| 成人免费xxxxx在线观看| 97精品国产97久久久久久春色| 亚洲精品xxxx| 久久久亚洲影院你懂的| 久久精品视频99| 日韩精品视频免费| 4p变态网欧美系列| 久久久久久国产精品| 日韩精品中文字幕在线| 成人看片人aa| 2019亚洲男人天堂| 亚洲成人精品久久| 欧美日韩国产精品一区二区不卡中文| 国产一区深夜福利| 91精品国产综合久久久久久久久| 国产亚洲成精品久久| 91综合免费在线| 92福利视频午夜1000合集在线观看| 亚洲人在线视频| 国产网站欧美日韩免费精品在线观看| 日韩免费在线电影| 欧美激情视频网| 国产免费一区二区三区在线能观看| 日韩av最新在线观看| 91在线无精精品一区二区| 欧美亚洲成人xxx| 欧美日韩美女在线观看| 欧美乱大交做爰xxxⅹ性3| 成人久久久久爱| 久久久免费高清电视剧观看| 91精品国产高清久久久久久| 欧美亚洲一级片| 国产日韩专区在线| 日韩av免费在线播放| 欧美精品一区二区三区国产精品| 亚洲成人动漫在线播放|