成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux重定向用法詳解

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

 、[[335018]]

大家好,我是良許。

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

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

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

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

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

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

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

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

  1. $ ls /dev/std* 
  2. /dev/stderr  /dev/stdin  /dev/stdout 

重定向輸出

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

  1. $ ls > list.txt 

執(zhí)行以上命令后,屏幕上并不會(huì)顯示 ls 命令的輸出信息,因?yàn)檩敵鲂畔⒁呀?jīng)被重定向至 list.txt 文件中了。

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

  1. $ cat image.png > picture.png 

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

  1. $ cat lxlinux >> alvi 

重定向輸入

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

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

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

  1. $ sudo dnf install $(<package.list) 

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

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

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

  1. $ cat << EOF 
  2. > alvin 
  3. > lxlinux.net 
  4. > EOF 

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

  1. alvin 
  2. lxlinux.net 

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

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

  1. $ cat <<< alvin 
  2. alvin 
  3. $ cat <<< "alvin lxlinux.net" 
  4. alvin lxlinux.net 

重定向錯(cuò)誤信息

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

  1. $ ls /nope 2> output.log 

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

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

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

  1. $ find ~ -type f 
  2. /home/seth/actual.file 
  3. find: `/home/seth/foggy': Permission denied 
  4. find: `/home/seth/groggy': Permission denied 
  5. find: `/home/seth/soggy': Permission denied 
  6. /home/seth/zzz.file 

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

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

善用重定向

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

最后,希望本文的內(nèi)容對(duì)你的工作有所幫助,如果你還對(duì) Linux 系統(tǒng)中的重定向有疑問,請(qǐng)留言告訴我唄!

本文授權(quán)轉(zhuǎn)載自公眾號(hào)「良許Linux」。良許,世界500強(qiáng)外企Linux開發(fā)工程師,公眾號(hào)里分享大量Linux干貨,歡迎關(guān)注!

 

責(zé)任編輯:武曉燕 來源: 良許Linux
相關(guān)推薦

2010-12-14 15:07:15

ICMP路由重定向

2017-01-19 19:14:20

Linux重定向命令

2010-03-09 16:11:59

Linux重定向

2014-08-07 10:23:24

linux重定向

2014-09-04 11:39:43

Linux

2017-01-19 19:24:29

Linux重定向

2011-04-20 10:15:02

Linuxconsole口

2010-03-19 09:22:02

linux命令應(yīng)用及語

2010-03-01 14:45:07

Linux文件重定向

2022-11-10 15:08:44

Linux輸入輸出

2020-07-06 08:00:04

Linux重定向讀寫數(shù)據(jù)

2020-02-24 11:37:56

Linux重定向管道

2010-06-23 16:14:52

Linux Bash

2010-12-31 13:35:25

文件夾重定向

2020-12-09 11:10:12

shellLinux管道

2009-12-10 14:42:22

Linux操作系統(tǒng)

2010-05-25 14:32:09

Linux tcpdu

2009-11-23 18:39:17

PHP重定向

2010-04-20 15:25:12

Unix操作系統(tǒng)

2010-05-04 14:42:33

Unix操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: www.日本在线播放 | 久久噜噜噜精品国产亚洲综合 | 亚洲精品视频一区二区三区 | 91免费版在线观看 | 亚洲免费一区二区 | 四虎影音 | 亚洲第一色站 | 欧美成人免费在线视频 | 国产成人精品在线播放 | 午夜丰满少妇一级毛片 | 亚洲毛片 | 欧美白人做受xxxx视频 | 成人亚洲视频 | 亚洲欧美精品 | 日韩欧美国产一区二区 | 一区中文字幕 | 亚洲精品一区二三区不卡 | 国产精品日韩欧美一区二区三区 | 日韩成人在线播放 | 日韩一区二区三区在线视频 | 亚洲精品视频在线看 | 羞羞视频在线观看网站 | 日本人麻豆 | 精品国产一级 | 91网在线观看 | 精品入口麻豆88视频 | 精品中文字幕一区二区 | 一区二区国产精品 | 国产精品毛片一区二区三区 | 免费观看视频www | 欧美精品一区二区三区在线播放 | 欧美久久久久久久久 | 国产精品成人一区二区三区吃奶 | 久久成人精品 | 久久久成人网 | www日日日 | 在线久草 | 九九热免费看 | 成人免费在线观看 | 亚洲一区二区三区在线视频 | 久久国|