婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解Linux重定向用法

詳解Linux重定向用法

熱門標(biāo)簽:山東400電話如何辦理 電話機(jī)器人服務(wù)差 蘭州語音電銷機(jī)器人軟件 宿州防封外呼系統(tǒng)廠家 ai電銷機(jī)器人 如何開發(fā) 智能外呼系統(tǒng)如何部署 高德地圖標(biāo)注在建線路 電銷機(jī)器人對公司貢獻(xiàn) 濟(jì)源電話外呼系統(tǒng)怎么樣

相信大家平時都會有需要復(fù)制粘貼數(shù)據(jù)的時候,如果是打開文件進(jìn)行復(fù)制粘貼,就不可避免的需要較多的鼠標(biāo)與鍵盤的操作,就會比較繁瑣。那么有沒有可以省掉這些繁瑣操作的復(fù)制粘貼的方法呢?

答案是肯定的,那就是重定向。重定向是一種高效的方法,無需大量的鼠標(biāo)與鍵盤操作就可以完成數(shù)據(jù)的轉(zhuǎn)移。重定向可以分為輸入重定向以及輸出重定向這兩種類型。由于所有程序都有輸入或者輸出,因此輸入和輸出的重定向是任何編程語言或腳本語言都自帶的功能。

每當(dāng)你與計算機(jī)交互時,重定向就必然會發(fā)生。學(xué)會使用重定向,不僅可以讓你與計算機(jī)更好地交互,還可以提高你的工作效率,因此,請讓良許為你講解 Linux 系統(tǒng)中重定向的常見用法:

Linux 中的數(shù)據(jù)流

談到 Linux 的重定向,就不得不提以下這3種數(shù)據(jù)流:

  • 輸入信息會從 stdin 中讀取(標(biāo)準(zhǔn)輸入,通常是鍵盤或鼠標(biāo))。
  • 輸出信息會被輸出到 stdout (標(biāo)準(zhǔn)輸出,一個文本文件或者數(shù)據(jù)流)。
  • 錯誤信息會被輸出到 stderr。

了解了這些數(shù)據(jù)流的存在,在你使用 Shell 時,你就可以更好地控制數(shù)據(jù)的流向了。

在 Linux 系統(tǒng)中,標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出以及標(biāo)準(zhǔn)錯誤都作為文件存在。你可以在 /dev 目錄下看到它們:

$ ls /dev/std* 
/dev/stderr /dev/stdin /dev/stdout 

重定向輸出

在 Linux 系統(tǒng)中,使用 > 字符表示重定向輸出。例如,將 ls 命令的輸出重定向到一個文件中:

$ ls > list.txt 

執(zhí)行以上命令后,屏幕上并不會顯示 ls 命令的輸出信息,因為輸出信息已經(jīng)被重定向至 list.txt 文件中了。

除此之外,重定向還有許多用途,它還可以用于復(fù)制文件的內(nèi)容,而且不限于復(fù)制文本文件,二進(jìn)制文件也可以復(fù)制:

$ cat image.png > picture.png 

如果你想要將一個文件的內(nèi)容復(fù)制到另一個文件的末尾,你只需將 > 字符換成 >> 字符串即可,像這樣:

$ cat lxlinux >> alvi 

重定向輸入

與重定向輸出相反,重定向輸入使用的是 < 字符。

輸入重定向可以將輸入信息重定向至命令中作為參數(shù)使用。該功能可能比較少用,但是,當(dāng)命令需要一個參數(shù)列表時,而這些參數(shù)都存在一個文件中,然后你想快速地將它們從文件中復(fù)制粘貼到終端,這時這個功能就能派上用場了。

例如,package.list 里記錄了你需要安裝的包的列表,而你想要快速地安裝所有的包,只需執(zhí)行以下這一條命令,就能一次性安裝 package.list 里的所有包:

$ sudo dnf install $(<package.list) 

輸入重定向的常見用法是 Here-document (簡稱 Here-doc) 以及 Here-string 。

