跳至內容

Unix/檔案和程序快速入門

來自華夏公益教科書,開放的書籍,開放的世界


在 Unix 中,所有東西都是檔案或程序。在 Unix 中,檔案只是資料流的目的地或來源。因此,例如,印表機是一個檔案,螢幕也是一個檔案。

程序是當前正在執行的程式。因此,程序可能與檔案相關聯。檔案儲存執行該程序以執行的指令。

另一種看待它的方式是,檔案是可以透過名稱引用的資料集合。檔案由使用者直接建立(使用文字編輯器、執行編譯器等)或間接建立(透過執行某些程式 - 例如處理文字輸入檔案以生成格式化的檔案以供列印)。

檔案示例包括

  • 文字文件;
  • 用 C++ 或 Java 等程式語言編寫的程式;
  • jpeg 圖片;
  • 目錄:目錄可以被認為是 Windows 資料夾的模擬。目錄是包含指向其他檔案的連結的檔案。

標準輸入、輸出和標準錯誤流

[編輯 | 編輯原始碼]

有兩個檔名稱比較模糊,即stdinstdout。這些名稱指的是資料的預設來源和目的地。考慮由命令ls啟動的程序。該程序的預設輸出是當前工作目錄中檔案的列表,然後顯示在螢幕上。這說明了預設輸出stdout,它只是螢幕。相反,標準輸入是鍵盤 - 因此也稱為 stdin。

在 Shell 程式設計中,通常需要阻止 Unix 命令的錯誤訊息顯示在螢幕上。相反,它們要麼被抑制,要麼被髮送到檔案。這是透過將錯誤訊息重定向到檔名或/dev/null(空裝置或目的地)來實現的。要使用這些流(stdin、stdout、stderr)在 shell 中,我們使用數值描述符而不是名稱來引用它們。

流名稱 描述符
stdin 0
stdout 1
stderr 2

回顧:命令有效地從檔案獲取輸入,並將輸出定向到檔案。預設情況下,輸出檔案是螢幕,輸入檔案是鍵盤。

華夏公益教科書