UNIX 是什么

2022-03-04 15:33 更新

UNIX 操作系統(tǒng)是一系列的程序,將計(jì)算機(jī)和用戶聯(lián)系在一起。

分配系統(tǒng)資源和協(xié)調(diào)計(jì)算機(jī)內(nèi)部的所有詳細(xì)信息的計(jì)算機(jī)程序被稱(chēng)為操作系統(tǒng)或內(nèi)核。

用戶通過(guò)一個(gè)稱(chēng)為 Shell 的程序內(nèi)核進(jìn)行通信。Shell 是一個(gè)命令行解釋器; 它將用戶輸入的命令進(jìn)行轉(zhuǎn)換,并將它們轉(zhuǎn)換為一種可以使內(nèi)核理解的語(yǔ)言。

  • UNIX 最初是 1969 年由一批在貝爾實(shí)驗(yàn)室的人員開(kāi)發(fā)出來(lái)的,包括 Ken Thompson,Dennis Ritchie, Douglas McIlroy 和 Joe Ossanna。
  • 在市場(chǎng)上有各種 UNIX 變體,他們被稱(chēng)為類(lèi)UNIX。例如 Solaris Unix, AIX, HP Unix 和 BSD 。Linux 也是受歡迎的免費(fèi)的類(lèi)UNIX系統(tǒng)。
  • 許多人可以同時(shí)使用 UNIX 計(jì)算機(jī);因此 UNIX 被稱(chēng)為多用戶系統(tǒng)。
  • 用戶也可以在同一時(shí)間運(yùn)行多個(gè)程序;因此 UNIX 被稱(chēng)為多任務(wù)處理。

 注:實(shí)際上Linux并不是UNIX,它被稱(chēng)為類(lèi)UNIX系統(tǒng),他們繼承了原始UNIX的特性,但是他并不是UNIX的分支,而Free BSD是由UNIX的的源代碼進(jìn)行修改得來(lái)的,他屬于UNIX的分支。

蘋(píng)果的OS X系統(tǒng)源自于Free BSD的源代碼,從本質(zhì)上來(lái)說(shuō)OS X也是UNIX系統(tǒng)的分支。

UNIX 體系結(jié)構(gòu)

這里是一個(gè) UNIX 系統(tǒng)基本框圖:

Unix系統(tǒng)基本框圖

hardware:硬件,比如屏幕顯示,鍵盤(pán)輸入等
kernel:內(nèi)核,負(fù)責(zé)連接硬件和內(nèi)核,只有通過(guò)內(nèi)核才能操作硬件
shell:可以理解為一個(gè)框架(更多的翻譯將其翻譯為殼),通過(guò)這個(gè)框架外層的應(yīng)用可以調(diào)用內(nèi)核

application programs:應(yīng)用程序,比如數(shù)據(jù)庫(kù)(DBMS),郵件服務(wù)(mail)等,他們可能需要使用到硬件,這時(shí)候就要通過(guò)shell去調(diào)用內(nèi)核,繼而操作硬件。

總結(jié)所有版本的 UNIX 的主要概念包含以下四個(gè)基本要素:

  • 內(nèi)核:內(nèi)核是操作系統(tǒng)的核心。它與硬件和大多數(shù)任務(wù)像內(nèi)存管理任務(wù)調(diào)度和文件管理交互。
  • Shell:shell 是用于處理您的請(qǐng)求的實(shí)用程序。當(dāng)您在您的終端鍵入命令時(shí),Shell 將命令解釋并調(diào)用你想要的程序。Shell 使用標(biāo)準(zhǔn)語(yǔ)法的所有命令。C Shell, Bourne Shell 和 Korn Shell 是最著名的 shell ,適用于大多數(shù) UNIX 變體。
  • 命令和實(shí)用程序:有各種各樣的命令和實(shí)用程序可供您使用。cp, mv, catgrep 等是命令和實(shí)用程序的幾個(gè)例子。有超過(guò) 250 標(biāo)準(zhǔn)命令,再加上通過(guò)第三方軟件提供的其他命令。所有的命令都跟著各種可選的選項(xiàng)。
  • 文件和目錄:在 UNIX 中的所有數(shù)據(jù)被都組織到文件中。所有文件被都組織到目錄中。這些目錄被組織成一個(gè)稱(chēng)為文件系統(tǒng)的樹(shù)狀結(jié)構(gòu)。

系統(tǒng)啟動(dòng)

如果你有一臺(tái)電腦安裝了 UNIX 操作系統(tǒng),然后你只需要打開(kāi)其電源,使其運(yùn)行。

只要你打開(kāi)電源,系統(tǒng)開(kāi)始啟動(dòng),最后它會(huì)提示您登錄到系統(tǒng),登錄到系統(tǒng)和使用它為您日復(fù)一日的活動(dòng)。

登陸 UNIX

當(dāng)你第一次連接到 UNIX 系統(tǒng)時(shí),你通常會(huì)看到如下提示:

    login:

登錄

  • 準(zhǔn)備好您的用戶名 ( 用戶標(biāo)識(shí) ) 及密碼。如果你還沒(méi)有這些,請(qǐng)聯(lián)系您的系統(tǒng)管理員。
  • 在登錄提示符下,鍵入您的用戶名,然后按 ENTER 鍵。用戶 id 區(qū)分大小寫(xiě)。
  • 在密碼提示符下,鍵入您的密碼,然后按 ENTER 鍵。您的密碼也區(qū)分大小寫(xiě)。
  • 如果您提供正確的用戶 id 和密碼,你將被允許進(jìn)入系統(tǒng)。此時(shí)屏幕上回顯的信息如下圖所示。
    login : amrood
    amrood's password:
    Last login: Sun Jun 14 09:32:32 2009 from 62.61.164.73
    $

