在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在bash中如何進(jìn)行各種文件重定向呢?

dyquk4xk2p3d ? 來(lái)源:ytcoode ? 2023-08-25 09:31 ? 次閱讀

0x01 測(cè)試程序

本文會(huì)用以下測(cè)試程序,來(lái)演示在bash中,如何進(jìn)行各種文件重定向:

66ad7562-42d7-11ee-a2ef-92fbcf53809c.png

上圖是一段rust代碼,其主要邏輯是,從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),然后將這些數(shù)據(jù)分別寫(xiě)到標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出里。

0x02 將標(biāo)準(zhǔn)輸入重定向到 /dev/null

66bc5762-42d7-11ee-a2ef-92fbcf53809c.png

/dev/null 是linux下的一個(gè)特殊文件,從該文件讀取數(shù)據(jù)時(shí),內(nèi)核會(huì)直接返回EOF,即讀不到任何數(shù)據(jù),所以在上圖中,stdout/stderr行的輸出都為空。

0x03 將標(biāo)準(zhǔn)輸入重定向到普通文件

66d0399e-42d7-11ee-a2ef-92fbcf53809c.png

上圖先用echo命令,把hello字符串寫(xiě)到stdin.log,然后執(zhí)行測(cè)試程序,把它的標(biāo)準(zhǔn)輸入重定向到stdin.log,此時(shí)stdout/stderr行就都輸出了hello字符串。

0x04 將標(biāo)準(zhǔn)輸出重定向到普通文件

66d99c78-42d7-11ee-a2ef-92fbcf53809c.png

上圖把標(biāo)準(zhǔn)輸出重定向到了stdout.log,所以終端只輸出了stderr行,而stdout行被寫(xiě)到了stdout.log文件中。

0x05 將標(biāo)準(zhǔn)錯(cuò)誤輸出重定向到普通文件

66fb9b20-42d7-11ee-a2ef-92fbcf53809c.png

這次把標(biāo)準(zhǔn)錯(cuò)誤輸出也做了重定向,所以終端上沒(méi)有任何輸出,所有輸出都保存到了各自的文件里。

因?yàn)闃?biāo)準(zhǔn)錯(cuò)誤輸出的文件描述符是2,所以上面用了 2> 這種符號(hào)重定向標(biāo)準(zhǔn)錯(cuò)誤輸出。

0x06 將標(biāo)準(zhǔn)輸出及錯(cuò)誤輸出重定向到同一文件

670b4dea-42d7-11ee-a2ef-92fbcf53809c.png

上圖先把標(biāo)準(zhǔn)輸出重定向到hello.log,然后再通過(guò) 2>&1 這個(gè)符號(hào),把標(biāo)準(zhǔn)錯(cuò)誤輸出的文件描述符2,指向當(dāng)前標(biāo)準(zhǔn)輸出的文件描述符1指向的文件,即hello.log,這樣標(biāo)準(zhǔn)錯(cuò)誤輸出就也指向了hello.log。

這里需要注意重定向操作符的順序,比如下面這個(gè)就是錯(cuò)的:

6714a32c-42d7-11ee-a2ef-92fbcf53809c.png

上圖中先通過(guò) 2>&1,把標(biāo)準(zhǔn)錯(cuò)誤輸出的文件描述符2,指向當(dāng)前標(biāo)準(zhǔn)輸出的文件描述符1指向的文件,因?yàn)楫?dāng)前文件描述符1和2都指向終端,所以這一步是沒(méi)有任何效果的。

然后,再將標(biāo)準(zhǔn)輸出重定向到hello.log

通過(guò)上述步驟,標(biāo)準(zhǔn)輸出內(nèi)容就寫(xiě)到了hello.log里,但標(biāo)準(zhǔn)錯(cuò)誤輸出內(nèi)容,還是寫(xiě)到了終端里,所以這個(gè)寫(xiě)法是不行的。

除了上述方式外,我們還可以用下面的方式,將標(biāo)準(zhǔn)輸出/錯(cuò)誤輸出都重定向到同一文件:

