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