首頁 > 環境與工具程式 > redirect

重定向(Redirection)指南:改變命令的輸入/輸出方向

Linux Shell 中的重定向功能用於改變命令的標準輸入/輸出方向。當您想將文件內容作為輸入,或將命令結果保存到文件而不是屏幕時,就會使用它。這是與管道符號(`|`)一起,在 Shell 腳本和數據處理中最基本的工具之一。

重定向概述

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` 文件中。


相關命令

功能上相似或經常一起使用的命令。


相同類別命令