5.1 什麼是「外圍程序」?

一般而言,外圍程序就是 Bash (Bourne again Shell)。本章所述的「外圍程序」指的是 Bash。實際上,除了 Bash 以外,還存在其他具有不同功能與特性的外圍程序。如需有關其他外圍程序的詳細資訊,請在 YaST 中搜尋外圍程序

5.1.1 瞭解 Bash 組態檔案

可使用以下方式呼叫外圍程序︰

  1. 做為互動式登入外圍程序。當使用 --login 選項呼叫 Bash 以登入機器,或使用 SSH 登入遠端機器時採用這種方式。

  2. 做為「一般」的互動式外圍程序。啟動 xterm、konsole 或類似工具時通常會使用這種方式。

  3. 做為非互動式外圍程序。在指令行中呼叫外圍程序程序檔時使用這種方式。

系統會讀取不同的組態檔案,視所使用的外圍程序類型而定。下面的表格顯示了登入與非登入外圍程序組態檔案。

表 5-1 登入外圍程序的 Bash 組態檔案

檔案

描述

/etc/profile

請勿修改此檔案,否則您的修改在下次更新時可能會被破坏!

/etc/profile.local

擴充 /etc/profile 時,使用此檔案

/etc/profile.d/

包含特定程式的系統層級組態檔案

~/.profile

在此處插入登入外圍程序的使用者特定組態

表 5-2 非登入外圍程序的 Bash 組態檔案

/etc/bash.bashrc

請勿修改此檔案,否則您的修改在下次更新時可能會被破坏!

/etc/bash.bashrc.local

使用此檔案僅插入 Bash 的系統層級修改

~/bashrc

在此處插入使用者特定的組態

此外,Bash 還使用以下其他檔案︰

表 5-3 Bash 的特殊檔案

檔案

描述

~/.bash_history

包含您鍵入的所有指令清單

~/.bash_logout

登出時使用

5.1.2 目錄結構

下表概述了可在 Linux 系統中找到的最重要的較高層目錄。下列清單中提供了關於目錄與重要子目錄的更多詳細資訊。

表 5-4 標準目錄網路樹的綜覽

目錄

內容

/

根目錄 — 目錄樹的起點。

/bin

基本的二進位檔案,例如系統管理員與一般使用者都需要使用的指令。通常還包含 Bash 等外圍程序。

/boot

開機載入程式的靜態檔案。

/dev

存取主機特定設備所需的檔案。

/etc

主機特定系統的組態檔案。

/home

存放系統中所有擁有帳戶之使用者的主目錄。只有 root 的主目錄不在 /home 中,而是位於 /root 中。

/lib

基本的共享程式庫與核心模組。

/media

抽取式媒體的定點。

/mnt

用於暫時裝載檔案系統的定點。

/opt

附加應用程式軟體套件。

/root

超級使用者 root 的主目錄。

/sbin

基本的系統二進位檔案。

/srv

系統所提供之服務的資料。

/tmp

暫存檔案。

/usr

包含唯讀資料的次要階層。

/var

可變資料,例如記錄檔案。

/windows

僅當系統中同時安裝了 Microsoft Windows* 與 Linux 才可以使用。包含 Windows 資料。

以下清單提供了更多詳細資訊,以及可在其中找到檔案與子目錄的一些目錄範例︰

/bin

包含 root 及其他使用者可能會使用的基本外圍程序指令。這些指令包括 lsmkdircpmvrm 以及 rmdir/bin 還包含 SUSE Linux Enterprise Server 中的預設外圍程序 Bash。

/boot

包含開機所需的資料,例如開機載入程式、核心及核心開始執行使用者模式程式之前所使用的其他資料。

/dev

存放代表硬體元件的設備檔案。

/etc

包含控制 X Window System 等程式的操作的本地組態檔案。/etc/init.d 子目錄包含開機期間執行的程序檔。

/home/使用者名稱

存放系統中每個擁有帳戶之使用者的個人資料。只有檔案擁有者或系統管理員才能修改位於此處的檔案。依預設,電子郵件目錄與個人桌面組態以隱藏檔案與目錄的形式存放於此處。KDE 使用者可分別在 .kde.kde4 中找到其桌面的個人組態資料,而 GNOME 使用者可在 .gconf 中找到相應資料。

附註: 網路環境中的主目錄

如果您是在網路環境中工作,您的主目錄可能會對應至檔案系統中 /home 以外的目錄。

/lib

包含啟動系統及執行根檔案系統中的指令所需的基本共享程式庫。在 Windows 中,對應的共享程式庫為 DLL 檔案。

/media

包含 CD-ROM、USB 晶片組及數位相機 (若使用 USB) 等抽取式媒體的定點。/media 通常存放系統硬碟之外的任何類型磁碟機或光碟機。抽取式媒體插入或連接到系統並進行裝載後,您就可以從此處存取該媒體。

/mnt

此目錄提供了暫時裝載之檔案系統的定點。root 可在此處裝載檔案系統。

/opt

為安裝其他軟體而保留。可在該處找到選擇性軟體與大型附加程式套件。KDE3 位於該處,而 KDE4 與 GNOME 現已移至 /usr

/root

root 使用者的主目錄。root 的個人資料位於此處。

/sbin

s 所指示,此目錄存放適用於超級使用者的公用程式。/sbin 不僅包含 /bin 中的二進位檔案,還包含啟動、還原及復原系統所必需的二進位檔案。

/srv

存放系統所提供之服務的資料,例如 FTP 與 HTTP。

/tmp

需要檔案暫時儲存區的程式會使用此目錄。

/usr

/usr 與使用者無關,而是 UNIX 系統資源 (UNIX system resource) 的縮寫。/usr 中的資料是靜態唯讀的資料,可依照檔案系統階層標準 (Filesystem Hierarchy Standard, FHS) 在不同的主機之間共享。此目錄包含所有應用程式,並且會在檔案系統中建立次要階層。KDE4 與 GNOME 也位於此處。/usr 存放了許多子目錄,例如 /usr/bin/usr/sbin/usr/local 以及 /usr/share/doc

/usr/bin

包含一般情況下可存取的程式。

/usr/sbin

包含為系統管理員保留的程式,例如修復功能。

/usr/local

在此目錄中,系統管理員可安裝獨立版本的本地延伸。

/usr/share/doc

存放系統的各種文件檔案與版本說明。在 manual 子目錄中,可找到此手冊的線上版本。如果安裝了多種語言,此目錄可能會包含不同語言的手冊版本。

packages 下面,可找到系統上已安裝軟體套件中所包含的文件。每個套件都有一個子目錄 /usr/share/doc/packages/套件名稱,該目錄通常用於存放套件的讀我檔案,有時也會存放範例、組態檔案或其他程序檔。

如果系統中安裝了 HOWTO,/usr/share/doc 還會存放 howto 子目錄,在其中提供許多與 Linux 軟體設定及操作相關之任務的其他文件。

/var

/usr 存放的是靜態唯讀資料,而 /var 存放的是系統操作時寫入的資料,因此為可變資料,例如記錄檔案或多工緩衝處理資料。例如,系統的記錄檔案位於 /var/log/messages 中 (只有 root 才能存取)。