Here-doc 將輸入的文本塊重定向至標(biāo)準(zhǔn)輸入流,直至遇到特殊的文件結(jié)束標(biāo)記符為止(文件結(jié)束標(biāo)記符可以是任意的唯一的字符串,但大部分人都默認(rèn)使用 EOF)。

你可以嘗試在終端輸入以下命令(直到第二個 EOF 字符串結(jié)束):

$ cat << EOF 
> alvin 
> lxlinux.net 
> EOF 

預(yù)期的輸出應(yīng)該是這樣的:

alvin
lxlinux.net

Here-doc 是 Bash 腳本編寫者們將多行文本轉(zhuǎn)儲到文件或屏幕上的常用技巧。

Here-string 與 Here-doc 相似,但是它只有一個字符串,或者幾個被引號括起來的字符串:

$ cat <<< alvin 
alvin 
$ cat <<< "alvin lxlinux.net" 
alvin lxlinux.net 

重定向錯誤信息

錯誤信息默認(rèn)會進(jìn)入叫 stderr 的流,使用 2> 可以對其進(jìn)行重定向。例如,將錯誤信息重定向到名為 output.log 的文件中:

$ ls /nope 2> output.log 

重定向數(shù)據(jù)至 /dev/null

就像標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出以及標(biāo)準(zhǔn)錯誤一樣,在 Linux 文件系統(tǒng)中,空,也存在一個文件與之對應(yīng),它叫做 null ,放在 /dev 目錄下。為了方便讀,人們經(jīng)常省略斜杠,直接把他讀作 dev null 。

/dev/null 并不保存數(shù)據(jù),被寫入 /dev/null 的數(shù)據(jù)最終都會丟失,就像被丟進(jìn)虛空中一樣。因此,你可以使用重定向?qū)⒉恍枰臄?shù)據(jù)輸送到 /dev/null 。例如,find 命令的輸出往往很冗長,而且在搜索文件時還經(jīng)常會報告權(quán)限沖突的錯誤,像這樣:

$ find ~ -type f 
/home/seth/actual.file 
find: `/home/seth/foggy': Permission denied 
find: `/home/seth/groggy': Permission denied 
find: `/home/seth/soggy': Permission denied 
/home/seth/zzz.file 

這時,你就可以將錯誤信息重定向到 /dev/null ,以過濾掉不必要的信息,像這樣:

$ find ~ -type f 2> /dev/null 
/home/seth/actual.file 
/home/seth/zzz.file 

善用重定向

在 Bash 中,重定向是轉(zhuǎn)移數(shù)據(jù)的一種高效方法。你可能并不會總是使用重定向,但是學(xué)會如何使用重定向,在你需要的時候可以讓你省掉許多不必要的復(fù)制粘貼操作,因此也節(jié)省了許多操作鼠標(biāo)與鍵盤的時間。請不要執(zhí)著于復(fù)制粘貼了,使用重定向可以提高你的工作效率,難道,它不香嗎?

到此這篇關(guān)于詳解Linux重定向用法的文章就介紹到這了,更多相關(guān)Linux重定向用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:晉中 云南 衡水 南寧 畢節(jié) 巴中 安陽 佛山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Linux重定向用法》,本文關(guān)鍵詞  詳解,Linux,重定向,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Linux重定向用法》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解Linux重定向用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 祁门县| 南澳县| 册亨县| 安福县| 额敏县| 康乐县| 扬州市| 阿克苏市| 广河县| 清苑县| 聂拉木县| 昭苏县| 龙海市| 万年县| 城固县| 昌邑市| 漯河市| 麻栗坡县| 师宗县| 盐池县| 瑞昌市| 阿拉善盟| 且末县| 桑植县| 神农架林区| 松阳县| 九龙城区| 三河市| 富平县| 筠连县| 景谷| 浑源县| 若尔盖县| 铜梁县| 紫云| 清涧县| 凉山| 克东县| 淳化县| 尤溪县| 突泉县|