我对Linux输入输出重定向的小结
1. 輸入輸出重定向,0-STDIN,1-STDOUT,2-STDERR
ls -al test1 test2 test3 2>error1>normal
2. 可以同時輸出ls -al test1 test2 test3 &> all
3. 臨時重定向gr.sh: echo 'hello' >&2;echo 'world'
執(zhí)行。/gr.sh 2> error.txt,則會把錯誤結(jié)果輸出到error.txt而world則會輸出到屏幕上
4. 永久重定向:exec
exec 1>test.txt則下面的echo語句輸出都會指向test.txt,一旦重定向,就無法輕易重定向加原來的位置,后面進(jìn)行講解
輸入重定向:exec 0< test.txt,將會從test.file中讀取
While read line
Do
Echo $line
Done
創(chuàng)建自己永久的重定向 (大于等于3)
Exec 3> grself.txt
Echo 'hello world' >&3
5. 重定向文件描述符
Exec 3>&1 #把3定向到1
Exec 1>test.txt #把1定向到test.txt文件
Echo 'helloworld' >&1
Exec 1>&3#把1定向到3,即還原到最初狀態(tài)
6. 輸入文件描述符
Exec 6<&0#把0定向到6
Exec 0<testfile #把testfile定向到0
Read line#從testfile中讀取
Exec0<&6#把6定向到0
7. 創(chuàng)建讀寫文件描述符
既可以讀又可以寫
Exec 3<>testfile
Read line <&3
Echo $line
Echo 'hello world' >&3
8. 關(guān)閉文件描述符
Exec3>&-
列出打開的文件描述符
/usr/bin/lsof -a -p $$ -d 0,1,2
9. 阻止命令輸出 echo 'hello'>/dev/null
10. 創(chuàng)建臨時文件
Mktemptesting.XXXXX(至少三個X,系統(tǒng)隨機(jī)生成,保證生成的臨時文件惟一),返回創(chuàng)建后臨時文件名
Mktemp -ttest.XXXXXX (-t 選項(xiàng)會強(qiáng)制在系統(tǒng)的/tmp下創(chuàng)建臨時文件,并會返回臨時文件的全路徑,而不止是文件名)
創(chuàng)建臨時目錄
tempdir=`mktemp -d dir.XXXXXX`
cd $tempdir
tempfile1=`mktemp temp.XXXXXXX`
tempfile2=`mktemptemp.XXXXXXX`
11. 記錄信息:tee
向屏幕輸出同時寫入文件
Ls -al | teetest.txt
Ls -al | tee-a test.txt (-a選項(xiàng),表示在文件中追加)
推薦:http://emb.sunplusedu.com/answer/2013/0904/2145.html
轉(zhuǎn)載于:https://blog.51cto.com/nimdajet/1300379
總結(jié)
以上是生活随笔為你收集整理的我对Linux输入输出重定向的小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DP--POJ 2241
- 下一篇: 基于spring自动注入及AOP的表单二