此段落深入說明 SUSE Linux 系統的最重要指令。本章節列示很多指令。除了列示個別指令、參數之外,會在適當之處,介紹典型的範例應用程式。若要深入瞭解各種指令,請使用 man 後加上指令名稱來取得並使用手冊頁,例如,man ls。
在 man 頁面中,使用 PgUp 和 PgDn,上下移動。使用 Home 和 End,在文件的開頭和結尾之間移動。按 Q 結束此檢視模式。使用 man man,可詳細瞭解 man 指令本身的資訊。
在以下的介紹中,個別指令元件會以不同的字體表示。實際的指令以及它的必要選項,永遠會列印成 command option。不要求一定要放在 [方括號] 中的規格或參數。
視您的需要調整設定。如果沒有名稱為 file 的檔案存在,就不需要寫入 ls file。您通常可以結合數個參數,例如使用 ls -la 而不是 ls -l -a。
下節列出最重要的檔案管理指令。其中涵蓋一般檔案管理以及檔案系統 ACL 的操作。
[選項] [檔案] 如果您執行 ls 而未加上任何其他參數,程式會以簡要格式,列示所在目錄的內容。
-l詳細清單
-a顯示隱藏的檔案
[選項] 來源目標
複製來源到目標。
在覆寫現有目標 之前,等候確認 (若有需要)
循環複製 (包括子目錄)
[選項] 來源 目標
複製來源到目標,然後刪除原始來源。
移動之前,先建立來源的備份副本
在覆寫現有的 targetfile 之前,等候確認 (若有需要)
[選項] 檔案
從檔案系統移除指定的檔案。除非使用選項 -r,否則 rm 無法移除目錄。
-r刪除任何現有的子目錄
-i刪除每一個檔案前,等候確認。
[選項] 來源 目標
建立從來源到目標的內部連結。通常,這種連結會直接指向同一檔案系統上的來源。不過,如果執行 ln 時使用 -s 選項,它會建立符號連結,只會指向來源所在的目錄位置,提供跨檔案系統的連結功能。
建立符號連結
[選項] [目錄] 切換目前的目錄。cd 未加任何參數可以切換到使用者的主目錄。
[選項] 目錄 建立新目錄。
[選項] 目錄如果指定的目錄已經是空的,則會刪除該目錄。
[選項] 使用者名稱[:[群組]] 檔案將檔案的擁有權轉移給具有指定的使用者名稱的使用者。
-R變更所有子目錄中的檔案與目錄
[選項] 群組名稱 檔案
將指定檔案的群組擁有權,移交至指定的群組。如果成員屬於目前群組和新群組,則檔案擁有者只可以變更群組擁有權。
[選項] mode 檔案 變更存取許可權。
mode 參數有三個部分:group (群組)、access (存取) 和 access type (存取類型)。
group 可接受下列字元:
使用者
群組
其他
至於 access,使用 + 可授與存取權,使用 - 則可拒絕授與權限。
access type 將提供下列控制選項:
讀取
寫入
執行 -- 可執行檔案,或是變更成目錄
Setuid 位元 -- 應用程式或程式可以依照檔案擁有者方式,進行啟動
做為替代方法,可以使用數字程式碼。此程式碼的四個位數組成值 4、2 和 1 的總合 -- 二進位遮罩的十進位結果。第一個位數會設定使用者 ID (SUID) (4),設定群組 ID (2) 以及黏貼 (1) 位元。第二個位數定義檔案擁有者的許可權。第三個位數定義群組成員的權限,最後的位數會設定所有其他使用者的許可權。讀取許可權設成 4,寫入許可權設成 2,而執行檔案許可權設成 1。檔案的擁有者一般的執行檔案許可權是 6 或 7。
[參數] 檔案
此程式會使用複雜算術演算法來壓縮檔案內容。用此方法壓縮的檔案,其副檔名是 .gz,而且使用前,必須解壓縮。要壓縮多個檔案或整個目錄,請使用 tar 指令。
解壓縮包裝的 gzip 檔案,如此它們會恢復成原始大小而且可以正常處理 (和指令 gunzip 類似)。
選項 archive 檔案tar 將一或多個檔案放到歸檔。壓縮是選擇性的,tar 是相當複雜的指令,有多個選項可用。最常用的選項是:
-f通常用來將輸出寫入檔案而不是螢幕
-c建立新的 tar 歸檔
-r新增檔案至現有的歸檔
-t輸出歸檔的內容
u但是只有在檔案比已包含在歸檔中的檔案更新時,才新增檔案
-x解開歸檔的檔案 (擷取)
-z使用 gzip 包裝產生的歸檔
-j使用 bzip2 壓縮產生的歸檔
-v列示處理的檔案
由 tar 建立,且副檔名是 .tar 的歸檔檔案。如果 tar 封存也使用 gzip 壓縮,則副檔名是 .tgz 或 .tar.gz。如果它使用 bzip2 壓縮,則副檔名是 .tar.bz2。您可以在 節 27.1.8, "歸檔和資料壓縮" 找到應用程式範例。
型式
這個指令只有在您已經安裝 findutils-locate 套件時才可使用。locate 指令可以尋找指定檔案的所在目錄。如有需要,請使用萬用字元來指定檔案名稱。程式執行速度非常快,因為它使用針對這個目的而建立的資料庫 (不必搜尋整個檔案系統)。不過這樣快速的方式,也因此產生了缺點:locate 找不到本身資料庫最後更新之後建立的任何檔案。資料庫可以由 root 使用 updatedb 來產生。
[選項]
此指令會更新 locate 所使用的資料庫。要在現有目錄包括檔案,請以 root 身份執行程式。加上 &,將它放到背景也是好的方法,如此您可以立即繼續在同一個指令行工作 (updatedb &)。這個指令通常當成每日 cron 工作 (請參閱 cron.daily) 來執行。
[選項]使用 find,搜尋指定目錄中的檔案。第一個引數會指定從什麼目錄開始搜尋。選項 -name 的後面必須有一個搜尋字串,搜尋字串也可以包含萬用字元。和使用資料庫進行搜尋的 locate 不同,find 會掃描實際目錄。
[選項] 檔案 cat 指令可在不中斷的前提下顯示檔案的內容、列印整個內容至螢幕。
在輸出的左邊界加上編號
[選項] 檔案 此指令可以用來瀏覽指定檔案的內容。使用 PgUp 和 PgDn 向上或向下捲動螢幕的一半頁面,或者使用空格鍵捲動整個螢幕頁面。使用 Home 和 End 移至檔案的開頭或結尾。按 Q 結束程式。
[選項] searchstring 檔案
grep 指令可以在指定檔案中搜尋特定的搜尋字串。如果找到搜尋字串,指令會顯示一行,其中會有找到的 searchstring 以及檔案名稱。
-i忽略大小寫
-H只顯示相關檔案的名稱,不是文字行
-n另外顯示發現符合資料的行數
-l
只列示 searchstring 不存在的檔案
[選項] file1 file2diff 指令會比較任何兩個檔案的內容。程式產生的輸出,會列示不相符的所有行。只需要傳送程式變動的地方,而不是整個原始程式碼的程式設計人員經常使用此指令。
-q只報告兩個檔案是否不同
u產生"制式"差異,使輸出更方便閱讀
[選項] [設備] mountpoint 此指令可以用來裝載任何資料媒體,例如硬碟、CD-ROM 光碟機以及其他磁碟機至 Linux 檔案系統的目錄。
-r唯讀裝載
-t filesystem
指定檔案系統,通常 ext2 代表 Linux 硬碟、msdos 代表 MS-DOS 媒體、vfat 代表 Windows 檔案系統、iso9660 代表 CD
至於未定義在檔案 /etc/fstab 中的硬碟,也必須指定設備類型。在此狀況下,只有 root 可以裝載它。如果要讓其他使用者也能裝載該檔案系統,請在 /etc/fstab 的適當行,輸入選項 user (用逗點分開) 並儲存所做的變更。可在 mount(1) man 頁面取得更多資訊。
[選項] mountpoint
此指令會取消裝載檔案系統已裝載的磁碟機。要防止資料遺失,從磁碟機取出抽取式資料媒體前,執行此指令。一般情況下,只允許 root 執行 mount 與 umount 這兩個指令。要讓其他使用者執行這些指令,請編輯 /etc/fstab 檔案,為相關的磁碟機指定選項 user。
下節列出一些擷取系統資訊與程序以及網路控制時最重要的指令。
[選項] [目錄]df (磁碟可用空間) 指令,在未加上任何選項時,會顯示所有磁碟空間的資訊、目前使用的磁碟空間以及所有裝載磁碟機的可用空間。如果指定目錄,只會顯示該目錄所在磁碟機的資訊。
-h顯示佔用的區塊數目 (GB、MB 或 KB) -- 以人類可判讀的格式。
-T檔案系統的類型 (ext2、nfs 等等)
[選項] [路徑] 在執行時未加上任何參數,此指令會顯示目前目錄的檔案和子目錄所佔用的總磁碟空間。
-a顯示每一個別檔案的大小
-h人類可判讀之格式的輸出
-s只顯示計算的總共大小
[選項] 指令 free 會顯示關於 RAM 以及交換空間使用的相關資訊,顯示二者類別的總計以及使用總數。請參閱 節 30.1.6, "free 指令" 取得更多資訊。
-b以位元組為單位的輸出
-k以 KB 為單位的輸出
-m以 MB 為單位的輸出
[選項]
此簡單程式會顯示目前的系統時間。如果以 root 的身分執行,它也可以用來變更系統時間。可以在 date(1) man 頁面取得程式的詳細資料。
[選項] top 提供目前執行程序的快速概觀。按 H 存取頁面,簡略說明主要選項來自訂程式。
[選項] [程序 ID]如果執行時不加任何選項,此指令會顯示由您啟動的程式或程序的相關表格。此指令的選項前面不會加上連字號。
顯示所有程序的詳細清單,與擁有者無關
[選項] 程序 ID不幸地,有時候程式無法以正常方式終止。大部份情況下,您仍然可以執行 kill 指令,指定相關的程序 ID,以停止正在執行的程式 (請參閱 top 與 ps)。kill 會傳送 TERM 訊號,指示該程式關閉自己。如果此指令沒有作用,可以使用以下參數:
傳送 KILL 訊號而非 TERM 訊號,在大部份情況下會結束指定的程序。
[選項] processname此指令類似 kill,但是使用處理程序名稱 (而非處理程序 ID) 做為引數,刪除所有該名稱的程序。
[選項] 主機名稱或 IP 位址 ping 指令是標準工具,用於測試 TCP/IP 網路的基本功能。它會傳送小的資料封包至目的地主機,要求立即回應。如果有作用,ping 會顯示訊息,指示網路連結基本上是正常的。
-c 數字決定要傳送的封包總數,並在分派後結束 (依預設,沒有限制設定)
-f
flood ping:儘可能傳送很多資料封包,一種常用方法,保留給 root 來測試網路
-i 數值指定兩個資料封包之間的時間間隔 (秒) (預設值:1 秒鐘)
網域名稱系統會將網域名稱解析成 IP 位址。使用此工具,傳送查詢至名稱伺服器 (DNS 伺服器)。
[選項] 主機名稱或 IP 位址 [連接埠]Telnet 實際上是一種網際網路通訊協定,供您透過網路在遠端主機上工作。Telnet 也是使用這種通訊協定的 Linux 程式名稱,用來在遠端電腦進行作業。
![]() | 警告 |
|---|---|
不要在第三方可以"監聽"的網路上使用 telnet。特別是在網際網路上,使用加密傳送方法,例如 ssh,防止密碼被惡意使用的危險 (請參閱 ssh 的 man 頁面)。 | |
[選項] [使用者名稱]
使用者可以使用此指令,在任何時候變更他們自己的密碼。管理員 root 可以使用此指令,變更系統上任何使用者的密碼。
[選項] [使用者名稱]
su 指令可以從執行中的工作階段改用不同的使用者名稱登入。指定使用者名稱和相關密碼。將不會要求 root 的密碼,因為 root 己授權為可以使用任何使用者的身份。使用指令時如果未指定使用者名稱,將提示您輸入 root 密碼並變更為超級使用者 (root)。
-使用 su -,為不同使用者啟動登入外圍程序。
[選項]要避免資料遺失,您應該永遠使用此程式來關閉系統。
[選項]與 halt 功能相同,只是系統會立即重新啟動。
此指令會清除主控台的可見區域。它沒有選項。