unix體系結構
從嚴格意義上說,可將操作系統定義為一種軟件,它控制計算機硬件資源,提供程序運行環境。我們通常將這種軟件稱為內核(kernel),因為它相對較小,而且位于環境的核心。
內核的接口被稱為系統調用(system call)。公用 函數庫構建在系統調用接口之上,應用程序既可使用公用函數庫,也可使用系統調用。shell 是一個特殊的應用程序,為運行其他應用程序提供了一個接口。

登錄名
/etc/passwd文件用于存儲用戶賬戶信息。每一行代表一個用戶賬戶,由7個字段組成,用冒號(:)分隔,依次是:登錄名、加密口令、用戶ID、組ID、注釋、起始目錄以及shell程序。
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
UID和GID都是0表示最高權限。
/sbin/nologin表示不允許登錄,大多數系統用戶都使用?/sbin/nologin?作為shell,防止這些賬戶被用于登錄。
三個標準文件描述符:
標準輸入(Standard Input,stdin)
文件描述符:0
默認情況下連接到鍵盤
程序通過它讀取輸入數據
標準輸出(Standard Output,stdout)
文件描述符:1
默認情況下連接到終端屏幕
程序通過它輸出正常信息
標準錯誤(Standard Error,stderr)
文件描述符:2
默認情況下也連接到終端屏幕
程序通過它輸出錯誤和診斷信息
參考:
APUE
unix高級編程引入apue.h