tft每日頭條

 > 生活

 > linux運維零基礎命令

linux運維零基礎命令

生活 更新时间:2025-01-27 21:16:06
linux系統一般有4個主要部分:内核、shell、文件系統和應用程序。


内核、shell和文件系統一起形成了基本的操作系統結構,它們使得用戶可以運行程序、管理文件并使用系統。


linux運維零基礎命令(每天5分鐘運維基礎)1



linux運維零基礎命令(每天5分鐘運維基礎)2



linux内核


内核是操作系統的核心,具有很多最基本功能,它負責管理系統的進程、内存、設備驅動程序、文件和網絡系統,決定着系統的性能和穩定性。


Linux 内核由如下幾部分組成:


内存管理、進程管理、設備驅動程序、文件系統和網絡管理等。


linux運維零基礎命令(每天5分鐘運維基礎)3

系統調用接口:SCI 層提供了某些機制執行從用戶空間到内核的函數調用。這個接口依賴于體系結構,甚至在相同的處理器家族内也是如此。SCI 實際上是一個非常有用的函數調用多路複用和多路分解服務。在 ./linux/kernel 中您可以找到 SCI 的實現,并在 ./linux/arch 中找到依賴于體系結構的部分。



linux運維零基礎命令(每天5分鐘運維基礎)4



内存管理


對任何一台計算機而言,其内存以及其它資源都是有限的。為了讓有限的物理内存滿足應用程序對内存的大需求量,Linux 采用了稱為“虛拟内存”的内存管理方式。


Linux 将内存劃分為容易處理的“内存頁”(對于大部分體系結構來說都是 4KB)。Linux 包括了管理可用内存的方式,以及物理和虛拟映射所使用的硬件機制。


不過内存管理要管理的可不止 4KB 緩沖區。Linux 提供了對 4KB 緩沖區的抽象,例如 slab 分配器。


這種内存管理模式使用 4KB 緩沖區為基數,然後從中分配結構,并跟蹤内存頁使用情況,比如哪些内存頁是滿的,哪些頁面沒有完全使用,哪些頁面為空。這樣就允許該模式根據系統需要來動态調整内存使用。


為了支持多個用戶使用内存,有時會出現可用内存被消耗光的情況。由于這個原因,頁面可以移出内存并放入磁盤中。這個過程稱為交換,因為頁面會被從内存交換到硬盤上。内存管理的源代碼可以在 ./linux/mm 中找到。



linux運維零基礎命令(每天5分鐘運維基礎)5



進程管理


進程實際是某特定應用程序的一個運行實體。在 Linux 系統中,能夠同時運行多個進程,Linux 通過在短的時間間隔内輪流運行這些進程而實現“多任務”。這一短的時間間隔稱為“時間片”,讓進程輪流運行的方法稱為“進程調度” ,完成調度的程序稱為調度程序。


進程調度控制進程對CPU的訪問。當需要選擇下一個進程運行時,由調度程序選擇最值得運行的進程。可運行進程實際上是僅等待CPU資源的進程,如果某個進程在等待其它資源,則該進程是不可運行進程。Linux使用了比較簡單的基于優先級的進程調度算法選擇新的進程。


通過多任務機制,每個進程可認為隻有自己獨占計算機,從而簡化程序的編寫。每個進程有自己單獨的地址空間,并且隻能由這一進程訪問,這樣,操作系統避免了進程之間的互相幹擾以及“壞”程序對系統可能造成的危害。


為了完成某特定任務,有時需要綜合兩個程序的功能,例如一個程序輸出文本,而另一個程序對文本進行排序。為此,操作系統還提供進程間的通訊機制來幫助完成這樣的任務。Linux 中常見的進程間通訊機制有信号、管道、共享内存、信号量和套接字等。


内核通過 SCI 提供了一個應用程序編程接口(API)來創建一個新進程(fork、exec 或 Portable Operating System Interface [POSⅨ] 函數),停止進程(kill、exit),并在它們之間進行通信和同步(signal 或者 POSⅨ 機制)。



linux運維零基礎命令(每天5分鐘運維基礎)6



文件系統


和 DOS 等操作系統不同,Linux 操作系統中單獨的文件系統并不是由驅動器号或驅動器名稱(如 A: 或 C: 等)來标識的。相反,和 UNIX 操作系統一樣,Linux 操作系統将獨立的文件系統組合成了一個層次化的樹形結構,并且由一個單獨的實體代表這一文件系統。


Linux 将新的文件系統通過一個稱為“挂裝”或“挂上”的操作将其挂裝到某個目錄上,從而讓不同的文件系統結合成為一個整體。Linux 操作系統的一個重要特點是它支持許多不同類型的文件系統。


Linux 中最普遍使用的文件系統是 Ext2,它也是 Linux 土生土長的文件系統。但 Linux 也能夠支持 FAT、VFAT、FAT32、MINIX 等不同類型的文件系統,從而可以方便地和其它操作系統交換數據。由于 Linux 支持許多不同的文件系統,并且将它們組織成了一個統一的虛拟文件系統.


虛拟文件系統(VirtualFileSystem,VFS):隐藏了各種硬件的具體細節,把文件系統操作和不同文件系統的具體實現細節分離了開來,為所有的設備提供了統一的接口,VFS提供了多達數十種不同的文件系統。


虛拟文件系統可以分為邏輯文件系統和設備驅動程序。邏輯文件系統指Linux所支持的文件系統,如ext2,fat等,設備驅動程序指為每一種硬件控制器所編寫的設備驅動程序模塊。


虛拟文件系統(VFS)是 Linux 内核中非常有用的一個方面,因為它為文件系統提供了一個通用的接口抽象。VFS 在 SCI 和内核所支持的文件系統之間提供了一個交換層。即VFS 在用戶和文件系統之間提供了一個交換層。


VFS 在用戶和文件系統之間提供了一個交換層:


linux運維零基礎命令(每天5分鐘運維基礎)7


在 VFS 上面,是對諸如 open、close、read 和 write 之類的函數的一個通用 API 抽象。在 VFS 下面是文件系統抽象,它定義了上層函數的實現方式。它們是給定文件系統(超過 50 個)的插件。文件系統的源代碼可以在 ./linux/fs 中找到。


文件系統層之下是緩沖區緩存,它為文件系統層提供了一個通用函數集(與具體文件系統無關)。這個緩存層通過将數據保留一段時間(或者随即預先讀取數據以便在需要是就可用)優化了對物理設備的訪問。緩沖區緩存之下是設備驅動程序,它實現了特定物理設備的接口。


因此,用戶和進程不需要知道文件所在的文件系統類型,而隻需要象使用 Ext2 文件系統中的文件一樣使用它們。



linux運維零基礎命令(每天5分鐘運維基礎)8



設備驅動程序


設備驅動程序是 Linux 内核的主要部分。和操作系統的其它部分類似,設備驅動程序運行在高特權級的處理器環境中,從而可以直接對硬件進行操作,但正因為如此,任何一個設備驅動程序的錯誤都可能導緻操作系統的崩潰。


設備驅動程序實際控制操作系統和硬件設備之間的交互。設備驅動程序提供一組操作系統可理解的抽象接口完成和操作系統之間的交互,而與硬件相關的具體操作細節由設備驅動程序完成。


一般而言,設備驅動程序和設備的控制芯片有關,例如,如果計算機硬盤是 SCSI 硬盤,則需要使用 SCSI 驅動程序,而不是 IDE 驅動程序。


linux運維零基礎命令(每天5分鐘運維基礎)9



網絡接口(NET)


提供了對各種網絡标準的存取和各種網絡硬件的支持。網絡接口可分為網絡協議和網絡驅動程序。網絡協議部分負責實現每一種可能的網絡傳輸協議。


衆所周知,TCP/IP 協議是 Internet 的标準協議,同時也是事實上的工業标準。Linux 的網絡實現支持 BSD 套接字,支持全部的TCP/IP協議。Linux内核的網絡部分由BSD套接字、網絡協議層和網絡設備驅動程序組成。


網絡設備驅動程序負責與硬件設備通訊,每一種可能的硬件設備都有相應的設備驅動程序。



linux運維零基礎命令(每天5分鐘運維基礎)10



linux shell


shell是系統的用戶界面,提供了用戶與内核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入内核去執行,是一個命令解釋器。另外,shell編程語言具有普通編程語言的很多特點,用這種編程語言編寫的shell程序與其他應用程序具有同樣的效果。


目前主要有下列版本的shell。


1.Bourne Shell:是貝爾實驗室開發的。 

2.BASH:是GNU的Bourne Again Shell,是GNU操作系統上默認的shell,大部分linux的發行套件使用的都是這種shell。

3.Korn Shell:是對Bourne SHell的發展,在大部分内容上與Bourne Shell兼容。   

4.C Shell:是SUN公司Shell的BSD版本。



linux運維零基礎命令(每天5分鐘運維基礎)11



linux 文件系統


文件系統是文件存放在磁盤等存儲設備上的組織方法。Linux系統能支持多種目前流行的文件系統,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。



linux運維零基礎命令(每天5分鐘運維基礎)12



文件類型


Linux下面的文件類型主要有:


1) 普通文件:C語言元代碼、SHELL腳本、二進制的可執行文件等。分為純文本和二進制。

2) 目錄文件:目錄,存儲文件的唯一地方。

3) 鍊接文件:指向同一個文件或目錄的的文件。

4) 設備文件:與系統外設相關的,通常在/dev下面。分為塊設備和字符設備。

5)管道(FIFO)文件 : 提供進程建通信的一種方式

6)套接字(socket) 文件:該文件類型與網絡通信有關

可以通過ls –l, file, stat幾個命令來查看文件的類型等相關信息。



linux運維零基礎命令(每天5分鐘運維基礎)13



Linux目錄


文件結構是文件存放在磁盤等存貯設備上的組織方法。主要體現在對文件和目錄的組織上。


目錄提供了管理文件的一個方便而有效的途徑。


Linux使用标準的目錄結構,在安裝的時候,安裝程序就已經為用戶創建了文件系統和完整而固定的目錄組成形式,并指定了每個目錄的作用和其中的文件類型。


完整的目錄樹可劃分為小的部分,這些小部分又可以單獨存放在自己的磁盤或分區上。這樣,相對穩定的部分和經常變化的部分可單獨存放在不同的分區中,從而方便備份或系統管理。目錄樹的主要部分有 root、/usr、/var、/home 等 。這樣的布局可方便在 Linux 計算機之間共享文件系統的某些部分。


linux運維零基礎命令(每天5分鐘運維基礎)14


Linux采用的是樹型結構。最上層是根目錄,其他的所有目錄都是從根目錄出發而生成的。


微軟的DOS和windows也是采用樹型結構,但是在DOS和 windows中這樣的樹型結構的根是磁盤分區的盤符,有幾個分區就有幾個樹型結構,他們之間的關系是并列的。最頂部的是不同的磁盤(分區),如:C,D,E,F等。


但是在linux中,無論操作系統管理幾個磁盤分區,這樣的目錄樹隻有一個。從結構上講,各個磁盤分區上的樹型目錄不一定是并列的。



linux運維零基礎命令(每天5分鐘運維基礎)15



Linux磁盤分區


01 主分區,擴展分區和邏輯分區  


linux分區不同于windows,硬盤和硬盤分區在Linux都表示為設備.


硬盤分區一共有三種:主分區,擴展分區和邏輯分區。  


硬盤的分區主要分為主分區(Primary Partion)和擴展分區(Extension Partion)兩種,主分區和擴展分區的數目之和不能大于四個。


主分區(Primary Partion):可以馬上被使用但不能再分區。


擴展分區(Extension Partion):必須再進行分區後才能使用,也就是說它必須還要進行二次分區。


邏輯分區(Logical Partion):由擴展分區建立起來的分區。邏輯分區沒有數量上限制。


擴展分區隻不過是邏輯分區的“容器”,實際上隻有主分區和邏輯分區進行數據存儲。


02 Linux下硬盤分區的标識


硬盤分區的标識一般使用/dev/hd[a-z]X或者/dev/sd[a-z]X來标識,其中[a-z]代表硬盤号,X代表硬盤内的分區号。


整塊硬盤分區的塊号标識:Linux下用hda、hdb、sda、sdb 等來标識不同的硬盤;


其中:


IDE接口硬盤:表示為/dev/hda1、/dev/hdb ...;


SCSI 接口的硬盤、SATA接口的硬盤表示為/dev/sda、/dev/sdb ... ... ;


硬盤内的分區:如果X的值是1到4,表示硬盤的主分區(包含擴展分區);邏輯分區從是從5開始的,比如/dev/hda5肯定是邏輯分區了;


例如:


用hda1、hda2、 hda5、hda6 來标識不同的分區。其中,字母a 代表第一塊硬盤,b代表第二塊硬盤,依次類推。而數字1 代表一塊硬盤的第一個分區、2 代表第二個分區,依次類推。


1 到4 對應的是主分區(Primary Partition)或擴展分區(Extension Partition)。從5開始,對應的都是硬盤的邏輯分區(Logical Partition)。一塊硬盤即使隻有一個主分區,邏輯分區也是從5開始編号的,這點應特别注意。


總結:一個硬盤分區首先要大确認在哪個硬盤,然後再确認它所在硬盤内的哪個分區。


對于/dev/hda 類似的表示方法,也并不寞生吧;我們在Linux通過fdisk -l 就可以查到硬盤是/dev/hda還是/dev/hdb;

[root@localhost ~]# fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 970 7791493 7 HPFS/NTFS

/dev/hda2 971 9729 70356667 5 Extended

/dev/hda5 971 2915 15623181 b W95 FAT32

/dev/hda6 2916 4131 9767488 83 linux

/dev/hda7 4132 5590 11719386 83 linux

/dev/hda8 5591 6806 9767488 83 linux

/dev/hda9 6807 9657 22900626 83 linux

/dev/hda10 9658 9729 578308 82 linux swap / Solaris



請注意第一行, Disk /dev/hda: 80.0 GB, 80026361856 bytes ,這個就是表示機器中隻有一個硬盤設備/dev/hda ,體積大小為 80.0G;下面的就是硬盤的分區,每個分區都有詳細的信息,在這裡不詳細說了;


Linux下磁盤分區和目錄的關系如下:


– 任何一個分區都必須挂載到某個目錄上。


– 目錄是邏輯上的區分。分區是物理上的區分。


– 磁盤Linux分區都必須挂載到目錄樹中的某個具體的目錄上才能進行讀寫操作。


– 根目錄是所有Linux的文件和目錄所在的地方,需要挂載上一個磁盤分區。

■ 文章來源:内容綜合自CSDN,因覺優質,特此分享,侵删。


,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved