眾所周知,計算機上運行的數據流最后都會以二進制的方式流轉,這對計算機來說確實沒什么問題,但是對人類來說,這樣的方式無疑太難理解,所以計算機通過轉換,將二進制的0、1字符串轉換成人們可以易于理解的字母和數字,來方便計算機與人類的溝通和交互。這樣一來,人類可以讀取和輸入人類習慣的字母和數字;而計算機可以使用自己的0、1字符串接收任務和返回結果。然而,這一過程就少不了人機交互的接口。每個操作系統都有人機交互的接口,Linux系統也不例外。
Linux系統接口分類
Linux系統的接口分為圖形接口、命令行接口。
1. 圖形界面接口(GUI, Graphic User Interface)
GNome、KDE
2. 命令行接口(CLI, Command Line Interface)
bash、zsh、sh、csh、tcsh、ksh
Shell
Linux的命令行接口歸結起來就是各種Shell,那么到底什么是Shell?
Shell,譯為外殼,是用戶直接連入計算機所使用的計算機程序,負責解析用戶提供的命令,如詞法分析、語法分析、句法分析。
CentOS系統安裝完成后,默認使用命令行接口是Bash Shell。
Bash Shell的命令提示符:
[ username@hostname working_directory ] {#|$}
看起來可能有些亂,下面來具體介紹一下吧。
username: 用戶登入Linux系統所使用的用戶
hostname: 當前主機的主機名,非完整格式
working_directory :用戶當前所在目錄,隨著用戶的目錄切換而切換的
‘#’: 管理員賬號登陸,為root,擁有最高權限,能執行所有操作;
‘$’: 普通用戶,非root用戶登錄,不具有管理員權限,不能執行系統管理類操作;
> 注意:
為了安全起見,建議使用非管理員賬號登陸!執行管理操作時,臨時切換至管理員賬號,操作完成后即退回。
Linux命令
Linux命令的語法通用格式
~]# COMMAND OPTIONS ARGUMENTS,其中:
1. COMMAND
Linux系統中可執行的二進制程序,分為:
內置命令(builtin):由shell程序自帶的命令,如cd
外部命令(application):獨立的可執行程序文件,文件名即命令名,如ls
命令類型區分方法: ~]# type COMMAND
發起一個命令:表示請求內核將某個二進制程序運行為一個進程;
程序 –> 進程
靜態 –> 動態(有生命周期)
命令本身是一個可執行的程序文件(二進制格式的文件),有可能會調用共享庫文件;
多數程序文件都存放在如下位置:
普通命令:/bin, /usr/bin, usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin
共享庫文件:自己本身沒有程序入口,需要其他程序調用使用
32位庫文件:/lib, /usr/lib, /usr/local/lib
64位庫文件:/lib64, /usr/lib64, /usr/local/lib64
> shell的PATH環境變量
由于Linux的外部命令存放位置未必統一,為了方便操作系統查找命令文件的具體路徑,Linux使用PATH環境變量的方式來指定查找外部命令的路徑,路徑與路徑之間以;隔開,每次執行命令時,都在PATH環境變量中,自左向右進行查找。查到相應命令就直接使用,查不到就會返回命令不存在。
2.OPTIONS:指定命令的運行特性
選項有兩種表現形式:
短選項:-C,例如-l,-d
> 注意: 有些命令的選項沒有”-“
同一命令同時使用多個短選項時,多數可合并:-l -d = -ld
長選項:–word,例如–help, –human-readable
> 注意:有些選項可以帶參數,稱為選項參數;
長選項:選項=參數,例如:–directory=/usr/local/apache
短選項:選項 參數,例如:cut -d :
3.ARGUMENTS: 命令的作用對象,表示命令對什么生效
> 注意:不同的命令的參數,有些命令可同時帶多個參數,多個參數之間以空白字符分隔
原創文章,作者:N27_sapbcs,如若轉載,請注明出處:http://www.www58058.com/85815