在Linux終端使用了下檔案重定向
在試的時候命令比較混亂,再重新捋一下:
-
首先使用
vim
編輯器建立一個名為test.cpp
的檔案。
具體內容如下:
-
然後使用
g++ -o test test.cpp
命令編譯生成可執行檔案test
。 -
接著使用
vim
編輯器建立了輸入檔案data.txt
具體內容如下: -
再執行命令
./test < data.txt > output.txt
,將輸入檔案data.txt
的內容作為test
程式的輸入,將程式的輸出重定向到輸出檔案output.txt
-
最後使用
vim output.txt
命令檢視輸出檔案的內容。
具體內容如下:
注意:
我一開始用的是test < data.txt > output.txt
,但是並沒有達到預期的效果,output.txt
檔案是空的。
所以我改成了./test < data.txt > output.txt
,才達到了預期的效果。
補充:
問了下chatgpt檔案重定向,附上它的回答:
檔案重定向是指將程式的輸入和輸出重定向到檔案,而不是預設的標準輸入(鍵盤)和標準輸出(螢幕)。
在不同的作業系統中,重定向的語法可能會有所不同。以下是一些基本的用法示例,主要針對 Unix/Linux 系統和 Windows 系統:
在 Unix/Linux 系統中:
-
輸出重定向(將輸出寫入檔案):
command > output.txt
這將把 command 的輸出寫入 output.txt 檔案。如果檔案已存在,則會覆蓋它。
-
追加輸出重定向(將輸出追加到檔案):
command >> output.txt
這將把 command 的輸出追加到 output.txt 檔案,而不是覆蓋它。
-
輸入重定向(從檔案讀取輸入):
command < input.txt
這將從 input.txt 檔案讀取輸入。
-
錯誤重定向(將錯誤輸出寫入檔案):
command 2> error.txt
這將把 command 的錯誤輸出寫入 error.txt 檔案。
在 Windows 系統中:
-
輸出重定向(將輸出寫入檔案):
command > output.txt
這將把 command 的輸出寫入 output.txt 檔案。如果檔案已存在,則會覆蓋它。
-
追加輸出重定向(將輸出追加到檔案):
command >> output.txt
這將把 command 的輸出追加到 output.txt 檔案,而不是覆蓋它。
-
輸入重定向(從檔案讀取輸入):
command < input.txt
這將從 input.txt 檔案讀取輸入。
-
錯誤重定向(將錯誤輸出寫入檔案):
command 2> error.txt
這將把 command 的錯誤輸出寫入 error.txt 檔案。
看完gpt的解釋,相信對./test < data.txt > output.txt
這一語句會更加理解了。