Unix/檔案和程序快速入門
外觀
在 Unix 中,所有東西都是檔案或程序。在 Unix 中,檔案只是資料流的目的地或來源。因此,例如,印表機是一個檔案,螢幕也是一個檔案。
程序是當前正在執行的程式。因此,程序可能與檔案相關聯。檔案儲存執行該程序以執行的指令。
另一種看待它的方式是,檔案是可以透過名稱引用的資料集合。檔案由使用者直接建立(使用文字編輯器、執行編譯器等)或間接建立(透過執行某些程式 - 例如處理文字輸入檔案以生成格式化的檔案以供列印)。
檔案示例包括
- 文字文件;
- 用 C++ 或 Java 等程式語言編寫的程式;
- jpeg 圖片;
- 目錄:目錄可以被認為是 Windows 資料夾的模擬。目錄是包含指向其他檔案的連結的檔案。
有兩個檔名稱比較模糊,即stdin和stdout。這些名稱指的是資料的預設來源和目的地。考慮由命令ls啟動的程序。該程序的預設輸出是當前工作目錄中檔案的列表,然後顯示在螢幕上。這說明了預設輸出stdout,它只是螢幕。相反,標準輸入是鍵盤 - 因此也稱為 stdin。
在 Shell 程式設計中,通常需要阻止 Unix 命令的錯誤訊息顯示在螢幕上。相反,它們要麼被抑制,要麼被髮送到檔案。這是透過將錯誤訊息重定向到檔名或/dev/null(空裝置或目的地)來實現的。要使用這些流(stdin、stdout、stderr)在 shell 中,我們使用數值描述符而不是名稱來引用它們。
| 流名稱 | 描述符 |
|---|---|
| stdin | 0 |
| stdout | 1 |
| stderr | 2 |
回顧:命令有效地從檔案獲取輸入,並將輸出定向到檔案。預設情況下,輸出檔案是螢幕,輸入檔案是鍵盤。
