重定向概述
Linux 系統將所有輸入和輸出都視為文件。重定向可以改變這些基本輸入/輸出流的方向,使得命令的結果可以被寫入文件而不是輸出到屏幕,或者將文件的內容用作命令的輸入。
標準輸入/輸出流
所有命令預設使用以下三種標準流:
- 標準輸入 (stdin, 0): 命令讀取數據的通道。預設是鍵盤。
- 標準輸出 (stdout, 1): 命令正常結果輸出的通道。預設是屏幕(終端)。
- 標準錯誤 (stderr, 2): 命令錯誤消息輸出的通道。預設是屏幕(終端)。
重定向運算符
您可以使用各種重定向運算符來控制輸入/輸出的方向。請注意,直接使用 'redirect' 命令會導致錯誤,必須使用 `>`、`>>`、`<` 等符號。
1. 標準輸出重定向
2. 標準錯誤重定向
3. 標準輸入重定向
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`redirect` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
常用範例
通過使用重定向的各種範例來學習如何控制輸入和輸出。
將命令結果保存到文件
ls -l > file_list.txt
將 `ls -l` 命令的結果保存到 `file_list.txt` 文件中,如果文件已存在則覆寫。
將多個命令結果附加到一個文件
echo "--- 作業開始 ---" >> log.txt
date >> log.txt
將 `echo` 命令的結果附加到 `log.txt` 文件中,然後將 `date` 命令的結果也附加到同一個文件中。使用 `>>` 保留現有內容。
僅將錯誤消息分離到單獨的文件
ls non_existent_file 2> error.log
執行對不存在文件的 `ls` 命令,並將錯誤消息 (`2>`) 發送到 `error.log` 文件。正常輸出將照常顯示在屏幕上。
將輸入文件傳遞給命令
sort < numbers.txt
將 `sort` 命令的輸入指定為 `numbers.txt` 文件以排序文件內容。`sort` 將文件內容作為標準輸入進行處理。
將輸出和錯誤都保存到一個文件
ls /home non_existent_file &> output_and_error.log
將所有正常輸出和錯誤消息保存到 `output_and_error.log` 文件中。