名稱

intro - 使用者命令的介紹

描述

手冊頁的第一部分描述了使用者命令和工具,例如,檔案操作工具、各個 shell、編譯器、網頁瀏覽器、檔案和影象檢視器和編輯器,等等。

註記

Linux 是類 UNIX 的一個變種,粗略地看,很多 UNIX 下的使用者命令都可以同樣地在 Linux(以及 FreeBSD 和很多其它類 UNIX 系統上)工作。
在 Linux 下,存在 GUI(圖形使用者介面),其中您可以進行指向、點選或者拖曳,這些工作一般不需要閱讀大量手冊即可完成。傳統的 UNIX 環境是一個 CLI(命令列使用者介面),其中您鍵入命令來告訴計算機該做什麼。這樣更快、更強大,但是需要先弄清楚這些命令是什麼。下面是如何開始工作的一些基礎性指導。

登入

要開始工作,您可能需要首先提供您的使用者名稱和密碼以開啟一個會話。 login(1) 程式現在會為您啟動一個 shell(命令直譯器)。在圖形登入的時候,您需要在一個有著選單和圖示的螢幕上使用滑鼠點選,最終可以在一個視窗內啟動一個 shell。參見 xterm(1)

使用 shell

使用者輸入命令並將其傳送給命令直譯器,即 shell。它不是內建的,只是一個獨立程式,您可以更改自己使用的 shell。每個人都有其最喜愛的選擇。標準的 shell 被稱作 sh。參見 ash(1)bash(1)chsh(1)csh(1)dash(1)ksh(1)zsh(1)
一個會話的進行可能如下所示:
knuth login:  aeb
Password:  ********
$  date
Tue Aug  6 23:50:44 CEST 2002
$  cal
     August 2002
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
$ ls bin tel $ ls -l total 2 drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin -rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel $ cat tel maja 0501-1136285 peter 0136-7399214 $ cp tel tel2 $ ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 $ mv tel tel1 $ ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1 -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 $ diff tel1 tel2 $ rm tel1 $ grep maja tel2 maja 0501-1136285 $
這裡鍵入 Control-D 會終止會話。
這裡的 $ 是命令提示符—這是 shell 用來提示它已經準備好接收下一條命令的方式。提示符可以用許多方式進行定製,同時可能包含諸如使用者名稱、機器名、當前目錄、時間等等附加資訊。進行一次類似 PS1="下面該做些什麼,主人?" 這樣的賦值可以按照使用者要求修改該提示的內容。
我們可以看見的命令有 date(提供日期和時間),以及 cal(提供日曆)。
命令 ls 列出當前目錄的內容—它告訴您您擁有什麼檔案。使用 -l 選項可以給出一個長列表,其中包括檔案的所有者、大小和日期,以及人們讀取和/或修改它的許可權。例如,這裡的“tel”有37位元組長,由 aeb 所有,其所有者可以讀取或寫入它,其他人只能讀取它。所有者和許可權可以使用 chownchmod 命令進行修改。
命令 cat 將會顯示一個檔案的內容。(其名稱來自“concatenate and print”:所有當作引數給出的檔案將會被連線起來併發送至“標準輸出”(見 stdout(3)),這裡是終端螢幕。)
命令 cp(來自 "copy" 單詞)將會複製一個檔案。
命令 mv(來自“move”),則只會將其重新命名。
命令 diff 列出兩個檔案之間的不同之處。這裡沒有輸出,因為兩者之間沒有區別。
命令 rm(來自“remove”)刪除檔案,請小心!它不見了。沒有回收站或者類似的東西。刪除即意味著丟失。
命令 grep(來自“g/re/p”)在一個或多個檔案中尋找某個字串的出現情況。這裡它找到了 Maja 的電話號碼。

路徑名和當前目錄

檔案存在於一個巨大的樹結構中,即檔案目錄結構。每個檔案有一個 pathname 描述從樹的樹根(被稱作 /)到這個檔案的路徑。例如,這樣的一個完整路徑名可能是 /home/aeb/tel。總是使用完整的路徑名可能不太方便,所以當前目錄下檔案的名稱可以縮寫為只給出其最後一部分。這就是在當前目錄是 /home/aeb/home/aeb/tel 可以被縮寫為 tel 的原因。
命令 pwd 列印當前目錄。
命令 cd 改變當前目錄。
請交替嘗試使用 cdpwd 命令並探索 cd 的用法:“cd”、“cd .”、“cd ..”、“cd /”和“cd ~”。

目錄

命令 mkdir 建立一個新目錄。
命令 rmdir 在目錄為空的情況下刪除該目錄,若非空則提示出錯。
命令 find 具有不尋常的語法,它可以使用給定的檔名或其它屬性查詢檔案。例如,“find . -name tel”會從當前目錄(也被稱作 .)開始尋找檔案 tel。而“find / -name tel”會做同樣的工作,但是從目錄樹的根開始尋找。在以 GB 為單位計量容量的磁碟上進行大規模查詢可能耗時很多,使用 locate(1) 可能是相對更好的方案。

磁碟和檔案系統

命令 mount 會將某些磁碟(或者軟盤、光碟等等)上尋找到的檔案系統掛載到大的檔案系統層次中。而 umount 會將其重新解除安裝。命令 df 會告訴您磁碟上還有多少空閒空間。

程序

在一個 UNIX 系統上,有許多使用者程序和系統程序同時執行。您正與其互動的程序被稱為在 前臺 執行,其它的則在 後臺。命令 ps 將會為您顯示哪些程序是活躍的,以及這些程序的編號。命令 kill 允許您將其停止。如果沒有額外引數,這將是一個友好的請求:請停止吧。而“kill -9”命令,後面加上該程序的編號則會立刻殺死它。前臺程序通常可以透過按下 Control-C 來殺死。

獲取資訊

系統上可能有成千上萬個命令,每個都有許多可用引數。傳統上,命令使用 man 手冊頁 進行記錄(類似當前這個文件),這樣使用“man kill”命令就可以顯示命令“kill”的使用方法(而“man man”則記錄了命令“man”的使用方法)。“man”程式將文字送給某些 分頁器,通常是 less 程式。敲擊空格鍵可以翻到下一頁,點選 q 可以退出。
文件中,習慣上會使用一個名稱和一個分類編號來指代一個手冊頁,例如 man(1)。手冊頁通常簡明扼要,允許您在忘記某些細節時進行快速查詢。對新手來說,一段介紹性文字和更多的示例和解釋可能會更有用。
許多 GNU/FSF 軟體提供了 info 檔案。輸入“info info”以查閱使用 info 程式的一段介紹。
特別的主題通常被作為 HOWTO 文件。請在 /usr/share/doc/howto/en 目錄下看一看,如果您找到了 HTML 文件的話,請使用瀏覽器閱覽。

參見

ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), locate(1), login(1), man(1), xterm(1), zsh(1), wait(2), stdout(3), man-pages(7), standards(7)

本頁面是 Linux man-pages 專案 4.09 版的一部分。該專案的描述、有關報告錯誤的資訊以及本頁面的最新版本可以在 https://www.kernel.org/doc/pan-pages/ 上找到。
 
本頁面中文版由中文 man 手冊頁計劃提供。
 
中文 man 手冊頁計劃: https://github.com/man-pages-zh/manpages-zh