FlossDoc: 請協力 GPLv3 的中文翻譯工作。
基本命令列
FlossDoc,自由中文開源知識庫
本文旨在為對 Unix/Linux 命令全無認識的朋友講解基本 Unix/Linux 命令和命令列使用簡介。內容包括 ls、cd、cp、mv 和 rm 等基本檔案操作命令,提供了下列 LPI Level 1 目錄部份的 GNU/Linux 管理知識:
目录 |
進入命令列
您可以有很多方法進入命令模式,例如可以 X Window 上按 Ctrl-Alt-F1 切換至文字模式 (要回到 X Window, 可以按 Alt-F7)。在文字模式如果看見「login:」,請您輸入使用者名稱和密碼登入。留意輸入密碼時,螢幕並不會在每一個鍵時顯示該鍵或星號(*) 。所以看到螢幕沒有反應時別驚慌,輸入好密碼後按 Enter 即可。
當然在 X Window 進入命令模式的方法就是執行終端機模擬器 (Terminal Emulator)。Debian/Ubuntu 使用者可以選『應用程式』(Application) > 『附屬應用程式』(Accessories) > 『終端機』(Terminal)。Fedora/RedHat/CentOS 使用者可以選『應用程式』(Application) > 『系統工具』(System) > 『終端機』(Terminal)。 總而言之,只要您看見有個錢號 ($) 或井號 (#) 在閃爍中的游標左邊,這就是所謂提示符 (Prompt),表示您而進入了命令模式,而系統已預備好等您輸入 Unix/Linux 的指令。
guest@linux:~$ _
認識提示符 (Prompt)
使用過 MS-DOS 或其他操作系統的命令模式對提示符都不會陌生,提示符的作用主要是告訴您系統已預備好等您輸入命令。在不同 Unix/Linux 中,提示符都會有些變化。例如 Debian/Ubuntu 的提示符一般為「guest@linux:~$」,而 Fedora/CentOS/RedHat 的的提示符一般為「[guest@linux ~]$」。不過一般都都會有登入使用者名稱、主機名稱、目前目錄路徑和以錢號 ($) 、百分率符號(%)或井號 (#)結束。以 Debian/Ubuntu 的提示符為例說明:
guest@linux:~$
- guest - 使用者名稱,讓您知道您登入了那個使用者。
- linux - 主機名稱,讓您知道您在操作那一台機器。
- ~ - 目前目錄路徑,讓您知道您在那個資料夾 (Folder) 中。
- $ - 表示您登入的使用者是一普通使用者還是系統管理員 root。錢號 ($) 表示登入使用者只是普通使用者,而系統管理員 root 會看到的提示符會是井號 (#) 。
關於 Shell
所謂 Shell 就是 Unix/Linux 世界的命令解釋器 (Command Interpreter) 。它好像外殼一樣包著操作系統核心 (Kernel) ,隔開使用者和操作系統並負責兩者之間的溝通,把使用者下達的命令解譯給系統去執行,並將系統傳回的訊息解譯給使用者,讓他瞭解其含意。Unix/Linux 的 Shell 有很多,包括 Bourne Shell (sh)、C Shell (csh)、Korn Shell (ksh)、TENEX C Shell (tcsh)、Bourne Again Shell (bash)
您可以打「ps」知道現時正使用那個 Shell:
PID TTY TIME CMD 16545 pts/1 00:00:00 bash 27922 pts/1 00:00:00 ps
但大部份 GNU/Linux 都會預設使用 Bourne Again Shell (bash) ,而本文亦會集中解紹 Bourne Again Shell 的使用方法。
日常檔案與目錄的操作
簡單而言,操作電腦一般其實都是在處理資料 (data),而電腦上的資料一般以檔案 (file) 形式出現。例如編寫建議畫其實是使用文書處理器 (word processor, 如 Microsoft Word 或 Openoffice.org Writer 等) 建立文件檔案,聽歌其實是在播放一個音效檔案 (audio file),而瀏覽網頁其實是使用網頁瀏覽器 (web browser,如 Firefox 等) 由網頁伺服器擷取一個網頁檔案其顯示。甚至如文書處理器、音樂播放程式、網頁伺服器和網頁瀏覽器等都是一些程式檔案。所以我們第一件要學習的就是如何在 GNU/Linux 下處理檔案。
和 Windows 差不多, Unix/Linux 同樣以一個叫作檔案系統 (filesystem) 的樹狀結構組織檔案。整個檔案系統的最頂端為一個目錄,稱作根目錄 (root directory),以一個鈄線 ("/") 表示。根目錄下可以有多個檔案和多個目錄,而每個目錄下又可以有多個檔案和多個目錄。
在 Unix/Linux 世界第一個要懂的命令就顯示目錄有那些檔案的 ls。您可以試一試在提示符後輸入命令 ls 後按【Enter】鍵看看有什麼結果:
$ ls Examples 公共 圖片 影片 文件 桌面 模板 音樂
以上畫面表示目前目錄有 8 個檔案,包括 "Examples"、"公共"、"圖片"、"影片"、"文件"、"桌面"、"模板" 和 "音樂"。
認識 Unix/Linux 的命令
- 分大小寫 - 在 Unix/Linux 世界中,無論指令名稱、選項、檔案名稱和使用者名稱都是分大小寫。所以 ls 和 LS 或 Ls 是不同的。您打「
LS」或「Ls」都會得到「command not found」的錯誤訊息,即是說找不到您所鍵入的命令。而選項「-l」和「-L」亦有不同意思。 - 空格分開參數 - Unix/Linux上的指令名稱和各參數之間必需要用最少一個空格隔開。一個參數中間有空間會被解釋為兩個參數。例如「
ls -l Desktop My Document」會被解釋為 “ls”, “-l”,“Desktop”,“My” 和 “Document”。如果想一個參數中包括空格,您需要用單引號 (') 或雙引號(") 包著。例如「ls -l Desktop "My Document"」會被解釋為 “ls”, “-l”,“Desktop” 和“My Document”。 - 單減號 (-) 開頭一般為一個字元長的選項 - 大部份 Unix/Linux 指令的選項都以減號 (-) 開始。只有一個字元的選項一般都只有一個減號 (-) 在前,例如「
ls」指令的「-l」和「-a」選項。 - 雙減號 (--) 開頭一般為多於一個字元長的長選項 (long option) - 現時很多 Unix/Linux 指令都會有多於一個字元的長選項 (long option),這類選項大部份都會有兩個減號 (-) 在前,選項如果由兩個或以上英文字組成,字與字之間以一個個減號 (-) 隔開,例如「
cp」指令的「--force」和「--symbolic-link」。
摘要
命令
| 命令 | LPI 目標 | 描述 | 名稱來源 |
|---|---|---|---|
| ls | 1.103.3 | 列出目錄內容 | list |
| cat | 1.103.2 | 串連檔案內容並顯示 | concatenate |
| cd | - | 更改現時工作目錄 | change directory |
| cp | 1.103.3 | 複製檔案和目錄 | copy |
| mv | 1.103.3 | 移動檔案或改變檔案名稱 | move |
| mkdir | 1.103.3 | 建立目錄 | make directory |
| rm | 1.103.3 | 移除檔案和目錄 | remove |
| rmdir | 1.103.3 | 移除空白目錄 | remove directory |
| touch | 1.103.3 | 更改檔案時間 | touch |
參考資料
請參看
外部連結
- Linux Planet Tutorial: The Linux CLI for Beginners, or, Fear Not the Linux Command Line! - Please Meet the Linux Terminal (Akkana Peck 2008-12-12)
- Linux Planet Tutorial: The Linux Command Shell For Beginners: What is the Shell? - So What's a "Shell", Anyway? (Akkana Peck 2008-12-22)

