第一章linux 安裝操作系統
Linux內核是由一個特殊軟件程序,用於實現CPU和內存的分配、進度調度、設備驅動等核心操作。
Linux由主版本號和次版本號、修訂版本號組成。
例如:2.6.38
第二列爲奇數代表不穩定版本,爲偶數代表穩定版本。
GPL和LGPL協議:
允許用戶任意複製,傳遞,修改使用及再次發佈新的版本
LGPL:跟GPL相比更商業化了允許開發之後不公開源代碼
紅帽linux系列發行版有:
Red Hat企業版:用於企業中比較穩定
Fedora社區版:用於個人,傾向於桌面,適合桌面絢麗
CentOS社區版:不屬於紅帽,但是基於紅帽源代碼組建而成的。
磁盤分區和文件系統:
Linux的所有都是一切都是文件
硬盤:IDE在linux表示爲“HD”,SCSI在linux表示爲“sd”例如:hda5 a表示第幾塊硬盤(按abcd…….排列)5表示邏輯分區,linux可分4個主分區從5開始表示爲第一個邏輯分區。
系統文件類型:
EXT3用於存放文件和目錄數據的分區
SWAP交換文件系統,用於緩解內存一般大於內存容量的1.5~2倍
第二章設置及基本操作
Linux目前有兩個圖形桌面套件GNOME(GNU網絡對象模型環境也是目前的主流)和KDE(桌面環境)
Linux系統目錄結構:是一個樹形目錄結構所有的分區和目錄都有一個根目錄來構成的/
/boot:內核文件和啓動菜單配置文件
/bin:存放基本用戶口令
/dev:存放硬件設備文件
/etc: 系統及各種配置文件
/home: 存放普通用戶的基本工作文件
/root: 存放超級管理員的文件
/sbin:存放超級管理員命令文件
/usr: 存放其他的應用程序
/var:存放一些容易變化的系統文件。如:日誌文件,郵箱等
/tmp:存放系統運行過程中使用的一些文件
在命令行中“#”代表管理員。$代表普通用戶權限
Uname –r 表示查看版本信息
1.查看CPU信息:cat /proc/cpuinfo 查看CPU使用率:top
2.查看內存信息:cat /proc/meminfo 還可以用Free -m以m爲單位顯示
3.查看更改主機名:hostname
4.查看更改IP地址:ifconfigeth0 後面跟IP 在加netmask(子網掩碼)臨時的重啓之後就失效。
5.關機:shutdown -h now 或poweroff
6.重啓:shutdown -r now 或reboot
第三章目錄和文件管理(一)
Tab 鍵→補全不完整的命令字或文件
Ctrl—C→換爲新的一行命令提示符
Ctrl—L→清屏
怎麼查看內外部命令用“type”
內部命令用幫助的時候:help pwd
外部命令幫助時有三種方式:ls –help
Man file
Info ls
管道(丨表示):左端的輸出做右端的輸入舉例:man ls 丨 col –b>lshelp.txt
重定向輸出(>表示):用大於號表示用於把輸出的結果保存起來 man ls 丨 col –b>lshelp.txt
查看及切換目錄
Pwd命令查看當前的工作目錄
Cd命令切換工作目錄
Ls命令顯示目錄內容參數有
Ls—L=ll :顯示所有詳細信息
-a :顯示隱藏目錄
-t :按時間前後來排序
-d :顯示目錄本身屬性而不顯示內容
-h :以人性化的方式顯示目錄或文件大小
-R :以遞歸的方式顯示指定目錄及其所有目錄內容=tree
——color表示以顏色區分不同文件,深藍色表示目錄,白色表示一般文件,綠色表示可執行文件,黃色表示設備文件,紅色表示壓縮文件。
du命令統計目錄及文件夾的空間佔用情況:
-a統計磁盤空間佔用時的所有文件大小
-h以人性化方式顯示
-s只統計某個目錄或文件的大小
創建目錄和文件夾:
mkdir命令創建新目錄如果需創建多個目錄要加參數-p/aa/bb/cc 表示遞歸是的創建 -p aa bb cc 表示在同一個文件夾創建aabb cc
touch命令創建空文件
複製、刪除、移動目錄或文件:
cp命令(cope)複製文件或目錄:cp 要複製的文件夾目錄複製到哪的文件或目錄(用“./”表示當前目錄下,“../”表示上一目錄,“./”後面跟的目錄,例如:aa如果有aa則默認複製到aa中,如果沒有則新建一個aa複製進去。
-f表示強制複製
-i表示同名時給用戶提示
-p複製時保持源文件的權限
-r表示遞歸複製目錄下的所有文件
rm命令刪除(remove)文件或目錄:
-f強制刪除
-i刪除時提醒用戶
-r遞歸刪除所有目錄或文件
mv命令移動(move)文件或目錄:mv要移動件夾目錄移動到哪的文件或目錄(用“./”表示當前目錄下,“../”表示上一目錄,“./”後面跟的目錄,例如:aa如果/後面不加參數則默認移動到的名還是aa,如果/後面起名叫aa則文件改名爲aa。
find命令——查找條件或目錄:
用法:find(查找範圍)(查找條件)
條件有:-name容許使用(*代表多個字符)?(代表一個字符)
-size用“+-”來控制
-user根據用戶來查找
-type 根據類型來查找:f(普通文件夾)、d(目錄)、b(塊設備文件)、
第四章目錄和文件管理(二)
查看文件內容:
Cat命令—顯示並連接文件內容
使用:cat /跟路徑
Less和more命令——用來分頁查看文件內容
使用:less /根路徑
Head(頭部)和tail(尾部)命令——查看文件開頭或末尾的部分內容
使用:head -4 /路徑表示:1到4行的內容 tail -f /路徑表示:看動態隨時更新。
wc命令——統計文件中的單詞數量以及行的數量
使用:wc -參數 /路徑
參數: -c 統計字節量
-l 統計多少行
-w統計多少個單詞
grep命令——檢索、過濾文件內容
(條件:^表示以什麼開頭、$表示以什麼結尾、^$表示空行)
使用:grep (參數)需要查找的內容要查找的地方
參數:-i查找內容時忽略大小寫
-v反向查找,意思是與輸出條件不相符合即可
-[]表示代替“一個字符”例如: [ab]表示a或B [a-b]表示a到b都執行 [^]表示取“反向”的意思。
備份與恢復文檔:
1.gzip和gunzip命令壓縮或解壓文件:
使用:gzip 文件表示:壓縮
gzip -9 文件表示:提高壓縮比率但降低解壓速度。
使用:gunzip 文件表示:解壓文件
gzip -d 文件表示:解壓文件
2.bzip2和bunzip2命令壓縮或解壓文件:
使用:與gzip和gunzip方法一樣只是後罪名不一樣 bzip2後罪名爲:.bz2 gzip後罪名爲:gz
Tar命令歸檔和釋放工具:功能與gzip和bzip2功能一樣
使用:tar (參數)(需要歸檔壓縮起的名字)(需要歸檔壓縮的目錄或文件)
參數:-c創建.tar格式的包文件
-C解包時需要放在哪個指定目錄
-f使用歸檔文件
-j使用bzip2程序壓縮或解壓
-z使用gzip程序壓縮或解壓
-X解開.tar格式的文件
-v輸出的詳細信息
-t 查看包內的文件
-p打包時保留文件及目錄的絕對目錄
-p(大)打包時保留文件及目錄的權限
例如:tar czf sukun.tar.gz /etc 表示:把etc目錄壓縮,起名爲sukun.tar.gz
tar xzf sukun.tar.gz -C /etc 表示:把sukun.tar.gz解壓到/etc下
Linux vim常用參數
一,vi工作模式
命令模式 |
輸入模式 |
末行模式 |
a,i,o |
ESC鍵 |
ESC鍵 |
:鍵 |
vi常用指令
【進入輸入模式】
i 在光標前
I 大寫i,在當前行首
a 光標後
A 在當前行尾
o 在當前行之下新開一行
O 在當前行之上新開一行
【命令模式】
yy 複製當前行
dd 刪除當前行
cc 剪切當前行
p 將複製或剪切的行進行粘貼
u 撤銷剛剛的修改操作
gg 跳轉到文件首行
G 跳轉到文檔末尾
/需要查找的東西向下查找文件的內容
?需要查找的東西向上查找文件的內容
n next將光標向下移動,移動到剛剛查找到的關鍵詞上
N next將光標向上移動,移動到剛剛查找到的關鍵詞上
:% sub/aaa/bbb/g 整個文件進行查找aaa替換成bbb
:5,10s/aaa/bbb/g 文檔的5到10行進行查找aaa替換成bbb
【末行模式】
:w 保存文件但不退出vi
:w! 強制保存,不退出vi
:w file 將修改另外保存到file中,不退出vi
:wq 保存文件並退出vi
:wq! 強制保存文件,並退出vi
:q 不保存文件,退出vi
:q! 不保存文件,強制退出vi
:set nu 顯示行號
:set nonu 將set nu顯示過的行號消除
第五章安裝及管理程序
Linux的組成部分:
1.普通可執行程序文件,一般保存在“/usr/bin”目錄中,普通用戶即可執行
2.服務器,管理程序文件,一般保存在“/usr/sbin”目錄中,管理員可執行
3.配置文件,一般保存在“/etc”目錄中
4.日誌文件,一般保存在“/var/log”目錄中
5.應用程序的參考文檔數據保存在“/usr/share/doc/”目錄中
6.執行文件配置文件的man手冊“/usr/share/man”目錄中
軟件包的封裝類型有:
★RPM軟件包:擴展名爲rpm,只能使用RPM (RPM package Manager)linux系統中安裝,用rpm命令安裝
★DEB軟件包:擴展名deb,只能使用DPKG,linux系統安裝,用dpkg命令安裝
★源代碼安裝:一般都是tar.gz 或tar.bz2,等格式的壓縮包需要用到g++編輯器工具
★附帶安裝程序的軟件包:軟件包會自帶可執行安裝文件直接執行文件即可
使用RPM包管理命令:
RPM有三種功能
1.查詢、驗證軟包的信息。
2.安裝、升級、卸載RPM包
3.維護RPM數據庫信息等綜合管理操作
查詢RPM軟件包命令:
-qa顯示當前系統安裝的所有rpm軟件包的信息
-qi顯示rpm包的詳細信息(info)
-ql顯示軟件包在當前系統中安裝的所有目錄文件夾列表(list)
-qf顯示指定的目錄或文件夾是哪個rpm軟件包安裝的(file)
-qc顯示配置文件
-qd顯示文檔文件日誌
網頁下載命令:wget.路徑
安裝升級卸載rpm包命令:
-i安裝rpm軟件包
-e卸載rpm軟件包
-U升級rpm軟件包,沒安裝的安裝上
-F升級rpm軟件包,沒安裝的不安裝
-h在安裝或升級過程中以#顯示安裝過程(人性化顯示)
-v顯示安裝過程的詳細信息
——force強制安裝某個rpm軟件包
——nodeps不檢查軟件包的依賴關係
源代碼編譯安裝程序分爲4部分:
1.解包tar zxf (用解壓的包) -c 解壓到哪的絕對路徑
2.配置用安裝的目錄、或文件夾路徑:./configure ——prefix=/usr/local/(安裝的路徑)如不指定路徑默認按系統路徑來安裝
3.編譯將源代碼生成可執行的二進制代碼用:make命令
4.安裝複製到當前設置的路徑:make install
5.使用直接輸入絕對路徑回車即可執行
第六章賬號和權限管理
組賬號:基本組和附加組
基本組(默認一個用戶第一個組爲基本組),附加組(一個用有多個組從第二個組往後就屬於附加組)。
UID和GID:UID(用戶ID標示符root默認爲“0”)GID(組賬號標示符root默認爲“0”)
添加、刪除、修改用戶賬號:
添加用戶賬號命令:useradd 選項參數用戶名字
用戶存配置文件路徑/etc/passwd 存放的是用戶的名稱、宿組目錄、登陸shell等信息。/etc/shadow保存的加密密碼,賬號有效期時間。
選項參數:-u指定用戶UID
-d指定用戶的宿組位置
-e指定用戶的失效時間YYYY-MM-DD
-g指定用戶的基本組名
-G指定用戶的附加組名
-s指定用戶的登錄信息
設置密碼:passwd 加用戶名
選項參數:-d清空指定用戶密碼
-l鎖定用戶賬號
-S查看用戶狀態(是否被鎖定)
-u解鎖用戶賬號
修改用戶賬號屬性:usermod命令
-u修改用戶的UID
-d修改用戶的宿主目錄位置(注意:要先移動原宿主目錄路徑,到指定位置)
-e修改用戶的賬號失效時間
-g修改用戶的基本組名
-G修改用戶的附加組名
-s指定用戶的登錄shell
-l更改用戶賬號的登錄名字
-L鎖定用戶賬戶
-U解鎖用戶賬戶
刪除用戶賬號:userdel命令刪除的名字
-r 表示連宿主目錄一起刪除
用戶賬戶的初始配置文件:
Bash_profile:命令將在該用戶登錄時執行
Bash_logout:命令將在該用戶退出時執行
組賬號管理:
組賬號配置文件放在/etc/group(保存組賬號名稱,GID,組成員),/etc/gshadow(加密祕鑰)
添加組賬號:groupadd 組的名字
將用戶添加到某個組命令:gpasswd -a 加入用戶的名要加入組的名
如需要一個組一起加多個賬號:gpasswd -M 加入用戶的名要加入組的名
查詢用戶賬號所屬組:groups 用戶的名字
查詢用戶賬號身份標識:id 用戶名字
查詢用戶賬號的登陸屬性:finger
查詢當前主機的用戶登錄情況:who(W簡寫)
管理目錄文件的權限:r表示:讀取權限(用數字4代表)
w表示:寫入權限(用數字2代表)
x表示:執行權限(用數字1代表)
例如:rwx|rwx|rwx=777可以分爲三組,第一組爲“用戶對文件目錄權限”,第二組爲“組對文件目錄權限”,第三組爲“命令執行對文件目錄權限”(注意:目錄要有執行權限纔可以cd進入目錄)
配置文件目錄的權限命令爲:chmod 用數字代表的權限文件或目錄
配置文件目錄的歸屬:chown 用戶(屬主):組(屬組)文件或目錄
第七章磁盤和文件系統管理(一)
檢測查看磁盤:
命令:fdisk -l 檢測新磁盤
新磁盤路徑:/dev/sda
規劃磁盤分區命令:fdisk /dev/sdb(磁盤的路徑)
進入command(m for help)提示後輸入:
P指令——列出硬盤中的分區情況
n指令——新建分區(e表示擴展分區,p代表主分區,l表示邏輯分區)
d指令——刪除分區
t指令——變更分區類型
w指令——保存設置
q指令——退出
m指令——爲幫助
partprobe /dev/sdb表示爲重新檢測磁盤分區的變化
創建文件系統:
創建EXT3(文件號爲83)文件系統命令:mkfs -t ext3 /dev/sdb1(分區路徑)=mkfs.ext3 /dev/sdb1
創建swap文件系統的命令:mkswap /dev/sdb5(分區路徑)swapon /dev/sdb5命令(相當於swap掛載)swapoff /dev/sdb5(相當於swap卸載)
注意:掛載之後才能查看文件系統。
掛載、卸載文件系統:只有掛載了才能使用磁盤。
掛載命令:mount /dev/sdb1(分區位置)/disk1(表示爲掛載到哪的路徑)
命令:mount -a重新讀取配置文件重新掛載全部
卸載命令:umount掛載點對應的路徑
查看磁盤的使用情況以及文件系統類型命令:df -hT(h表示人性化,T表示顯示文件系統類型)
以上都是臨時操作,重新啓動便自動消失,要想永久更改必須要更改配置文件,配置文件爲/etc/fstab。用vim進行更改
打開vim /etc/fstab 按照內容進行更改重啓之後將會自動更改生效。
第八章磁盤和文件系統管理(二)
LVM邏輯卷管理:系統中對磁盤分區進行管理的一種邏輯機制,它是建立在硬盤和分區之上的一個邏輯層,它使用於不要求訪問速度的環境上。注意:/boot分區不能基於LVM創建,必須獨立出來。
LVM的幾個基本術語:
1.PV(physical volume,物理卷)是一個基本存儲設備
2.VG(volume group,卷組)多個物理卷組成一個卷組
3.LV(logical volume,邏輯卷)是從卷組分出一小部分做文件系統如:ext3
LVM的管理命令:
功能 | PV管理命令 | VG管理命令 | LV管理命令 |
Scan掃描 | Pvscan | Vgscan | Lvscan |
Create建立 | Pvcreate | Vgcreate | Lvcreate |
Display顯示 | Pvdisplay | Vgdisplay | Lvdisplay |
Remove移除 | Pvremove | Vgremove | Lvremove |
Extend擴展 | Vgextend | Lvextend | |
Reduce減少 | Vgreduce | Lvreduce |
下面介紹一下建立LVM邏輯卷步驟:
1.fdisk /dev/sdb(設備名)
2.n建立分區,t選擇lvm文件系統,w保存退出
3.PV建立物理卷:pvcreate /dev/sdb(設備名)
4.VG建立卷組:vgcreate 卷組名字要組成卷組的物理卷名字
5.LV建立邏輯卷:lvcreate -L分給邏輯卷大小 -n 新創建的邏輯卷名字卷組的名字
6.如果分給邏輯卷使用完了不夠了,則用:lvextend –L +多少G /dev/卷組名稱/邏輯卷名字
7.需要用命令從新掃描一下空間:resize2fs /dev/卷組名稱/邏輯卷名字
8.如果你分的組卷容量用完了則:gvextend 要加的卷組名字設備名字
9.格式化成ext3的:mkfs -t ext3 要格式化的路徑
10.裝載上:mount 路徑
11.df -fT查看一下格式化裝載是否成功
磁盤配額的限制類型:磁盤容量和文件數量
磁盤配額的限制方法:軟限制和硬限制
軟限制(soft):達到軟限制額度則給與警告
硬限制(hard):達到硬限制額度則不可在用
第一步Vim /etc/fstab修改配置文件在default後面加上usrquota(用戶配額文件)grpquota(組配額文件)
第二部需要umount –a卸載之後再mount -a從新加載,最後mount看一下是否有這個兩個文件
第三部 quotacheck -augcv 讓文件生效
-a 掃描所有分區(沒有指定-a必須指定路徑)
-u -g 分別掃描用戶和組的配額文件
-c 創建新的配額文件
-v 詳細信息
第三部設置配額用戶或組生效: edquota -u 用戶(更改裏面的配置文件blocks表示當前使用容量,inodes表示創建文件數量,soft表示軟件,hard表示硬件一般只更改soft和hard)
-u用戶
-g組
-t 時間(默認爲七天)
第四部啓動磁盤配額功能:quotaon 掛載路徑
第五步驗證磁盤配額功能:注意:要更改權限和歸屬之後再行驗證
第九章引導過程和服務控制
系統初始化及文件:
init進程是第一個liunx加載的系統,PID爲“1”。每個進程的身份標記號稱爲PID。
inittab配置文件:/etc/inittab的配置文件來啓動腳本和程序。每條配置紀錄都用“:”來分割。
例如:id:runlevels:action:process
標記:運行級別:動作類型:程序或腳本
Runlevels—運行級別:
“0”表示關機
“1”表示不帶密碼的單用戶模式
“2”不支持網絡的字符界面
“3”字符界面
“4”未分配使用
“5”圖形化界面
“6”重啓
Action——動作類型字段有
“initdefault”:設置初始化默認進入的級別
“sysinit“:設置系統初始化的操作腳本
“wait”:init進程將等待該行配置所對應的的操作腳本完成後在執行其他操作
“ctrl alt del”:設置這個鍵3秒重啓的設置
“powerfail”:設置系統斷電時採取什麼操作
“powerokwait”:設置電源恢復該如何操作
“respawn”:一旦該行的程序被終止,則重新啓動該程序
如用更改則:vim /etc/inittab的文件更改之後執行init q從新讀取配置文件
rc.local腳本文件:
配置文件:vim /etc/rc.d/rc.local 作用是用於管理員自行設置開機啓動項
系統服務控制:server 服務名稱控制類型=/etc/rc.d/init.d/ 服務名稱控制類型
Start:啓動
Stop:停止
Restart:重啓
Reload:重載
Status:查看狀態
切換運行級別:
Runlevel:用來查看當前級別
Init 數值:用來切換級別
優化開機自動加載服務:有兩個命令可結合使用其功能作用則一樣
ntsysv ——level 需要開啓或關閉的級別項
chkconfig ——level 運行級別的列表服務名稱 on|off
chkconfig ——list:可以查看開啓或關閉
第十章進程和計劃任務管理
怎麼查看現有服務器上的所有程序及詳細:Ps -aux (ps代表process程序)
怎麼樣殺掉不需要的進程:kill -9 要殺掉的進程號(9表示強制)
Killall -9 要殺掉的進程的名字
pkill -9 要殺掉程序的用戶名字
查看進程動態信息:top命令(按p是cpu使用量大小排序,按m按內存大小排序)
查看進程信息:pgrep命令=ps -aux |grep 進程名字
查看進程樹結構:pstree命令如果加-p則連帶PID一起顯示
若要一個程序在後臺運行則要在命令後加“&”,或者執行命令後按“ctrl+z(表示掛起)在執行bg(表示background背景)”
查看後臺程序用:jobs-l(“l”可以顯示PID號)
計劃任務管理:系統配置文件/etc/ctontab
Crontab週期性任務設置:
Crontab命令管理任務計劃任務:
-e編輯計劃任務(可以刪除單一計劃任務)
-u指定管理計劃任務的用戶,默認時針對自己
-l列表顯示計劃任務
-r刪除計劃任務
注意:每個計劃任務要用“;”隔開。
計劃任務的執行格式:分時日月周
表示方法有:“*”代表任意時間
“—”代表一個連續時間範圍(1-4表示1.2.3.4)
“,”代表不間斷不連續的範圍(3.4.6.8)
“/”代表間隔的頻率(*/3表示每隔三天一次)
第十一章分析和排查系統故障
主要的日誌文件:
/var/log/messages:紀錄linux內核消息及各種應用程序的公共日誌信息,包括啓動,IO錯誤,網絡錯誤,程序故障等。
/var/log/cron:紀錄cron計劃任務產生的事件信息
/var/log/dmesg:紀錄linux系統在引導過程中的各種事件信息
/var/log/maillog:紀錄進入或發出的系統電子郵件系統
/var/log/lastlog:紀錄每個用戶最近的登錄事件
/var/log/rpmpkgs:紀錄系統中安裝的各種rpm包列表信息
/var/log/secure: 紀錄用戶的安全認證信息
/var/log/wtmp:紀錄每個登錄,註銷及系統啓動和停機事件
/var/run/btmp:紀錄失敗的,錯誤的登錄嘗試及驗證事件
內核及系統日誌:
有兩個系統軟件包程序klogd,syslogd兩個程序。Syslogd系統配置文件爲/etc/syslog.conf,紀錄內核消息和各種應用程序最基本的系統消息。
按級別分:
0表示emerg(緊急)導致主機系統不可用情況
1表示alert(警告)必須馬上採取措施
2表示crit(嚴重)比較嚴重的情況
3表示err(錯誤)運行出現錯誤
4表示warnng(提醒)可能影響系統功能
5表示notice(注意)不會影響正常功能
6表示info(信息)一般信息
7表示debug(調試)程序或系統調試信息等
MBR扇區故障:
1.備份MBR扇區數據:首先要有兩塊硬盤,要想恢復必須先進行備份。
Mkdir /backup
Mount /dev/sdb1 /backup
Dd if=/dev/sda of=/backup/sukun(隨意起名) bs=512 count=1
2.模擬MBR扇區數據:
dd if=/dev/zero of=/dev/sda bs=512 count=1
3.從備份文件中恢復MBR扇區數據:
Mkdir /su(隨意在起個名)
Mount /dev/sdb1 /su
dd if=/su/sukun of=/dev/sda
文件系統軟件檢查故障命令:fsck -y -t ext3 /dev/sdb1
-y表示對發現的問題自動回答yes
檢測硬件硬盤壞道:badblocks -sv /dev/sdb
-s表示顯示進度表
-v表示顯示詳細信息