欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

LinuxBashShell命令重導(dǎo)向的示例分析

這篇文章主要介紹Linux Bash Shell命令重導(dǎo)向的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站專注于象山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供象山營銷型網(wǎng)站建設(shè),象山網(wǎng)站制作、象山網(wǎng)頁設(shè)計(jì)、象山網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開發(fā)服務(wù),打造象山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供象山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

命令重導(dǎo)向
基本上,這個(gè)子題是 Linux Bash Shell命令重導(dǎo)向 相當(dāng)重要的觀念,這里可得花點(diǎn)心思才行呦!

o 什么是『重導(dǎo)向, redirect ?』:簡單的說,就是將你目前的所得資料轉(zhuǎn)到其他地方去就是了!例如我們常用的,將目前的螢?zāi)惠敵鲑Y料轉(zhuǎn)到檔案中去,就可以這么寫:『ls -l / > test 』,那個(gè)大于的符號(hào)『 > 』就是將輸出結(jié)果導(dǎo)向到 test 這個(gè)檔案中的意思啰!這個(gè)時(shí)候:
§ 如果你執(zhí)行『 ls -l / 』而已的話,螢?zāi)粫?huì)將根目錄的檔案與目錄都列出在螢?zāi)簧希?br/>§ 但是當(dāng)使用 > 導(dǎo)向到 test 這個(gè)檔案中時(shí),則螢?zāi)徊粫?huì)顯示任何訊息,但是會(huì)將剛剛你執(zhí)行的結(jié)果輸出到 test 這個(gè)檔案中。
所以啰,你只要『 vi test 』一下,就會(huì)知道 test 這個(gè)檔案中記錄了剛剛我們執(zhí)行的資料結(jié)果啰!不過,這里需要特別留意的是,當(dāng)你使用 > 符號(hào)將資料由螢?zāi)粚?dǎo)向到檔案中時(shí),則:
§ 該檔案(就是 test )若不存在,系統(tǒng)會(huì)自動(dòng)的將他建立起來,但是,
§ 當(dāng)這個(gè)檔案存在的時(shí)候,那么系統(tǒng)就會(huì)先將這個(gè)檔案內(nèi)容清空,然后再將資料寫入!
§ 也就是若以 > 輸出到一個(gè)既存檔案中,呵呵,那個(gè)檔案就會(huì)被覆蓋掉啰!
除了這個(gè) > 的符號(hào)之外,在 bash 命令執(zhí)行的過程中,主要有三種輸出入的狀況,分別是:
1. 標(biāo)準(zhǔn)輸入;代碼為 0 ;或稱為 stdin ;使用的方式為 <
2. 標(biāo)準(zhǔn)輸出:代碼為 1 ;或稱為 stdout;使用的方式為 1>
3. 錯(cuò)誤輸出:代碼為 2 ;或稱為 stderr;使用的方式為 2>
注意了!那個(gè) 1> 與 2> 之間并沒有空白字元!而相關(guān)的使用說明可以舉例如下

[test @test test]# ls -al >list.txt<==將顯示的結(jié)果輸出到 list.txt 檔案中,若該檔案以存在則予以取代! [test @test test]# ls -al >> list.txt <==將顯示的結(jié)果累加到 list.txt 檔案中,該檔案為累加的,舊資料保留! [test @test test]# ls -al 1> list.txt 2> list.err <==將顯示的資料,正確的輸出到 list.txt 錯(cuò)誤的資料輸出到 list.err [test @test test]# ls -al 1> list.txt 2>&1 <==將顯示的資料,不論正確或錯(cuò)誤均輸出到 list.txt 當(dāng)中! [test @test test]# ls -al 1> list.txt 2> /dev/null<==將顯示的資料,正確的輸出到 list.txt 錯(cuò)誤的資料則予以丟棄!注意!錯(cuò)誤與正確檔案輸出到同一個(gè)檔案中,則必須以上面的方法來寫!不能寫成其他格式!
這個(gè)觀念相當(dāng)?shù)闹匾绕涫窃?/etc/crontab 當(dāng)中執(zhí)行的時(shí)候,如果我們已經(jīng)知道錯(cuò)誤的訊息為何,又不想要讓錯(cuò)誤的訊息一直填滿 root 的信箱,就必須以 2> 搭配 /dev/null 這個(gè)垃圾桶黑洞裝置,來將資料丟棄!這個(gè)相當(dāng)?shù)闹匾?br/>這里我們來說明一下命令重導(dǎo)向里面幾個(gè)常用的符號(hào)與裝置:
o <:由 < 的右邊讀入?yún)?shù)檔案;
o >:將原本由螢?zāi)惠敵龅恼_資料輸出到 > 右邊的 file ( 檔案名稱 ) 或 device ( 裝置,如 printer )去;
o >> :將原本由螢?zāi)惠敵龅恼_資料輸出到 >> 右邊,與 > 不同的是,該檔案將不會(huì)被覆蓋,而新的資料將以『增加的方式』增加到該檔案的***面;
o 2> :將原本應(yīng)該由螢?zāi)惠敵龅腻e(cuò)誤資料輸出到 2> 的右邊去。
o /dev/null :可以說成是黑洞裝置!
好了,對(duì)于『 > , >> 』這兩個(gè)東西有一定的概念之后,我們來深入的談一談『命令輸出重導(dǎo)向』的觀念吧!如前所述,基本上, Linux 執(zhí)行的結(jié)果中,可以約略的分成『正確輸出』與『錯(cuò)誤輸出』兩種方式。例如,當(dāng)你以一般身份執(zhí)行 find 這個(gè)指令時(shí),例如執(zhí)行『 find / -name testing 』時(shí),由于你是一般身份,又有些資料夾是不允許一般身份者進(jìn)入的,所以啰,當(dāng)你使用 find 時(shí),就會(huì)有錯(cuò)誤訊息發(fā)生了!但同時(shí)如果有 testing 這個(gè)檔案在你可以進(jìn)入的資料夾當(dāng)中,那么螢?zāi)灰矔?huì)輸出到給你看!因此,就具有正確的與錯(cuò)誤的輸出兩種啰!(分別稱為 Stdout 與 Stderror)例如下面為執(zhí)行結(jié)果:里面的『 find: /home/root: Permission denied 』就告訴你該資料夾你沒有權(quán)限進(jìn)入,這就是錯(cuò)誤的輸出了,那么『 /home/test/tseting 』就是正確的輸出了!

[test @test test]# find / -name testing find: /home/test1: Permission denied<==這是錯(cuò)誤的輸出 find: /home/root: Permission denied <==這是錯(cuò)誤的輸出 find: /home/masda: Permission denied<==這是錯(cuò)誤的輸出 /home/test/testing<==這是『正確』的輸出 [test @test test]#
好了,那么假如我們想要將資料輸出到 list 這個(gè)檔案中呢?執(zhí)行『 find / -name testing > list 』會(huì)有什么結(jié)果?呵呵,你會(huì)發(fā)現(xiàn) list 里面存了剛剛那個(gè)『正確』的輸出資料,至于螢?zāi)簧线€是會(huì)有錯(cuò)誤的訊息出現(xiàn)呢!傷腦筋!如果想要將正確的與錯(cuò)誤的資料分別存入不同的檔案中需要怎么做?!呵呵!其實(shí)在資料的重導(dǎo)向方面,正確的寫法應(yīng)該是『 1> 』與『 2> 』才對(duì)!但是如果只有 > 則預(yù)設(shè)是以 1> 來進(jìn)行資料的!那個(gè) 1> 是輸出正確資料, 2> 則是錯(cuò)誤資料輸出項(xiàng)目。也就是說:
&middot; 1> :是將正確的資料輸出到指定的地方去
&middot; 2> :是將錯(cuò)誤的資料輸出到指定的地方去

好了,那么上面的例子中,我們?nèi)绾螌①Y料輸出到不同的地方去呢?可以這么寫:
[test @test test]# find / -name testing 1> list_right 2> list_error
這樣一來,剛剛執(zhí)行的結(jié)果中,有 Permission 的那幾行錯(cuò)誤資訊都會(huì)跑到 list_error 這個(gè)檔案中,至于正確的輸出資料則會(huì)存到 list_right 這個(gè)檔案中啰!這樣可以了解了嗎?如果有點(diǎn)混亂的話,去休息一下再來看看吧??!

再來,如果我只要正確的資料,錯(cuò)誤的資訊我不要了呢?呵呵,這個(gè)時(shí)候 /dev/null 這個(gè)垃圾桶就很重要了!/dev/null 是什么呢?基本上,那就有點(diǎn)像是一個(gè)『黑洞』的垃圾桶功能!當(dāng)你輸入的任何東西導(dǎo)向到這個(gè)虛擬的垃圾桶裝置時(shí),『他就會(huì)憑空消失不見了~~』,這個(gè)東西有用的很!例如上面的例子中,我們可以這么做,來將錯(cuò)誤的資訊丟掉!
[test @test test]# find / -name testing 1> list_right 2> /dev/null
很神奇呦! error message 就會(huì)『不見了!』呵呵!真高興!另外,如果我要將資料都寫到同一個(gè)檔案中呢?這個(gè)時(shí)候?qū)懛ㄐ枰玫教厥鈱懛?,?qǐng)注意底下的寫法呦!
[test @test test]# find / -name testing 1> list 2> list<==錯(cuò)誤寫法 [test @test tset]# find / -name testing 1> list 2>&1 <==正確寫法
請(qǐng)?zhí)貏e留意這一點(diǎn)呢!同時(shí)寫入同一個(gè)檔案需要使用 2>&1 才對(duì)呦!

