OS X Server:如何編輯設定檔

伺服器說明文件可能會指示您建立或修改屬性列表(plist)或其他文字設定檔,以啟用未於 Server Admin Tools 中顯示的功能。

這篇文章已封存,而且 Apple 也不會再更新。

如果您並不熟悉如何編輯設定檔,請閱讀下列主題。

選擇適當的文字編輯器

「文字編輯」(位於「/應用程式/」內)是常見的圖形化文字編輯器。在某些情況下,您可以使用它編輯設定檔,但必須特別注意的是,請將文件儲存為可供系統使用的格式(請參閱下文)。在權限有限的情況下,使用「文字編輯」編輯檔案也較使用命令列文字編輯器更為困難。

使用命令列文字編輯器可以避免一些使用「文字編輯」會發生的格式和權限錯誤。OS X 隨附的三種功能最完整的命令列文字編輯器為:

  • Nano 是簡易的命令列型編輯器。它是 Pico 編輯器的替代程式,因此運用 Pico 編輯器的相關指示,可以配合 Nano 編輯器使用。如果您呼叫 Pico 編輯器,實際上會執行 Nano。Nano 是使用命令列型編輯器的極佳入門程式,因為它包括容易理解的螢幕說明。
  • Vim 是 Vi 相容文字編輯器。它具有四處移動、搜尋以及編輯文件等多項優異的加強功能。基本編輯功能學習非常容易,此外尚有許多其他功能待您探索。大部分功能可以透過輸入觸發特定行為的按鍵組合加以存取。大部分以 UNIX 為基礎的作業系統都附有 Vim(或其發展的來源編輯器 Vi)。如果您將會從命令列進行大量編輯作業,就很適合學習使用此編輯器,但如果您僅需偶爾使用命令列型編輯器,可以完成作業而不需要特地學習。
  • Emacs 和 Vim 一樣,是大部分以 UNIX 為基礎的系統都具備的全功能編輯器。除了編輯功能外,Emacs 具有充分的可自訂性,模組中提供額外的功能,可讓 Emacs 介面進行文字編輯以外的各種作業。使用 Emacs 進行基本編輯相當容易,其功能方面的深度也可供專屬使用者進一步探索。Emacs 和 Vim 同樣是運用按鍵組合存取各項功能行為。需要熟記按鍵組合才能發揮這些功能的作用,因此 Emacs 對於經常使用命令列的人士最為有用。

如果您是使用命令列的新手,且日後不會經常使用命令列進行編輯,那麼 Nano 可能是您的最佳選擇。如果您將會花大量時間使用命令列環境,則學習使用 Vim 或 Emacs 可能有其價值。這些編輯器的設計概念極為不同,因此您需要花一些時間分別加以瞭解,以判斷何者最適合您的需要。

呼叫命令列編輯器的方法是輸入編輯器的名稱,後面加上空格,再加上您要開啟的檔案名稱。如果您想要建立新檔案,請為檔案輸入名稱。以下是使用 Nano 在您的「文件」檔案夾中開啟新檔案 myFile.conf 的範例:

nano ~/Documents/myFile.conf

視檔案的權限而定,您可能必須使用 sudo 指令。以下是使用 Nano 編輯僅能由 Root 使用者變更之 ldap.conf 檔案的範例:

sudo nano /etc/openldap/ldap.conf

如需更多有關使用 Nano 或 Emacs 的資訊,請參閱它們各自的手冊頁面。

儲存文字檔案供系統使用

當您編輯文字檔案以供 UNIX 工具程式執行時,需要正確儲存檔案,以利檔案的呼叫程式使用(或執行)。使用純文字以及確保權限正確尤其重要。

使用純文字