系統(tǒng)會(huì)為您提供 (有時(shí)稱(chēng)為 $ 提示) 一個(gè)命令提示符,你可以在下面鍵入你所有的命令。例如若要檢查日歷您需要鍵入? cal ?命令,如下所示:

    $ cal
     June 2009
    Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6
     7  8  9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30

    $

修改密碼

所有 UNIX 系統(tǒng)都需要密碼以確保您的文件和數(shù)據(jù)的安全性,這個(gè)約束可以保證您的文件免受黑客破壞。這里是更改密碼的步驟:

  1. 開(kāi)始時(shí),在命令提示符處鍵入 passwd 如下所示。

  2. 請(qǐng)輸入您的舊密碼,即您目前使用的密碼。

  3. 輸入你的新密碼(來(lái)自密碼學(xué)的建議:密碼要設(shè)置得足夠復(fù)雜避免被他人猜出才能保證安全,但密碼也不能復(fù)雜到自己都無(wú)法記憶)。

  4. 再次輸入密碼以確認(rèn)。
    $ passwd
    Changing password for amrood
    (current) Unix password:******
    New UNIX password:*******
    Retype new UNIX password:*******
    passwd: all authentication tokens updated  successfully

    $

注意 : 此處用?* ?的位置是來(lái)代表那是輸入當(dāng)前密碼和新密碼的位置,當(dāng)您鍵入字符時(shí)這些字符不會(huì)直接顯示出來(lái),而是以?*?號(hào)代替。

列出目錄和文件

在 UNIX 中的所有數(shù)據(jù)被都組織到文件。所有文件被都組織成目錄。這些目錄被組織成一個(gè)稱(chēng)為文件系統(tǒng)的樹(shù)狀結(jié)構(gòu)。

您可以使用 ls 命令列出所有的文件或目錄在目錄中。以下是使用 ls 命令與 -l 選項(xiàng)的示例。

    $ ls -l
    total 19621
    drwxrwxr-x  2 amrood amrood  4096 Dec 25 09:59 uml
    -rw-rw-r--  1 amrood amrood  5341 Dec 25 08:38 uml.jpg
    drwxr-xr-x  2 amrood amrood  4096 Feb 15  2006 univ
    drwxr-xr-x  2 root   root4096 Dec  9  2007 urlspedia
    -rw-r--r--  1 root   root  276480 Dec  9  2007 urlspedia.tar
    drwxr-xr-x  8 root   root4096 Nov 25  2007 usr
    -rwxr-xr-x  1 root   root3192 Nov 25  2007 webthumb.php
    -rw-rw-r--  1 amrood amrood 20480 Nov 25  2007 webthumb.tar
    -rw-rw-r--  1 amrood amrood  5654 Aug  9  2007 yourfile.mid
    -rw-rw-r--  1 amrood amrood166255 Aug  9  2007 yourfile.swf

    $

d...... 開(kāi)頭的在這里表示目錄。例如 uml, univ 和 urlspedia 是目錄,其余的為文件。

你是誰(shuí)?

當(dāng)您登錄到系統(tǒng)時(shí),你可能想知道當(dāng)前登錄的用戶是誰(shuí)。

最簡(jiǎn)單的查看當(dāng)前登錄的用戶名的方法是輸入 whoami 命令:

    $ whoami
     amrood

    $

在你的系統(tǒng)上試一試。此命令將列出與當(dāng)前的登錄名關(guān)聯(lián)的帳戶名稱(chēng)。你可以試試 who am i 命令以此來(lái)獲取有關(guān)自己的信息。

已登錄的是誰(shuí)?

有時(shí)你可能想知道誰(shuí)同時(shí)登錄到計(jì)算機(jī)。

這里有三個(gè)命令可以用來(lái)獲取你此信息,基于你想要了解其他用戶的程度: users,who,和 w。

    $ users
     amrood bablu qadir

    $ who
    amrood ttyp0 Oct 8 14:10 (limbo)
    bablu  ttyp2 Oct 4 09:08 (calliope)
    qadir  ttyp4 Oct 8 12:09 (dent)

    $

嘗試在您的系統(tǒng)上的 w 命令來(lái)檢查輸出。這將列出一些更多的與記錄在系統(tǒng)中的用戶相關(guān)聯(lián)的信息。

登出

當(dāng)您完成您的會(huì)話時(shí),您需要登出您的系統(tǒng),確保沒(méi)有其他人偽裝成您訪問(wèn)您的文件。

登出方法

  1. 只需在命令提示符下,鍵入 logout 命令然后系統(tǒng)將清理一切和斷開(kāi)連接

系統(tǒng)關(guān)機(jī)

關(guān)閉 UNIX 系統(tǒng)的最好的方法是通過(guò)命令行執(zhí)行以下命令之一:

命令 描述
halt 立即使系統(tǒng)關(guān)機(jī)。
init 0 在關(guān)機(jī)之前使用預(yù)定義的腳本來(lái)同步和清理你的系統(tǒng)。
init 6 在系統(tǒng)完全關(guān)閉后重新啟動(dòng)系統(tǒng),然后將它完全備份
poweroff 通過(guò)斷電自動(dòng)關(guān)閉系統(tǒng)。
reboot 重新啟動(dòng)
shutdown 關(guān)機(jī)

你通常需要超級(jí)用戶或root (在 UNIX 系統(tǒng)上最有特權(quán)的帳戶) 來(lái)關(guān)閉系統(tǒng),但在一些獨(dú)立或個(gè)人擁有的 UNIX 機(jī)器上,管理員用戶甚至常規(guī)用戶都可以這樣做。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)