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