6723fd68-42d7-11ee-a2ef-92fbcf53809c.png

0x07 將標(biāo)準(zhǔn)輸出及錯(cuò)誤輸出追加到同一文件

以上介紹的,將輸出重定向到文件的方式,都會(huì)覆蓋掉原文件的內(nèi)容,如果不想覆蓋原文件的內(nèi)容,而是想把新的輸出追加到該文件,可以用下面的方式:

67452d62-42d7-11ee-a2ef-92fbcf53809c.png

和覆蓋原文件使用的命令差不多,只是多了一個(gè)大于號(hào)而已。

0x08 將指定字符串作為標(biāo)準(zhǔn)輸入內(nèi)容

6754448c-42d7-11ee-a2ef-92fbcf53809c.png

上面只是將單行字符串作為標(biāo)準(zhǔn)輸入內(nèi)容,如果想把多行字符串作為標(biāo)準(zhǔn)輸入內(nèi)容,可以用以下方式:

676dc75e-42d7-11ee-a2ef-92fbcf53809c.png

上圖中,先將各種輸出都重定向到hello.log,然后再將兩個(gè)xxx之間的內(nèi)容,作為標(biāo)準(zhǔn)輸入。

注意,xxx這個(gè)字符串是可以任意指定的。

0x09 將標(biāo)準(zhǔn)輸出及錯(cuò)誤輸出重定向到指定tcp服務(wù)器

先用ncat命令開(kāi)啟一個(gè)tcp服務(wù)器,監(jiān)聽(tīng)端口9999:

6781e540-42d7-11ee-a2ef-92fbcf53809c.png

然后用以下命令,將所有輸出都重定向到該服務(wù)器:

678a9a0a-42d7-11ee-a2ef-92fbcf53809c.png

上圖中,localhost指定的是目標(biāo)服務(wù)器的地址,9999指定的是目標(biāo)服務(wù)器的端口,其余部分是固定的。

在執(zhí)行完該命令后,查看ncat命令那張圖,就能看到對(duì)應(yīng)的輸出了。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    601

    瀏覽量

    28145
  • TCP通信
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    4409
  • bash終端
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    2032
  • rust語(yǔ)言
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    3086

原文標(biāo)題:bash中奇奇怪怪的文件重定向

