Linux中階知識總結

Linux目錄結構

“一切皆文件”思想

Linux 中所有內容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目錄(Windows 下稱爲文件夾)是文件,硬件設備(鍵盤、監視器、硬盤、打印機)是文件,就連套接字(socket)、網絡通信等資源也都是文件。

和Windows系統不同,Linux系統沒有 C 盤、D 盤、E 盤那麼多的盤符,只有一個根目錄(/),所有的文件(資源)都存儲在以根目錄(/)爲樹根的樹形目錄結構中。

這樣做最明顯的好處是,開發者僅需要使用一套 API 和開發工具即可調取 Linux 系統中絕大部分的資源。舉個簡單的例子,Linux 中幾乎所有讀(讀文件,讀系統狀態,讀 socket,讀 PIPE)的操作都可以用 read 函數來進行;幾乎所有更改(更改文件,更改系統參數,寫 socket,寫 PIPE)的操作都可以用 write 函數來進行。

不利之處在於,使用任何硬件設備都必須與根目錄下某一目錄執行掛載操作,否則無法使用。我們知道,本身 Linux 具有一個以根目錄爲樹根的文件目錄結構,每個設備也同樣如此,它們是相互獨立的。如果我們想通過 Linux 上的根目錄找到設備文件的目錄結構,就必須將這兩個文件系統目錄合二爲一,這就是掛載的真正含義。

目錄結構及各文件目錄的詳情

在這裏插入圖片描述 /bin (/usr/bin 、 /usr/local/bin)
是Binary的縮寫, 這個目錄存放着最經常使用的命令

/sbin (/usr/sbin 、 /usr/local/sbin)
s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。

/home
存放普通用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。

/root
該目錄爲系統管理員,也稱作超級權限者的用戶主目錄。

/lib
系統開機所需要最基本的動態連接共享庫,其作用類似於Windows裏的DLL文件。幾乎所有的應用程序都需要用到這些共享庫。

/lost+found
這個目錄一般情況下是空的,當系統非法關機後,這裏就存放了一些文件。

/etc
所有的系統管理所需要的配置文件和子目錄

/usr
這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似與windows下的program files目錄。

/boot
這裏存放的是啓動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件,自己的安裝別放這裏

/proc
這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。

/srv
service縮寫,該目錄存放一些服務啓動之後需要提取的數據。

/sys
這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。

/tmp
這個目錄是用來存放一些臨時文件的。

/dev
類似於windows的設備管理器,把所有的硬件用文件的形式存儲。

/media
linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。

/mnt
系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,我們可以將外部的存儲掛載在/mnt/上,然後進入該目錄就可以查看裏的內容了。

/var
這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌文件。

/usr/local
這是另一個給主機額外安裝軟件所擺放的目錄。一般是通過編譯源碼方式安裝的程序。

/opt
這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下。默認是空的。

/selinux
SELinux是一種安全子系統,它能控制程序只能訪問特定文件。

vi編輯器

VI是Unix操作系統和類Unix操作系統中最通用的文本編輯器。
VIM編輯器是從VI發展出來的一個性能更強大的文本編輯器。可以主動的以字體顏色辨別語法的正確性,方便程序設計。VIM與VI編輯器完全兼容。

vi編輯器的三種模式及其轉換

vi編輯器有三種模式,分別是一般模式,命令模式和編輯模式,三種模式的轉換如下圖所示:

在這裏插入圖片描述

一般模式

以vi打開一個檔案就直接進入一般模式了(這是默認的模式)。在這個模式中, 可以使用“上下左右”鍵來移動光標,可以使用“刪除字符”或“刪除整行”來處理檔案內容, 也可以使用“複製”、“粘貼”來處理文件數據。

指令 功能
yy 複製光標當前一行
y數字y 複製一段(從第幾行到第幾行)
p 箭頭移動到目的行粘貼
u 撤銷上一步
dd 刪除光標當前行
d數字d 刪除光標(含)後多少行
x 刪除一個字母,相當於del,向後刪
X 刪除一個字母,相當於Backspace,向前刪
yw 複製一個詞
dw 刪除一個詞
shift+^ 移動到行頭
shift+$ 移動到行尾
gg或者1+G 移動到頁頭
G 移動到頁尾
數字+G(先輸入數字,在按G) 移動到目標行

編輯模式

在一般模式中可以進行刪除、複製、粘貼等的動作,但是無法編輯文件內容,使用"i, I, o, O, a, A, r, R"等任何一個指令之後纔會進入編輯模式。
通常在Linux中,按下這些按鍵時,在畫面的左下方會出現"INSERT或 REPLACE"的字樣後,纔可以進行編輯。而如果要回到一般模式時, 則必須要按下"Esc"即可退出編輯模式。

指令 功能
i,I 當前光標前
a,A 當前光標後
o,O 當前光標行的下一行
s,S s:刪除當前字符並進入編輯 S:刪除整行並進入編輯
R 進入替換模式

指令模式

在一般模式當中,輸入“: / ?”3箇中的任何一個按鈕,就可以進入指令模式。
在指令模式當中, 可以提供“搜尋資料”等動作,讀取、存盤、大量取代字符、離開vi 、顯示行號等動作也是在此模式中完成。

命令 含義
: w 保存
: q 退出
: ! 強制執行
: %s/old字符/new字符 批量替換
/ 要查找的詞 n 查找下一個,N 往上查找
:set nu/:set nonu 顯示行號/關閉行號

Linux運行級別runlevel

查看默認級別: vi /etc/inittab

Linux系統有7種運行級別(runlevel):常用的是級別3和5

運行級別0:系統停機狀態,系統默認運行級別不能設爲0,否則不能正常啓動
運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸
運行級別2:多用戶狀態(沒有NFS),不支持網絡
運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制檯命令行模式
運行級別4:系統未使用,保留
運行級別5:X11控制檯,登陸後進入圖形GUI模式
運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,否則不能正常啓動

在這裏插入圖片描述

Linux分區

linux磁盤分區主要分爲基本分區/主分區(primary partion)和擴展分區(extension partion)兩種,基本分區和擴充分區的數目之和不能大於四個。且基本分區可以馬上被使用但不能再分區。擴展分區必須再進行分區後才能使用,也就是說它必須還要進行二次分區。在 Linux 中,每一個硬件設備都映射到一個系統的文件,對於硬盤、光驅等 IDE 或 SCSI 設備也不例外。

Linux的分區和Windows分區的對比:

在這裏插入圖片描述

在Windows操作系統中,是先將物理地址分開,再在分區上建立目錄。在Windows操作系統中,所有路徑都是從盤符開始,如C://program file。
Linux正好相反,是先有目錄,再將物理地址映射到目錄中,這個將物理存儲空間映射到Linux目錄下的操作叫做掛載,掛載完成後,該目錄的存儲空間的大小就是與其掛載的物理存儲介質的大小。
在Linux操作系統中,所有路徑都是從根目錄開始。Linux默認可分爲3個分區,分別是boot分區、swap分區和根分區。

Linux默認的三個分區:

boot分區

該分區對應於/boot目錄,約100MB.該分區存放Linux的Grub(bootloader)和內核源碼。用戶可通過訪問/boot目錄來訪問該分區.換句話說,用戶對/boot目錄的操作就是操作該分區。

swap分區

該分區沒有對應的目錄,故用戶無法訪問。
Linux下的swap分區即爲虛擬內存.虛擬內存用於當系統內存空間不足時,先將臨時數據存放在swap分區,等待一段時間後,然後再將數據調入到內存中執行。所以說,虛擬內存只是暫時存放數據,在該空間內並沒有執行。
虛擬內存:是指將硬盤上某個區域模擬爲內存。因此虛擬內存的實際物理地址仍然在硬盤上。虛擬內存,或者說swap分區只能由系統訪問,其大小爲物理內存的2倍。

根分區

在Linux操作系統中,除/boot目錄外的其它所有目錄都對應於該分區。因此,用戶可通過訪問除/boot目錄外的其它所有目錄來訪問該分區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章