intro - 使用者命令的介紹
手冊頁的第一部分描述了使用者命令和工具,例如,檔案操作工具、各個
shell、編譯器、網頁瀏覽器、檔案和影象檢視器和編輯器,等等。
Linux 是類 UNIX
的一個變種,粗略地看,很多
UNIX
下的使用者命令都可以同樣地在
Linux(以及 FreeBSD
和很多其它類 UNIX
系統上)工作。
在 Linux 下,存在
GUI(圖形使用者介面),其中您可以進行指向、點選或者拖曳,這些工作一般不需要閱讀大量手冊即可完成。傳統的
UNIX 環境是一個
CLI(命令列使用者介面),其中您鍵入命令來告訴計算機該做什麼。這樣更快、更強大,但是需要先弄清楚這些命令是什麼。下面是如何開始工作的一些基礎性指導。
要開始工作,您可能需要首先提供您的使用者名稱和密碼以開啟一個會話。
login(1)
程式現在會為您啟動一個
shell(命令直譯器)。在圖形登入的時候,您需要在一個有著選單和圖示的螢幕上使用滑鼠點選,最終可以在一個視窗內啟動一個
shell。參見
xterm(1)。
使用者輸入命令並將其傳送給命令直譯器,即
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
所有,其所有者可以讀取或寫入它,其他人只能讀取它。所有者和許可權可以使用
chown 和
chmod
命令進行修改。
命令
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
改變當前目錄。
請交替嘗試使用
cd 和
pwd 命令並探索
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