Linux 相關基礎知識認知1
開發接口標準:
ABI:Application Binary Interface
ABI描述了應用程序與OS之間的底層接口,允許編譯好的目標代碼在兼容ABI的系統中無需改動就能運行
API:Application Programming Interface
API定義了源代碼和庫之間的接口,因此同樣的源代碼能在支持這個API的任何系統中編譯
POSIX:Potable Operating System Interface(在操作系統上定義的API)
IEEE在操作系統上定義的一系列API標準
Posix兼容的程序可在其他POSIX操作系統編譯執行
【Hardware Plateform:(硬件平臺)
CPU平臺:x86,arm,PowerPC,Power(IBM),UltraSpace,Alpha,...】
服務器三大操作系統:
Windows,Linux,Unix
Linux 是類Unix操作系統(Unix-Like):完整的Linux=Linux內核(kernel)+ GNU工具(應用程序)
GNU/Linux:
Kernel:內核;
GNU(GPL,LGPL開源協議):應用程序
其他開源協定:Apache(ASF),BSD,MIT,...
發行版:RedHat,Debian,SUSE
RedHat -> CentOS
Debian ->Ubuntu
SUSE ->OpenSUSE
ArchLinux
Mac OS X:
Linux哲學思想:
一切皆文件(包括硬件),99.9%
小型,單一用途的程序
鏈接程序,共同完成復雜的任務
避免令人困惑的用戶界面
配置數據存儲在文本中
Linux使用:
創建進程:用戶基於外殼(Shell)向內核請求,由內核啟動程序
shell:一個程序,用戶與計算機交互的程序
內核:Kernel:https://www.kernel.org/
版本4.17.9:
4:major,主版本號
17: minor,次版本號
開發版本:第二位數是基數
穩定版本:第二位數是偶數
9:release,發行版本號
發行版的版本號與內核版本號不同步:
開源(Open Sourse)軟件和代碼提供給所有人
自由分發軟件和源代碼
能夠修改和創建衍生品
開源協議:使用開源代碼之前一定要查看其屬於的開源協議
交互式接口:
啟動終端後,在終端設備附加一個交互式應用程序
GUI:Graphical User Interface(圖形界面接口):Gnome,KDE,Xfce
CLI:Command Line Interface(命令行接口):sh->bsh->csh->bash->zsh
什麽是Shell:sh->bsh->csh->bash->zsh
shell 是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行
shell也被稱為LINUX的命令解釋器(command interpreter)
什麽是程序:
程序:就是一個可執行的靜態文件
進程:一個正在運行的程序
程序=指令+數據
程序=算法+數據結構
以算法為中心,數據結構服務於算法:過程式編程(EX;c)
以數據為中心,算法服務於數據結構:對象式編程(EX:Java)
終端terminal
1.設備終端:鍵盤鼠標顯示器
2.物理終端:(/dev/console)控制臺console
3.虛擬終端:(tty:teletypewriters,/dev/tty# #為【1-6】tty可有n個,Ctrl+Alt+F【1-6】
4.圖形終端:(/dev/tty7)startx,xwindows;
CentOS6:Ctrl+Alt+F7
CentOS 7:在哪個終端啟動,即位於哪個虛擬終端
5.串行終端:(/dev/ttyS#)ttyS
6.偽終端:(pty:pseudo-tty,/dev/pts/#)pty,SSH遠程連接
查看當前的終端設備:# tty
Linux下兩大樹形結構:增刪改查
1.文件系統樹
/(根目錄)
一切皆文件
程序文件:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
登陸進shell,每時每刻都位於某路徑下(目錄)
2.進程樹
init
bash shell
GNU Bourne-Again Shell(bash)是GNU計劃中重要的工具軟件之一,目前也是 Linux標準的shell,與sh兼容
CentOS默認使用
顯示當前使用的shell: echo ${SHELL}
顯示當前系統使用的所有shell:cat /etc/shells
Bash的使用技巧:
命令行展開:{ },~
>命令替換: $(command),' command'
>命令補全: $PATH
>路徑補全:從指定的起始位置進行路徑搜索
>命令歷史: .bash_history
HISTCONTROL
— ignoredups
— ignorespace
—ignoreboth
命令幫助:
內部命令:1.help command
2.man bash
外部命令:1.command --help
2.commadn -h
2.使用手冊(manual):man command
3.信息頁:info command(查詢相關文檔)
4.程序自身的幫助文檔:Readme,Install,Changelog
5.官當文檔:Documentation
6.Google:
http://tldp.org
http://www.slideshare.net
http://www.google.com
Linux 相關基礎知識認知1