本節開始,我們不會再見到圖形界面了,因為對服務器來講,圖形界面會占用更多的系統資源,而且會安裝更多的服務、開放更多的端口,這對服務器的穩定性和安全性都有負面影響。其實,服務器是一個連顯示器都沒有的家伙,要圖形界面干十么?
說到這里,有很多人會很崩潰。筆者就經常聽到抱怨 linux 是落后于時代的老古董,就像筆者的白頭發一樣!但是,大家要理解,對服務器來講,穩定性、可靠性、安全性才是最主要的。而簡單易用不是服務器需要考慮的事情,所以學習 Linux,這些枯燥的命令是必須學習和記憶的內容。
命令提示符
登錄系統后,第一眼看到的內容是:
[root@localhost ~]#
這就是 Linux 系統的命令提示符。那么,這個提示符的含義是什么呢?
- []:這是提示符的分隔符號,沒有特殊含義。
- root:顯示的是當前的登錄用戶,筆者現在使用的是 root 用戶登錄。
- @:分隔符號,沒有特殊含義。
- localhost:當前系統的簡寫主機名(完整主機名是 localhost.localdomain)。
- ~:代表用戶當前所在的目錄,此例中用戶當前所在的目錄是家目錄。
- #:命令提示符,Linux 用這個符號標識登錄的用戶權限等級。如果是超級用戶,提示符就是 #;如果是普通用戶,提示符就是 $。
家目錄(又稱主目錄)是什么? Linux 系統是純字符界面,用戶登錄后,要有一個初始登錄的位置,這個初始登錄位置就稱為用戶的家:- 超級用戶的家目錄:/root。
- 普通用戶的家目錄:/home/用戶名。
用戶在自己的家目錄中擁有完整權限,所以我們也建議操作實驗可以放在家目錄中進行。我們切換一下用戶所在目錄,看看有什么效果。[root@localhost ~]# cd /usr/local
[root@localhost local]#
仔細看,如果切換用戶所在目錄,那么命令提示符中的會變成用戶當前所在目錄的最后一個目錄(不顯示完整的所在目錄 /usr/ local,只顯示最后一個目錄 local)。
命令的基本格式
接下來看看 Linux 命令的基本格式:
[root@localhost ~]# 命令[選項][參數]
命令格式中的 [] 代表可選項,也就是有些命令可以不寫選項或參數,也能執行。那么,我們就用 Linux 中最常見的 ls 命令來解釋一下命令的格式(有關 ls 命令的具體用法,后續章節會詳細介紹)。如果按照命令的分類,那么 ls 命令應該屬于目錄操作命令。
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
1) 選項的作用
ls 命令之后不加選項和參數也能執行,不過只能執行最基本的功能,即顯示當前目錄下的文件名。那么加入一個選項,會出現什么結果?
[root@localhost ~]# Is -l
總用量44
-rw-------.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg
-rw-r--r--.1 root root 24772 1 月 14 18:17 install.log
-rw-r--r--.1 root root 7690 1 月 14 18:17 install.log.syslog
如果加一個"-l"選項,則可以看到顯示的內容明顯增多了。"-l"是長格式(long list)的意思,也就是顯示文件的詳細信息。至于 "-l" 選項的具體含義,我們稍后再詳細講解??梢钥吹竭x項的作用是調整命令功能。如果沒有選項,那么命令只能執行最基本的功能;而一旦有選項,則可以顯示更加豐富的數據。
Linux 的選項又分為短格式選項(-l)和長格式選項(--all)。短格式選項是英文的簡寫,用一個減號調用,例如:
[root@localhost ~]# ls -l
而長格式選項是英文完整單詞,一般用兩個減號調用,例如:[root@localhost ~]# ls --all
一般情況下,短格式選項是長格式選項的縮寫,也就是一個短格式選項會有對應的長格式選項。當然也有例外,比如 ls 命令的短格式選項 -l 就沒有對應的長格式選項。所以具體的命令選項可以通過后面我們要學習的幫助命令來進行査詢。
2) 參數的作用
參數是命令的操作對象,一般文件、目錄、用戶和進程等可以作為參數被命令操作。例如:
[root@localhost ~]# ls -l anaconda-ks.cfg
-rw-------.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg
但是為什么一開始 ls 命令可以省略參數?那是因為有默認參數。命令一般都需要加入參數,用于指定命令操作的對象是誰。如果可以省略參數,則一般都有默認參數。例如:
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
這個 ls 命令后面沒有指定參數,默認參數是當前所在位置,所以會顯示當前目錄下的文件名。
總結一下:命令的選項用于調整命令功能,而命令的參數是這個命令的操作對象。