2
栏目分类
热点资讯
鳥哥的 Linux 私房菜
我們在第一章 Linux 是什麼當中提到了:管理整個電腦硬體的其實是作業系統的核心 (kernel),這個核心是需要被保護的!所以我們一般使用者就只能透過 sh...
oGPU中文网 你的位置:LITH中文网 > oGPU中文网 > 鳥哥的 Linux 私房菜
鳥哥的 Linux 私房菜 发布日期:2025-01-04 14:51    点击次数:177
我們在第一章 Linux 是什麼當中提到了: 管理整個電腦硬體的其實是作業系統的核心 (kernel),這個核心是需要被保護的! 所以我們一般使用者就只能透過 shell 來跟核心溝通,以讓核心達到我們所想要達到的工作。 那麼系統有多少 shell 可用呢?為什麼我們要使用 bash 啊?底下分別來談一談喔! 硬體、核心與 Shell 為何要學文字介面的 shell? 系統的合法 shell 與 /etc/shells 功能 那麼目前我們的 Linux (以 CentOS 5.x 為例) 有多少我們可以使用的 shells 呢? 你可以檢查一下 /etc/shells 這個檔案,至少就有底下這幾個可以用的 shells: /bin/sh (已經被 /bin/bash 所取代) /bin/bash (就是 Linux 預設的 shell) /bin/ksh (Kornshell 由 AT&T Bell lab. 發展出來的,相容於 bash) /bin/tcsh (整合 C Shell ,提供更多的功能) /bin/csh (已經被 /bin/tcsh 所取代) /bin/zsh (基於 ksh 發展出來的,功能更強大的 shell) 雖然各家 shell 的功能都差不多,但是在某些語法的下達方面則有所不同,因此建議你還是得要選擇某一種 shell 來熟悉一下較佳。 Linux 預設就是使用 bash ,所以最初你只要學會 bash 就非常了不起了! ^_^! 另外,咦!為什麼我們系統上合法的 shell 要寫入 /etc/shells 這個檔案啊? 這是因為系統某些服務在運作過程中,會去檢查使用者能夠使用的 shells ,而這些 shell 的查詢就是藉由 /etc/shells 這個檔案囉! 舉例來說,某些 FTP 網站會去檢查使用者的可用 shell ,而如果你不想要讓這些使用者使用 FTP 以外的主機資源時,可能會給予該使用者一些怪怪的 shell,讓使用者無法以其他服務登入主機。 這個時候,你就得將那些怪怪的 shell 寫到 /etc/shells 當中了。舉例來說,我們的 CentOS 5.x 的 /etc/shells 裡頭就有個 /sbin/nologin 檔案的存在,這個就是我們說的怪怪的 shell 囉~ 那麼,再想一想,我這個使用者什麼時候可以取得 shell 來工作呢?還有, 我這個使用者預設會取得哪一個 shell 啊?還記得我們在第五章的在終端介面登入linux小節當中提到的登入動作吧? 當我登入的時候,系統就會給我一個 shell 讓我來工作了。 而這個登入取得的 shell 就記錄在 /etc/passwd 這個檔案內!這個檔案的內容是啥? [root@www ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin .....(底下省略)..... 如上所示,在每一行的最後一個資料,就是你登入後可以取得的預設的 shell 啦!那你也會看到, root 是 /bin/bash ,不過,系統帳號 bin 與 daemon 等等,就使用那個怪怪的 /sbin/nologin 囉~關於使用者這部分的內容,我們留在第十四章的帳號管理時提供更多的說明。 Bash shell 的功能 Bash shell 的內建命令: type 指令的下達