W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
當一個命令執(zhí)行時,通常從“標準輸入”讀取輸入,在默認情況下,該“標準輸入”為您的終端。以此類比,當一個命令將其輸出寫入到“標準輸出”中,在默認情況下,該“標準輸出”同為您的終端。重定向就是將發(fā)送目標:終端,更改成指定的文件。
由于>
或>>
會將輸出從終端重定向到指定文件,因此均不會在終端打印輸出。>
和>>
的功能區(qū)別,如下所示:
>
會以命令中的寫入內(nèi)容覆蓋原文件內(nèi)容。如果指定的文件不存在,那么它將會創(chuàng)建一個以指定文件名命名的新文件,并執(zhí)行寫入操作。示例:
#!/bin/bash
writefile=WriteFile.txt
$ echo "編程獅:m.o2fo.com" > $writefile
#使用 cat 命令打印文件內(nèi)容
$ cat $writefile
執(zhí)行后得到以下結(jié)果:
編程獅:m.o2fo.com
>>
會將命令中的寫入內(nèi)容附加到原文件內(nèi)容末尾。如果指定的文件不存在,那么它將會創(chuàng)建一個以指定文件名命名的新文件,并執(zhí)行寫入操作。示例:
#!/bin/bash
writefile=WriteFile.txt
$ echo "編程獅:m.o2fo.com" > $writefile
$ echo "編程獅:m.o2fo.com" >> $writefile
#使用 cat 命令打印文件內(nèi)容
cat $writefile
執(zhí)行后得到以下結(jié)果:
編程獅:m.o2fo.com
編程獅:m.o2fo.com
與輸出重定向一樣,但是符號方向相反。語法展示如下:
command < file
接下來使用 wc
命令讀取文件行數(shù)配合演示示例。
示例:
$ wc -l < WriteFile.txt
注:
- 此處不會輸出文件名,<
僅知道從“標準輸入”讀取的內(nèi)容。
stdin
:標準輸入文件,其文件描述符為0,默認由此讀取數(shù)據(jù)。stdout
:標準輸出文件,其文件描述符為1,默認向它輸出數(shù)據(jù)。stderr
:標準錯誤文件,其文件描述符為2,默認向它寫入錯誤信息。 #默認情況下
command > file
#將 stdout 重定向到 file
command < file
#將 stdin 重定向到 file
stderr
重定向到 file ,如下示例: $ command 'stderr' > file
#或(注意二者的區(qū)別)
$ command 'stderr' >> file
注:
-'stderr'
指代標準錯誤文件,非命令,請不要盲目復(fù)制使用。
stdin
和stdout
都進行重定向,將 file1 作為command 的輸入,并將 command 的處理結(jié)果輸出到 flie2 。 command < file1 > file2
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: