1. 程式人生 > >Linux 相關基礎知識認知1

Linux 相關基礎知識認知1

ras iter console 存儲 ear ati etc 連接 過程

Linux

開發接口標準:

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