文章出處:【微信號(hào):良許Linux,微信公眾號(hào):良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)S3C2440為什么重定向時(shí)要注釋掉u-boot自帶的重定向代碼

    Flash的數(shù)據(jù),那為什么重定向時(shí)要注釋掉u-boot自帶的重定向代碼?自帶u-boot代碼:copy_loop:ldmiar0!, {r3-r10} /* copy from
    發(fā)表于 09-16 10:29

    如何對(duì)Linux Bash輸入輸出重定向

    Linux - Bash - 輸入輸出重定向
    發(fā)表于 04-27 09:01

    標(biāo)準(zhǔn)的c庫(kù)函數(shù)printf進(jìn)行重定向

    了很大的變化。??有的同學(xué)在學(xué)習(xí)STM32的時(shí)候,可能會(huì)遇到一個(gè)問(wèn)題那就是串口通信printf重定向。st官方并沒(méi)有提供printf函數(shù)給我們用,這時(shí)候如果想要使用printf向串口打印日志的話那就需要對(duì)printf進(jìn)行重定向
    發(fā)表于 08-20 06:54

    實(shí)現(xiàn)printf函數(shù)的重定向

    目錄重定向函數(shù)屬性設(shè)置重定向函數(shù)配置好串口之后需要在相關(guān)文件添加以下函數(shù)以實(shí)現(xiàn)printf函數(shù)的重定
    發(fā)表于 08-24 07:09

    如何對(duì)printf函數(shù)的輸出進(jìn)行重定向

    怎樣去使用printf函數(shù)打印基本的顯示信息?如何對(duì)printf函數(shù)的輸出進(jìn)行重定向
    發(fā)表于 11-30 07:29

    怎樣去重定向fputc函數(shù)

    為什么要將fputc函數(shù)重定向?怎樣去重定向fputc函數(shù)
    發(fā)表于 11-30 07:02

    如何對(duì)printf()函數(shù)或scanf()函數(shù)進(jìn)行重定向

    怎樣用串口來(lái)測(cè)試代碼的正確與否?如何對(duì)printf()函數(shù)或scanf()函數(shù)進(jìn)行重定向
    發(fā)表于 11-30 07:41

    如何對(duì)printf函數(shù)進(jìn)行重定向

    為什么要對(duì)printf函數(shù)進(jìn)行重定向?如何對(duì)printf函數(shù)進(jìn)行重定向
    發(fā)表于 12-01 07:26

    如何使用KEIL5對(duì)stm32的printf函數(shù)進(jìn)行重定向

    能不能用串口實(shí)現(xiàn)類似windows的Console的printf?如何使用KEIL5對(duì)stm32的printf函數(shù)進(jìn)行重定向
    發(fā)表于 12-01 08:09

    如何在Keil下去使用STlink對(duì)printf進(jìn)行重定向

    如何在Keil下去使用STlink對(duì)printf進(jìn)行重定向?對(duì)printf重定向有哪些步驟?
    發(fā)表于 12-01 06:48

    如何對(duì)重定向到printf()后的串口進(jìn)行調(diào)試

    什么是預(yù)定義宏?預(yù)定義宏有哪些?如何對(duì)重定向到printf()后的串口進(jìn)行調(diào)試
    發(fā)表于 12-01 08:11

    如何對(duì)printf重定向進(jìn)行STM32CubeIDE配置

    如何對(duì)printf重定向進(jìn)行STM32CubeIDE配置
    發(fā)表于 12-02 06:42

    怎樣Ubuntu+vscode環(huán)境下對(duì)printf進(jìn)行重定向

    怎樣Ubuntu+vscode環(huán)境下添加stdio.h?怎樣Ubuntu+vscode環(huán)境下對(duì)printf進(jìn)行重定向
    發(fā)表于 12-02 07:00

    如何對(duì)printf進(jìn)行重定向進(jìn)行打印

    如何對(duì)STM32F103串口時(shí)鐘進(jìn)行配置?如何對(duì)printf進(jìn)行重定向進(jìn)行打印
    發(fā)表于 12-02 07:25

    如何對(duì)printf函數(shù)進(jìn)行重定向

    如何對(duì)printf函數(shù)進(jìn)行重定向?怎樣使用printf函數(shù)通過(guò)串口打印調(diào)試信息
    發(fā)表于 01-27 06:58
    主站蜘蛛池模板: 国产成人小视频 | 国产精品久久久亚洲 | 一级特级aaaa毛片免费观看 | 国产一级特黄老妇女大片免费 | 日本www网站| 欧美女同在线 | 伊人精品久久久大香线蕉99 | 午夜影院在线观看免费 | 在线免费成人网 | 老司机成人精品视频lsj | a男人的天堂久久a毛片 | h视频免费看 | 狠狠躁夜夜躁人人爽天天天天 | 簧片免费视频 | 另类性欧美喷潮videofree | 亚洲视频1 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 国模吧新入口 | 婷婷在线观看香蕉五月天 | 磁力bt种子搜索在线 | 在线国产三级 | 午夜在线影院 | 国产成人高清 | 亚洲狠狠操 | 色麒麟影院 | 国模视频一区二区 | 日韩国产片 | 国产欧美一区二区三区观看 | 中国特黄一级片 | 激情综合五月天丁香婷婷 | www午夜视频 | 热99热| 久久狠狠色噜噜狠狠狠狠97 | 噜噜噜噜噜久久久久久91 | 欧美高清成人 | 亚洲女人小便 | 男人的天堂黄色 | 性欧美成人免费观看视 | 欧美人与牲动交xxxxbbbb | 天天综合网天天综合色不卡 | 毛片毛片 |