OK!了解了 >, 2>, >> 與 /dev/null 之后,那么那個(gè) < 又是什么呀!?呵呵!以最簡單的說法來說,那就是『將原本需要由鍵盤輸入的資料,經(jīng)由檔案來讀入』的意思,最明顯的例子就是 mail 這個(gè)東西了!我們以 root 的身份來寄信給 root 好了,可以這樣做:

1. 完全由鍵盤輸入資料: [root @test test]# mail -s "test" root<== -s 表示標(biāo)題, root 為收件者 I am root!<==以下的資料都是由鍵盤輸入的 That's OK .  <==要結(jié)束鍵盤的輸入時(shí),需要在一行的最前面加上 . 即可! CC.<==是否需要有密件副本?不需要的話,直接按下 Enter ! EOF<==表示送出的提示字元而已! 2. 由檔案代替輸入 [test @test tset]# mail -s "test" root < /root/.bashrc <==將 .bashrc 內(nèi)容寄給 root !
很有趣吧! ^_^ 這樣就可以將信寄出去啰!所以說,熟悉命令重導(dǎo)像的話,對(duì)您可是相當(dāng)?shù)挠袔椭倪希?br/>好了,那么為何要使用命令輸出重導(dǎo)向呢?這個(gè)問題一定會(huì)困擾你一下下的,如果你從來都沒有寫過 script 的話!好了,我們來說一說吧!
o 當(dāng)螢?zāi)惠敵龅馁Y訊很重要,而且我們需要將他存下來的時(shí)候;
o 背景執(zhí)行中的程式,不希望他干擾螢?zāi)徽5妮敵鼋Y(jié)果時(shí);
o 一些系統(tǒng)的例行命令(例如寫在 /etc/crontab 中的檔案)的執(zhí)行結(jié)果,希望他可以存下來時(shí);
o 一些執(zhí)行命令,我們已經(jīng)知道他可能的錯(cuò)誤訊息,所以想以『 2> /dev/null 』將他丟掉時(shí);
o 錯(cuò)誤訊息與正確訊息需要分別輸出時(shí)。
當(dāng)然還有很多很多的功能的,最簡單的就是網(wǎng)友們常常問到的:『為何我的 root 都會(huì)收到系統(tǒng) crontab 寄來的錯(cuò)誤訊息呢』這個(gè)咚咚是常見的錯(cuò)誤,而如果我們已經(jīng)知道這個(gè)錯(cuò)誤訊息是可以忽略的時(shí)候,嗯!『 2> errorfile 』這個(gè)功能就很重要了吧!了解了嗎??

以上是“Linux Bash Shell命令重導(dǎo)向的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前題目:LinuxBashShell命令重導(dǎo)向的示例分析
URL分享:http://aaarwkj.com/article12/gopcdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站定制網(wǎng)站、自適應(yīng)網(wǎng)站、Google、網(wǎng)站營銷、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
日韩高清有码一区二区| 日本精品在线不卡视频| 萌白的所有视频在线观看| 国产大学生露脸在线视频| 日韩成人中文字幕电影| 欧美日韩丝袜一区二区| 色人阁在线精品免费视频| 欧美一级特黄大片做受另类| 成人性生活毛片免费视频| 香蕉伊蕉伊中文在线视频| 青青草国产精品一区二区| 欧美三级视频一区二区三区| 亚洲精品露脸自拍高清在线观看 | 成年黄网站免费视频大全| 亚洲欧美日韩精品麻豆| 人人妻人人澡人人爱| 日本2区3区视频在线观看| 东京热男人的av天堂| 久久国内午夜福利直播| 最新中文字幕成人在线观看| 国产不卡一区不卡二区| 中文字幕在线日韩av| 国产精品久久午夜伦鲁鲁| 亚洲av资源一区二区| 亚洲欧美日韩乱码综合久久| 国产精品区一区二区三区| 免费黄片视频大全在线播放| 精品一区二区视频在线观看网站 | 在线视频天堂亚洲天堂| 亚洲国产精品福利在线| 日韩高清精品一区二区| 综合久久精品亚洲天堂| 五月婷婷六月丁香伊人妞| 亚洲视频一区视频二区| 欧美日韩免费高清视视频| 日韩一区精品视频一区二区| 欧美亚洲五月婷婷激情| 国产一区丝袜高跟在线| 91出品国产福利在线| 免费av中文字幕电影| 国产精品日本欧美一区二区|