程序的組成部分:二進(jìn)制程序文件、庫文件、配置文件、幫助文件
? ? 二進(jìn)制文件、庫文件:可執(zhí)行文件
庫文件:不能獨(dú)立執(zhí)行,只能被調(diào)用執(zhí)行
配置文件、幫助文件:可被查看其內(nèi)容的文件
Linux文件:
1、文件名嚴(yán)格區(qū)分字符大小寫;file1, File1, FILE1是不同的文件;
2、文件名可使用除/以外的任意字符,不建議使用特殊字符;
/: 根目錄,路徑分隔符;
3、文件名長度最長不能超過255個字符;
4、所以.開頭的文件,均為隱藏文件;
路徑:
絕對路徑:從根目錄起始的路徑;
相對路徑:對當(dāng)前位置起始的路徑;
當(dāng)前位置的表示方式:
(1) ./: ./sysconfig/network-scripts
(2) 省略上述符號: sysconfig/network-scripts
..:表示當(dāng)前目錄的上一級目錄
當(dāng)前目錄:current directory, 也稱作working directory;
pwd: printing working directory
LSB: Linux Standard Base
命令總結(jié):ls, cd, type, tty, cat, which, whereis, pwd, echo
命令:
(1) 文件系統(tǒng)相關(guān):
目錄管理
文件管理
文件查看
文件編輯
(2) 系統(tǒng)管理相關(guān):
終端:
用戶與主機(jī)交互,必然用到的設(shè)備;
物理終端:直接接入本機(jī)的顯示器和鍵盤設(shè)備;/dev/console
虛擬終端:附加在物理終端之上的以軟件方式虛擬實(shí)現(xiàn)的終端,CentOS 6默認(rèn)啟動6個虛擬終端
Ctrl+Alt+F#: [1,6]
圖形終端:附加在物理終端之上的以軟件方式虛擬實(shí)現(xiàn)的終端,但額外會提供桌面環(huán)境;
設(shè)備文件路徑:/dev/tty#
模擬終端:
圖形界面下打開的命令行接口,基于ssh協(xié)議或telnet協(xié)議等遠(yuǎn)程打開的界面
設(shè)備文件:/dev/pts/#? ? [0,oo)
查看當(dāng)前的終端設(shè)備:tty
交互式接口:啟動終端后,在終端設(shè)備附加一個交互式應(yīng)用程序
GUI:
X protocol, window manager, desktop
Desktop:
GNOME (C, gtk)
KDE? (C++, qt)
XFCE? (輕量級桌面)
CLI:
shell程序:
sh (bourn)
csh
tcsh
ksh (korn)
bash (bourn again shell), GPL
zsh
顯示當(dāng)前使用的shell:
# echo ${SHELL}
顯示當(dāng)前系統(tǒng)使用的所有shell:
# cat /etc/shells
命令提示符:prompt
[root@localhost ~]#
[root@localhost ~]:PS1
prompt:
管理員:#
普通用戶:$
命令:
輸入命令,回車:
發(fā)起一命令:請求內(nèi)核將某個二進(jìn)制程序運(yùn)行為一個進(jìn)程
提請shell程序找到鍵入命令所對應(yīng)的可執(zhí)行程序或代碼,并由其分析后提交給內(nèi)核分配資源將其運(yùn)行起來;
表現(xiàn)為一個或多個進(jìn)程;
? 由程序態(tài)---->進(jìn)程
? 靜態(tài)---->動態(tài)(有生命周期)
? 命令本身是一個可執(zhí)行程序文件:二進(jìn)制格式的文件,有可能會調(diào)用共享庫文件
? 多數(shù)程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
在shell中可執(zhí)行的命令有兩類:
內(nèi)建命令:由shell自帶的,而且通過某命令形式提供;
外部命令:在當(dāng)前系統(tǒng)的某文件系統(tǒng)路徑下有對應(yīng)的可執(zhí)行程序文件;
which,whereis
區(qū)別內(nèi)部或外部命令:
# type COMMAND
Shell程序是獨(dú)特的程序,負(fù)責(zé)解析用戶提供的命令
shell程序搜尋可執(zhí)行程序文件的路徑定義在PATH環(huán)境變量中;
# echo $PATH
注意:自左至右
? ? ? ? 庫文件:
運(yùn)行命令時(shí)如需調(diào)用標(biāo)準(zhǔn)庫或者其他庫,庫文件需調(diào)入內(nèi)存內(nèi)。
庫文件就是公共功能性程序,不能獨(dú)立執(zhí)行。多數(shù)存放在/lib,/lib/64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
? ? ? ? Linux的可執(zhí)行文件:ELF文件
? ? ? ? 通過 file命令查看文件類型
運(yùn)行命令:
命令格式:
COMMAND [OPTIONS...] [ARGUMENTS...]
選項(xiàng):指定目錄運(yùn)行特性;
短選項(xiàng):-c, 例如:-l, -h (有些選項(xiàng)沒有-)
多個短選項(xiàng)可命令使用,例如-l -h, 可寫作-lh;
長選項(xiàng):--word,例如:--long, --human-readable
長選項(xiàng)不能合并
注意:有些選項(xiàng)可以帶參數(shù),稱為選項(xiàng)參數(shù)
參數(shù):命令的作用對象
向命令提供數(shù)據(jù);
不同命令的參數(shù)格式不一樣
多個參數(shù)要用空格分開
注意:
1、多選項(xiàng),以及多參數(shù)和命令之間都應(yīng)該使用空白字符分隔
2、取消命令執(zhí)行:Ctrl+c
Linux命令幫助的獲取
外部命令:都有一個可執(zhí)行程序,位于文件系統(tǒng)某目錄下;
which, whereis
? ? ? 內(nèi)部命令幫助:
# help COMMAND
hash命令:
shell搜尋到的外部命令的路徑結(jié)果會緩存至kv(key-value)存儲中;
history命令:
作用是什么?相關(guān)的環(huán)境變量是什么?有用的選項(xiàng)?
管理命令歷史;
登錄shell時(shí),會讀取命令歷史文件中記錄下的命令:~/.bash_history
登錄進(jìn)shell后新執(zhí)行的命令只會記錄在緩存中;這些命令會用戶退出時(shí)“追加”至命令歷史文件中;
history:
-a: 追加本次會話新執(zhí)行的命令歷史列表至歷史文件中;
-d: 刪除歷史中指定的命令;
-c: 清空命令歷史;
快捷操作:
!#: 調(diào)用歷史中第#條命令;
!string:調(diào)用歷史中最近一個以string開頭的命令;
!!: 上一條命令
外部命令幫助獲?。?/p>
(2) man COMMAND
? ? 使用手冊:壓縮格式的文件,有章節(jié)之分
手冊頁:/usr/share/man
man1 ... man8
man1: 用戶命令
man2: 系統(tǒng)調(diào)用
man3: C庫調(diào)用
man4: 設(shè)備文件及特殊文件
man5: 配置文件格式
man6: 游戲使用幫助
man7: 雜項(xiàng)
man8: 管理工具
注意:有些關(guān)鍵在不止一個章節(jié)中存在幫助手冊;
要查看指定章節(jié)中的手冊:man # COMMAND
查看命令有哪些章節(jié)的幫助;whatis COMMAND (其執(zhí)行過程是查詢數(shù)據(jù)庫進(jìn)行的)
手動更新數(shù)據(jù)庫;makewhatis
man命令的配置文件:/etc/man.config
MANPATH /PATH/TO/SOMEWHERE: 指明新的手冊文件搜索位置
# man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手冊頁并顯示之;
幫助手冊中的段落說明:
NAME 功能性說明
SYNOPSIS 語法格式
DESCRIPTION 描述
OPTIONS 選項(xiàng)
EXAMPLES 使用示例
AUTHOR 作者
REPORTING BUGS 報(bào)告程序BUG的方式
SEE ALSO 參考
SYNOPSIS:
[]:可選內(nèi)容
<>: 必選內(nèi)容
a|b:二選一
...: 同一內(nèi)容可出現(xiàn)多次
man命令打開手冊以后的操作方法:
空格, : 向文件尾翻屏;
b, : 向文件首部翻屏;
Ctrl+d, : 向文件尾部翻半屏;
Ctrl+u, : 向文件首部翻半屏;
回車鍵: 向文件尾部翻一行;
Ctrl+k:向文件首部翻一行;
q: 退出;
#:跳轉(zhuǎn)至第#行;
1G: 回到文件首部
G:翻至文件尾部
文本搜索:
/KEYWORD:
以KEYWORD指定的字符串為關(guān)鍵字,從當(dāng)前位置向文件尾部搜索;不區(qū)分字符大小寫;
n: 跟搜索命令同方向
N:跟搜索命令反方向
?KEYWORD:
以KEYWORD指定的字符串為關(guān)鍵字,從當(dāng)前位置向文件首部搜索;不區(qū)分字符大小寫;
n: 跟搜索命令同方向
N:跟搜索命令反方向
(3) info 獲取命令在在線文檔
info COMMAND
(4) 程序自身的幫助文檔
/usr/share/doc/COMMAND-VERSION
? README:程序的相關(guān)信息
? INSTALL:安裝幫助
? CHANGES:版本迭代時(shí)的改動信息
(5) 程序官方文檔
? ? 官方站點(diǎn)上的“Document”
(6) 發(fā)行版的官方文檔
http://www.redhat.com/docs
(7) 搜索引擎 Google
(8) slideshare
http://www.slideshare.net/
? ? 推薦的出版社:
o`Reiley
Wrox
機(jī)械工業(yè)出版社
電子工業(yè)出版社
清華大學(xué)出版社