8.5 輸入輸出重定向

大於號,重定向

> 正確輸出
>> 追加劇定向
2> 錯誤重定向
2>> 錯誤追加劇定向

>+2>等於&>        表示結合了正確和錯誤
  • cat 1.txt > 2.txt
    • 一個大於號表示正確的輸出
    • 大於號>,表示前面的命令輸出,直接輸入到後面的文件中去
    • 就會把1.txt文件內容重定向到2.txt文件中,而2.txt以前的文件就會刪除掉,從新寫入1.txt文件內容
  • cat 1.txt >> 2.txt
    • 兩個大於號>>,就是追加,不會刪除2.txt文件內容,而是在原有的基礎上將1.txt文件內容寫入到2.txt文件中去
  • ls aaa.txt 2> err
    • 2大於號表示錯誤的輸出(錯誤信息)
    • 2> 表示它會把命令產生的錯誤信息指定輸入到一個文件中去
[root@hf-01 ~]# laaa
-bash: laaa: 未找到命令
[root@hf-01 ~]# laaa 2> a.txt
[root@hf-01 ~]# cat a.txt
-bash: laaa: 未找到命令
[root@hf-01 ~]#
  • ls aaa.txt 2>> err
  • ls [12].txt aaa.txt &> a.txt //正確和錯誤的輸出信息都輸出到a.txt中
[root@hf-01 ~]# ls [12].txt aaa.txt &> a.txt
[root@hf-01 ~]# cat a.txt
ls: 沒法訪問aaa.txt: 沒有那個文件或目錄
1.txt
2.txt
[root@hf-01 ~]#
  • 把正確和錯誤的輸出到文件中,方法一 ls [12].txt aaa.txt &>> a.txt
[root@hf-01 ~]# ls [12].txt aaa.txt &>> a.txt
[root@hf-01 ~]# cat !$
cat a.txt
ls: 沒法訪問aaa.txt: 沒有那個文件或目錄
1.txt
2.txt
ls: 沒法訪問aaa.txt: 沒有那個文件或目錄
1.txt
2.txt
  • 把正確和錯誤的輸出到文件中,方法二 ls [12].txt aaa.txt >1.txt 2>a.txt
[root@hf-01 ~]# ls [12].txt aaa.txt >1.txt 2>a.txt
[root@hf-01 ~]# cat 1.txt
1.txt
2.txt
[root@hf-01 ~]# cat a.txt
ls: 沒法訪問aaa.txt: 沒有那個文件或目錄
既能夠寫入一個文件中,也能夠分開寫入

小於號,重定向

  • 小於號< ,輸入重定向
  • wc -l < 1.txt //把1.txt文件內容輸入重定向到命令wc -l 中去
[root@hf-01 ~]# wc -l < 1.txt
2
[root@hf-01 ~]# 2.txt < 1.txt
-bash: 2.txt: 未找到命令
[root@hf-01 ~]#
  • 輸入重定向,左邊必須是命令,不支持文件輸入重定向到文件中的
相關文章
相關標籤/搜索