【Linux】基础
文章目錄
- 1.進(jìn)程三種狀態(tài)
- 2.交換分區(qū)
- 3.文件權(quán)限
- 4.配置ip地址
- 5.常用的壓縮格式
- 6.Inode以及軟連接和硬鏈接
- ⑴inode(索引節(jié)點)
- ⑵硬連接
- ⑶軟連接
- 7.定時任務(wù)
- ⑴at命令
- ⑵crontab
- ⑶anacron
- 8.ubuntu軟件源
- 1.什么是軟件源
- 2.原理
- 3.軟件源分類
- 9.linux可執(zhí)行文件目錄
- ⑴bin(binary)
- ⑵sbin(system binary)
- ⑶usr/bin
- ⑷usr/sbin
- ⑸usr/local/bin
- ⑹usr/local/sbin
- 10.進(jìn)程
- 11.X86架構(gòu)
- ⑴CPU架構(gòu)
- ⑵x86最為經(jīng)典的8086處理器
- ⑶32位處理器
- 12.軟中斷和硬中斷
- ⑴軟中斷
- ⑵硬中斷
- 13.Linux發(fā)行版
- 14.POSIX
- 15.Unix, Linux, BSD, and GNU的區(qū)別
- 16.cli
- 17.如何獲取命令行幫助
- 18.GNU
- 19.掛載
- 20.字符設(shè)備
- rpm和deb
1.進(jìn)程三種狀態(tài)
- 運行態(tài) (Running) : 占有CPU,并在CPU上運行
- 就緒態(tài) (Ready): 已經(jīng)具備運行條件,但由于沒有空閑CPU,而暫時不能運行
- 等待態(tài) (Waiting/Blocked): 因等待某一事件而暫時不能運行:如等待讀盤結(jié)果
2.交換分區(qū)
在內(nèi)存小于2G的情況下,交換分區(qū)應(yīng)為內(nèi)存的2倍,超過2G的話,交換分區(qū)為物理內(nèi)存加上2G
3.文件權(quán)限
⑴首先我們看一張圖
444 -r--r--r-- 600 -rw------- 644 -rw-r--r-- 666 -rw-rw-rw- 700 -rwx------ 744 -rwxr--r-- 755 -rwxr-xr-x 777 -rwxrwxrwx注:使用ll命令查看文件/文件夾屬性時候,一共有10列,第一個小格表示是文件夾或者連接等等 d表示文件夾,l表示連接文件,-表示文件⑵用戶分組權(quán)限
從左至右:1-3位數(shù)字代表文件所有者的權(quán)限 4-6位數(shù)字代表同組用戶的權(quán)限 7-9數(shù)字代表其他用戶的權(quán)限⑶符號解析
讀?=4 寫(w)=2 執(zhí)行(x)=1 讀+寫+執(zhí)行=4+2+1=7
⑷總結(jié)
以755為例
1-3位7等于4+2+1,rwx,所有者具有讀取、寫入、執(zhí)行權(quán)限
4-6位5等于4+1+0,r-x,同組用戶具有讀取、執(zhí)行權(quán)限但沒有寫入權(quán)限
7-9位5,同上,也是r-x,其他用戶具有讀取、執(zhí)行權(quán)限但沒有寫入權(quán)限
4.配置ip地址
- ifconfig命令臨時配置ip地址,重啟失效
- setup工具永久配置ip地址,redhat獨有的
- 修改網(wǎng)絡(luò)配置文件
5.常用的壓縮格式
- .zip
- .gz 只壓縮目錄下子文件
- .bz2 壓根不壓縮
- .tar.gz 先打包后壓縮
- .tar.bz2 先打包后壓縮
6.Inode以及軟連接和硬鏈接
⑴inode(索引節(jié)點)
存儲文件元信息的區(qū)域叫inode,即索引節(jié)點。硬盤進(jìn)行格式化的時候,操作系統(tǒng)會將硬盤分成兩個區(qū)域,一個是數(shù)據(jù)區(qū),存放文件數(shù)據(jù),一個是inode區(qū),存放inode信息。
包含內(nèi)容:
查看文件的元信息可以用stat 命令
每個inode都有一個號碼,操作系統(tǒng)用inode來識別不同的文件。對于系統(tǒng)而言,文件名只是inode號碼便于識別的一個綽號。
我們打開一個文件時,實際分為三步:
- ①找到對應(yīng)的inode號碼
- ②通過inode號碼獲取inode信息
- ③通過inode信息找到文件的block,讀出數(shù)據(jù)
⑵硬連接
指的是多個文件名指向同一索引節(jié)點,硬連接可以使同一文件有多個有效路徑,可以防止誤刪。A是B的硬連接,則A和B目錄項中inode節(jié)點號相同,即同一個inode對應(yīng)兩個不同的文件名,A和B是完全平等的,刪除一個不影響另一個對文件的訪問。
硬連接的兩個限制(這倆限制軟連接沒有):
- 不允許給目錄創(chuàng)建硬連接
- 只有在同一文件系統(tǒng)中的文件才能創(chuàng)建硬連接
創(chuàng)建硬連接的方式:ln 源文件 目標(biāo)文件
⑶軟連接
類似于快捷方式,源文件刪了快捷方式就沒用了。軟連接權(quán)限是777,真正權(quán)限由源文件決定。
創(chuàng)建軟連接的方式:ln -s 源文件 目標(biāo)文件
7.定時任務(wù)
⑴at命令
一次執(zhí)行
⑵crontab
循環(huán)定時任務(wù)
⑶anacron
沒開機的情況下開機后可以補償定時任務(wù),但是重復(fù)的只會執(zhí)行一次,比如每周執(zhí)行的關(guān)機四周,開機后只會執(zhí)行一次。
8.ubuntu軟件源
1.什么是軟件源
在Ubuntu下,相當(dāng)于軟件庫,當(dāng)我們需要安裝軟件時:
sudo apt-get install 軟件名
當(dāng)我們需要卸載軟件時:
sudo apt-get remove 軟件名
2.原理
當(dāng)通過sudo apt-get install命令去安裝軟件源時,apt包管理工具就會從系統(tǒng)的一個源列表中讀取軟件源的網(wǎng)址信息,查找可以包
含該軟件的軟件源網(wǎng)址并且下載,然后由apt包管理工具進(jìn)行解壓安裝。
3.軟件源分類
⑴ubuntu官方軟件源
它對應(yīng)的源列表在 /etc/apt/sources.list中,為了提高下載速度,我們可以對軟件源地址進(jìn)行替換?!?br /> ⑵PPA軟件源
很多軟件包由于各種原因不能進(jìn)入官方鏡像倉庫
我們可以搜索PPA地址進(jìn)行安裝
9.linux可執(zhí)行文件目錄
s就是system的意思,/bin里面一般是普通可執(zhí)行程序,而/sbin里多為系統(tǒng)管理程序和服務(wù)程序
⑴bin(binary)
系統(tǒng)的必備執(zhí)行
⑵sbin(system binary)
系統(tǒng)管理
⑶usr/bin
應(yīng)用軟體工具的必備執(zhí)行,系統(tǒng)預(yù)裝的可執(zhí)行程序,會隨著系統(tǒng)升級而改變
⑷usr/sbin
網(wǎng)路管理,系統(tǒng)預(yù)裝的可執(zhí)行程序,會隨著系統(tǒng)升級而改變
⑸usr/local/bin
存放所有用戶都可用的與本地機器無關(guān)的程序,即第三方軟件程序,不會隨著系統(tǒng)升級而改變
⑹usr/local/sbin
存放超級用戶才能使用的與本地機器無關(guān)的程序,不會隨著系統(tǒng)升級而改變
10.進(jìn)程
每個進(jìn)程都有自己獨立的進(jìn)程內(nèi)存空間,一個進(jìn)程的內(nèi)存空間是很大的,32位是4G,64位更大,都是按需申請,只有真正去使用時才會使用內(nèi)存管理的系統(tǒng)來分配內(nèi)存。
進(jìn)程切換:
11.X86架構(gòu)
⑴CPU架構(gòu)
其中最重要的是CPU,總線(主板上的電路),內(nèi)存(保留中間結(jié)果)
CPU包含:
- 運算單元(負(fù)責(zé)算)
- 數(shù)據(jù)單元(CPU內(nèi)部緩存和寄存器組,CPU上飛快的小內(nèi)存)
- 控制單元(總指揮)
控制單元有指令指針寄存器,存放下一條指令在內(nèi)存中的地址,控制單元會不斷將指令拿到寄存器。
指令又分為兩部分,一部分是做什么操作(交給運算單元),一部分是對應(yīng)的數(shù)據(jù)(交給數(shù)據(jù)單元)
CPU和內(nèi)存?zhèn)鬏敂?shù)據(jù),靠的是總線??偩€分兩種
- 地址總線,總線位數(shù)決定了訪問的地址范圍
- 數(shù)據(jù)總線,位數(shù)表示一次能拿多少個數(shù)據(jù)進(jìn)來
⑵x86最為經(jīng)典的8086處理器
數(shù)據(jù)單元(通用寄存器位置):
有8個16位的通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,在計算過程中暫存數(shù)據(jù)。
其中AX、BX、CX、DX可以分成兩個8位的寄存器來使用,分別是AH、AL、BH、BL、CH、CL、DH、DL,其中H就是High(高位),L就是Low(低位)的意思。
控制單元(段寄存器位置):
- IP(Instruction Pointer Register)寄存器就是上面的指令指針寄存器,指向下一個指令位置。
- 為了指向不同進(jìn)程的地址空間,有四個段寄存器
- CS 代碼段寄存器(Code Segment Register),通過它可以找到代碼在內(nèi)存中的位置
- DS 數(shù)據(jù)段的寄存器(Data Segment),運算中需要加載內(nèi)存中的數(shù)據(jù),需要通過DS找到內(nèi)存中的數(shù)據(jù),加載到數(shù)據(jù)單元的通用寄存器中。
- SS 棧寄存器(Stack Segment)
- ES 附加段寄存器ES(Extra Segment)
對于8086CPU,最多只能訪問1M的內(nèi)存空間
⑶32位處理器
在32位處理器中,有32根地址總線,可以訪問2^32=4G的內(nèi)存
12.軟中斷和硬中斷
⑴軟中斷
硬中斷處理那些短時間就可以完成的工作,而將那些處理事件比較長的工作,放到中斷之后來完成,也就是軟中斷(softirq)來完成,軟中斷是由中斷指令產(chǎn)生
⑵硬中斷
由系統(tǒng)連接的硬件外設(shè)產(chǎn)生,比如鍵盤,網(wǎng)卡之類的
13.Linux發(fā)行版
- Arch Linux
- Linux Mint
- Kali Linux
14.POSIX
可移植操作系統(tǒng)接口(英語:Portable Operating System Interface,縮寫為POSIX)是IEEE為要在各種UNIX操作系統(tǒng)上運行軟件,而定義API的一系列互相關(guān)聯(lián)的標(biāo)準(zhǔn)的總稱,其正式稱呼為IEEE Std 1003,而國際標(biāo)準(zhǔn)名稱為ISO/IEC 9945
15.Unix, Linux, BSD, and GNU的區(qū)別
GNU是GNU是“GNU is Not Unix”的遞歸縮寫,因為GNU的設(shè)計類似Unix,但它不包含具著作權(quán)的Unix代碼。GNU的內(nèi)核,稱為Hurd,發(fā)展尚未成熟。在實際使用上,多半使用Linux內(nèi)核、FreeBSD等替代方案,作為系統(tǒng)核心,其中主要的操作系統(tǒng)是Linux的發(fā)行版。Linux操作系統(tǒng)包涵了Linux內(nèi)核與其他自由軟件項目中的GNU組件和軟件,可以被稱為GNU/Linux
BSD是unix的分支,由于bsd的協(xié)議允許你直接使用\修改他的代碼,并且可以作為商業(yè)用途,所以很多公司的unix都是從bsd衍生過來的,比如hp-unix,ibm的aix等等.
Linux 嚴(yán)格意義上說是一個內(nèi)核,它并沒有參照UNIX代碼,是一個類UNIX架構(gòu),和GNU以及其他核心組件結(jié)合到一起我們認(rèn)為它是一個完整的操作系統(tǒng)
16.cli
cli是Command Line Interface or Command Language Interpreter的縮略語,它是控制系統(tǒng)最重要的功能。
在類UNIX系統(tǒng),CLI是一個用戶可以鍵入命令去執(zhí)行的接口,CLI功能很多,但是沒有很強的容錯性。
17.如何獲取命令行幫助
- man XXX
- XXX -h或者–help
18.GNU
GNU 項目創(chuàng)始于一九八四年,旨在開發(fā)一個類似 Unix ,且為 自由軟件 的完整的操作系統(tǒng): GNU 系統(tǒng)。
GNU 的內(nèi)核尚未完成,所以 GNU 使用 Linux 作為其內(nèi)核。GNU 和 Linux 以這樣的方式組合成為 GNU/Linux 操作系統(tǒng),目前有數(shù)百萬用戶。(這個組合有時被錯誤地稱為 Linux。)
19.掛載
在Linux中,任何設(shè)備都是文件,它們有自己的一套文件目錄結(jié)構(gòu),在Linux中使用硬件設(shè)備時,需要將Linux本身的文件目錄和硬件設(shè)備合二為一
掛載,指的就是將設(shè)備文件中的頂級目錄連接到 Linux 根目錄下的某一目錄(最好是空目錄),訪問此目錄就等同于訪問設(shè)備文件
另外,掛載不要覆蓋原有目錄
20.字符設(shè)備
字符設(shè)備是指在I/O傳輸過程中以字符為單位進(jìn)行傳輸?shù)脑O(shè)備,例如鍵盤,打印機等。在UNIX系統(tǒng)中,字符設(shè)備以特別文件方式在文件目錄樹中占據(jù)位置并擁有相應(yīng)的結(jié)點
結(jié)點中的文件類型指明該文件是字符設(shè)備文件。可以使用與普通文件相同的文件操作命令對字符設(shè)備文件進(jìn)行操作,例如打開、關(guān)閉、讀、寫
當(dāng)一臺字符型設(shè)備在硬件上與主機相連之后,必須為這臺設(shè)備創(chuàng)建字符特別文件。操作系統(tǒng)的mknod命令被用來建立設(shè)備特別文件。例如為一臺終端創(chuàng)建名為/dev/tty03的命令如下(設(shè)主設(shè)備號為2,次設(shè)備為13,字符型類型標(biāo)記c):
mknod /dev/tty03 c 2 13此后,open, close, read, write等系統(tǒng)調(diào)用適用于設(shè)備文件/dev/tty03。
設(shè)備與驅(qū)動程序的通信方式依賴于硬件接口。當(dāng)設(shè)備上的數(shù)據(jù)傳輸完成時,硬件通過總線發(fā)出中斷信號導(dǎo)致系統(tǒng)執(zhí)行一個中斷處理程序。中斷處理程序與設(shè)備驅(qū)動程序協(xié)同工作完成數(shù)據(jù)傳輸?shù)牡讓涌刂?/p>
rpm和deb
rpm包主要應(yīng)用在RedHat系列包括 Fedora等發(fā)行版的Linux系統(tǒng)上,
deb包主要應(yīng)用于Debian系列包括現(xiàn)在比較流行的Ubuntu等發(fā)行版上。
總結(jié)
- 上一篇: Extjs 中的cookie设置
- 下一篇: ARM 指令集 VS Thumb 指令集