許多圖形化文字編輯器(包括「文字編輯」)會以較大部分 UNIX 程式預期更為複雜的格式儲存文字檔案。如果您要使用「文字編輯」編輯文字設定檔,請將檔案儲存為純文字檔案,而不要存為預設的 RTF 格式。若要在「文字編輯」中變更預設的文字文件格式,您有兩個選擇:

  • 若要將所有文件儲存為純文字格式,請在「文字編輯」偏好設定的「新增文件」面板中選擇「格式」下的「純文字」。
  • 若要變更個別文件的格式,請從「格式」選單中選擇「製作純文字格式」。

雖然 RTF 格式在編輯器中看來像是簡單文字,但實際上是一種並非包含於純文字檔案(大部分 UNIX 程式預期的格式)的完整規格,其中描述格式、色彩、字體及其他資訊。若要查看 RTF 格式文件中實際包含的內容,請以「文字編輯」儲存文件,然後以命令列文字編輯器開啟相同的檔案。

命令列文字編輯器會自動以純文字格式儲存設定檔。

權限

您必須具有設定檔的讀寫權限,且必須確認受到編輯的檔案保留了其原始權限,否則系統可能無法使用檔案。

許多系統檔案僅能由 Root 使用者編輯。如果您在以一般使用者身分登入後以「文字編輯」開啟具有限制權限的設定檔,可能會收到訊息,指出您沒有儲存檔案的權限。請避免變更檔案權限或以 Root 使用者身分登入以存取檔案。請改為以管理者身分登入,並以命令列編輯器使用 sudo 指令暫時取得 Root 使用者權限,如上所述。

編輯屬性列表

OS X 中的許多偏好設定與設定檔會使用屬性列表(plist)指定應用程式或程序的屬性。使用者個人專屬檔案夾的 Library/Preferences/ 檔案夾中 Finder 的偏好設定 plist 就是一個例子。檔案會命名為 com.apple.Finder.plist。plist 的預設命名慣例包括將散發者的反向 DNS 名稱附加到應用程式或程序名稱開頭,並在後面加上 .plist 副檔名。

屬性列表可能為二進位檔或 xml 格式。您可以使用文字編輯器編輯 xml 屬性列表,且可以使用下列工具編輯任何格式的屬性列表。

  • Xcode屬性列表編輯器是 OS X 開發人員工具,提供用以編輯屬性列表的圖形介面。Xcode 第 4 版或以上版本可以直接編輯屬性列表。舊版的開發人員工具包含「屬性列表編輯器」(以獨立應用程式的形式提供)。如果您瞭解屬性列表及它們的規則,這些工具將能夠充分發揮作用。如需相關資訊,請參考 http://developer.apple.com/mac。
  • defaults 是您可以用來讀取與編輯屬性列表的命令列工具。如果您清楚屬性列表中需要變更的特定鍵值和值為何,使用此工具會非常有效率。
  • PlistBuddy 是另一種可以直接讀取和修改屬性列表值的命令列工具。當您需要變更複雜的 plist 檔案時,此工具較 defaults 更有彈性。

如需使用 defaults 和 PlistBuddy 的相關資訊,請參閱它們各自的手冊(man)頁面。

更多內容

編輯之前備份檔案

任何時候當您編輯設定檔或屬性列表時,在編輯之前為檔案進行備份是很好的做法。這樣一來,如果您不小心錯誤設定了檔案,就可以使用可用的副本替代。由於許多設定檔案位於您有讀取權限但沒有寫入權限的位置,一般而言,您可以使用 Finder 將檔案拷貝到另一個位置,或使用 sudo 指令於適當的位置拷貝檔案。例如,下面的指令會為 syslog.conf 檔案製作名稱為 syslog.conf.original 的備份副本。

sudo cp /etc/syslog.conf /etc/syslog.conf.original

下面的兩個指令會將錯誤設定的 syslog.conf 檔案移至其他位置,並以上面建立的備份副本加以替代。

sudo mv /etc/syslog.conf /etc/syslog.conf.bad

sudo cp /etc/syslog.conf.original /etc/syslog.conf

發佈日期: