歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux基礎知識 >> Linux 學習筆記

Linux 學習筆記

日期:2017/3/2 17:13:32   编辑:Linux基礎知識

Linux 學習筆記

1. Linux內核

主要是五個子系統組成: 進程調度、內存管理、虛擬文件系統、網絡接口、進程間通信。

a. 進程調度(SCHED):主要控制進程對CPU的訪問。Linux使用了比較簡單的基於優先級的進程調度算法選擇新的進程。

b. 內存管理(MM):允許多個進程安全的共享主內存區域。支持虛擬內存,當程序運行的內存總量大於實際內存時,操作系統會將其它的程序塊保留在磁盤中,由操作系統負責內存與磁盤的程序塊交換。

c. 虛擬文件系統(VFS):隱藏了各種硬件的具體細節,為所有設備提供了同意的接口,VFS提供了多達數十種不同的文件系統。虛擬文件系統可以分為邏輯文件系統和設備驅動程序。邏輯文件系統指Linxu所支持的文件系統,如ext2、fat等。設備驅動程序指為每一種硬件控制器所編寫的設備驅動程序模塊。

d. 網絡接口(NET):可以分為網絡協議和網絡驅動程序。網絡協議負責實現每一種可能的網絡傳輸協議。網絡設備驅動程序負責與硬件設備通訊。

e. 進程間通訊(IPC):支持進程間各種通信機制,處於中心位置的進程調度,所有其它子系統都依賴它。

2. 電源管理

電源管理可以將電源有效分配給系統的不同組件。通過降低組件閒置時的能耗,能夠延長電源的壽命。主要分為:掛起、休眠、關機、重啟。

a. 掛起:只保留內存運行,如遇斷電的情況,掛起會丟失在內存中的數據。

b. 休眠:把內存中的所偶數據保存到硬盤中的交換分區(swap),並關閉電腦所有設備,所以休眠斷電的情況下數據不會丟失。

c. 關機和重啟:如果數據沒保存,都會丟失數據。

d. 總結:掛起比休眠喚醒速度快,但是能耗高。

e. 命令操作

sudo pm-hibernate # 休眠

sudo pm-suspend # 待機

sudo pm-suspend-hybrid # 混合待機或睡眠

sudo pm-powersave # 省電模式

3.用戶與群組

3.1 用戶類型

用戶登陸後,系統是通過UID來識別用戶的, 用戶信息存儲在 /etc/passwd

用戶類型分為及UID范圍,如下:

超級管理員 0 # 具有整個系統的使用權限,默認禁止該賬戶直接登陸。

系統用戶 1-499 # 默認時普通用戶,但可以使用sudo命令得到root權限。

普通用戶 500-65535 # 只能執行普通操作

3.2 群組

Linux中每一個用戶屬於一個群組(group),每個群組斗都有一個標識符,GID

所有群組和對應的GID都存放在 /etc/group 中。

4.文件與目錄

4.1 文件

文件: 是存儲在某種長期儲存設備或臨時存儲設備中的一段數據流。

文件類型:

文本文件,是由一些字符的串行組成的。

二進制文件, 一般指除了文本文件以外的文件。

注意1:在Linux中,帶有擴展名的文件,只能代表程序的關聯,並不能說明文件是可以執行,從這方面來說,Linux的擴展名沒有太大的意義。只要屬性中有運行權限,那麼就表示這個文件具有可以執行的權限,但是最終能不能成功運行,還得看文件的內容。並且在Linux擴展名不區分大小寫。

注意2:文件名字前面有"." 表示隱藏文件。

神奇的命令

w

顯示某一時間用戶的行為

who

顯示當前登陸的用戶信息

pwd

打印當前用戶所在的目錄

mkdir

mkdir <DIR> #建立一個空目錄

rm

rm <DIR> #刪除一個空目錄,如果非空,則會報錯

rm -rf <DIR> #遞歸刪除文件夾DIR,也就是刪除DIR及其中的所有文件、文件夾。

ls

ls #列出當前目錄文件(不包括隱藏文件)

ls -a #列出當前目錄文件(包括隱藏文件)

ls -l #列出當前目錄下文件的詳細信息

ls -la #顯示當前目錄下所有文件和文件夾,包括隱藏文件,並顯示文件詳細信息

cp

cp test.text test2.text #復制到同一目錄下,並命名為test.text

cp test.text /home/sun/ #復制到/home/sun文件夾下,保留原文件名

mv

mv file1 file2 #移動重命名文件名

touch

touch FILE  #若FILE文件不存在,此命令創建空文件FILE;若FILE文件已存在,則更新“訪問時間”“

head FILE  #顯示文件的前10行

head -n 30 FILE #顯示文件的前30行

tail

tail FILE  #顯示文件的末10行

tail -f FILE  #動態地顯示文件的末10行。如果文件改變,則顯示內容也即時改變。

tar

tar cf FILE.tar FILES #把一些文件打包,這將只打包不壓縮

tar xf FILE.tar #解包文件

tar czf FILE.tar.gz FILES #打包文件並以gzip壓縮

tar xzf FILE.tar.gz #解壓縮並解包.tar.gz文件

tar cjf FILE.tar.bz2 FILES #打包文件並以bzip壓縮,bzip壓縮得到的文件比gzip更小

tar xjf FILE.tar.bz2 #解壓縮並解包.tar.bz2文件

gizp

gzip FILE #將文件壓縮到gz格式

gzip -d FILE.gz #解壓縮gz文件。

find

find DIR -name FILENAME #在指定的文件夾(不指定則為當前工作目錄)下尋找特定名稱的文件。

find / -name xorg.conf #在系統的所有目錄中尋找叫做”xorg.conf“的文件或文件夾

find /etc -name xorg.conf* #在/etc下的所有目錄中尋找以”xorg.conf“開頭的文件或文件夾

ln

ls -s FILE LINK #創建文件LINK作為FILE的軟鏈接。軟鏈接只是一種快捷方式,當原文件改變地址時會失效

ln -s FILE LINK #同樣也是軟鏈接

ln FILE LINK #硬鏈接,源文件地址改變時鏈接不會失效,不能跨文件系統創建硬鏈接

grep

grep PATTERN FILES #在文件中搜尋特定片段

grep -r PATTERN DIR #在文件夾中遞歸地尋找文件中的特定片段

COMMAND | grep PATTERN #在COMMAND的輸出中尋找特定片段。

lspci | grep VGA #在lspci的結果中搜尋帶有VGA字樣的行。

Copyright © Linux教程網 All Rights Reserved