本文包括:
1、Linux 系統(tǒng)概述
2、Linux 用戶和用戶組管理
3、Linux 文件和目錄管理
4、Linux 文件系統(tǒng)管理
5、Linux LVM 配置
6、Linux 網(wǎng)絡(luò)管理
7、Linux 進程與任務(wù)管理
8、Linux 系統(tǒng)監(jiān)控
9、Linux 管道與I/O重定向
10、Linux 安裝與管理軟件
1、Linux 系統(tǒng)概述
-
Linux 的發(fā)展:離不開它的前身 Unix
-
Unix 的發(fā)展:
1970 年,Ken Thompson 研發(fā)出 Unix 內(nèi)核;1970 年為Unix 元年
1973 年,Ritchie 用 C 語言編寫了 Unix 內(nèi)核,Unix 正式誕生;
1974 年,Unix 對外公布,開始廣泛流行。
-
Linux 的產(chǎn)生和發(fā)展:
1986 年,Tanenbaum 研發(fā)出 MINIX,并于次年發(fā)布;
1991 年,Linus 研發(fā)出 Linux 內(nèi)核的雛形;
1994 年,Linux 1.0 內(nèi)核發(fā)布;
1995 年以后,各種不同的 Linux 發(fā)行版本相繼出現(xiàn)。
-
Linux 發(fā)行版本(內(nèi)核是一樣的):
Redhat 、SUSE Enterprise、CentOS:側(cè)重于網(wǎng)絡(luò)服務(wù),企業(yè)管理
Debian、Stackware:側(cè)重于服務(wù)器及其穩(wěn)定性
Ubuntu、Fedora、Open SUSE:側(cè)重于用戶體驗
-
Unix 和 Linux 的區(qū)別:
Unix Linux 商業(yè)付費 免費開源 與硬件配套 跨平臺 對硬件要求苛刻 對硬件要求很低 安裝復(fù)雜 安裝簡單 使用復(fù)雜 使用簡單 穩(wěn)定 次穩(wěn)定(好于Windows)
-
-
Linux 的結(jié)構(gòu):
應(yīng)用程序
-
外殼(shell):用戶和內(nèi)核之間的命令解釋器,可以根據(jù)自己的需求更換 shell,shell 與 kernel 可分離
常見的 shell 有:bash(Linux 默認的 shell),sh(Unix 默認的 shell),ksh(korn shell),c shell 等等,其中以 bash(Bourne-Again Shell)最為流行:它基于 Bourne shell,吸收了 C shell 和 Ksh 的一些特性。bash 完全兼容 sh,也就是說,用 sh 寫的腳本可以不加修改的在 bash 中執(zhí)行
內(nèi)核(kernel):Linux 操作系統(tǒng)的核心,直接控制計算機資源
硬件
-
Linux 的特點:
多任務(wù),多用戶:CPU 時間分片,分給不同的進程;允許多個用戶同時登陸使用。
管道:前一個程序的輸出作為后一個程序的輸入,看起來好像管道一樣
功能強大的 shell:shell 是一種解釋型高級語言
安全保護機制,穩(wěn)定性好:防止系統(tǒng)及其數(shù)據(jù)未經(jīng)許可而被非法訪問,穩(wěn)定性 Unix 好于 Linux,Linux 好于 Windows
用戶界面:常用命令行的方式,同時提供圖形界面
強大的網(wǎng)絡(luò)支持:TCP/IP 協(xié)議就是 Linux 的缺省網(wǎng)絡(luò)協(xié)議
移植性好:源代碼用 C 語言寫成,便于移植到其它計算機上
2、Linux 用戶和用戶組管理
-
Linux 的用戶和用戶組
在 Linux 操作系統(tǒng)中,Linux 用戶會歸屬于用戶組,那么歸屬于同一用戶組的不同用戶,它對一些公共文件具有相同的訪問權(quán)限,每個用戶對它所歸屬的文件具有其適用的訪問權(quán)限。
-
Linux 通過 UID 和 GID 來管理用戶和用戶組
-
UID(User ID):通過配置文件 /etc/password 儲存,記錄的是單個用戶的登陸信息
root:x:0:0:root:/root:/bin/bash
被冒號分成七個字段:分別為:用戶名、密碼、UID、GID、用戶描述、用戶家目錄、用戶的 shell 類型
擴展閱讀:
Linux 系統(tǒng)中通常有三種類型的用戶:超級用戶(super user),常規(guī)用戶(regular user)和系統(tǒng)用戶(system user)。
超級用戶的 UID 和 GID 都是 0。不管系統(tǒng)中有多少個系統(tǒng)管理員,都只有一個超級用戶帳號。超級用戶帳號,通常指的是 root user,對系統(tǒng)擁有完全的控制權(quán)。超級用戶是唯一的。
常規(guī)用戶的 UID 500 - 60000。指那些登陸到 Linux 系統(tǒng),但不執(zhí)行管理任務(wù)的用戶,例如文字處理或者收發(fā)郵件等
系統(tǒng)用戶的 UID 1 — 499。系統(tǒng)用戶并不是一個人,也被稱為邏輯用戶或偽用戶。系統(tǒng)用戶沒有相應(yīng)的 /home 目錄和密碼。系統(tǒng)帳號通常是 Linux 系統(tǒng)使用的一個管理日常服務(wù)的管理帳號
-
GID(Group ID):通過配置文件 /etc/group 儲存的,記錄 GID 和用戶組組名的對應(yīng)關(guān)系
root:x:0:
root 用戶組的 GID 為0
smc:!:1001:
SMC 用戶組的 GID 為1001
擴展閱讀:
沒有 supergroup
Systemgroup:GID 0 - 499
一般組:GID 500 - 60000
-
-
用戶管理的常用命令
-
用戶查詢命令:
id:查詢當前登陸用戶的 GID 和 UID。
finger:查詢當前用戶的屬性信息,包含家目錄和 shell 類型。
-
新增用戶:useradd[參數(shù)][用戶名]
linux: ~ # useradd -d /home/ipcc -m -u 2000 -g mms -s /bin/csh ipcc
-d:設(shè)置用戶的家目錄
-m:設(shè)置的家目錄不存在時自動創(chuàng)建
-u:設(shè)置用戶的 UID
-g:設(shè)置初始 GID 或組名
-s:設(shè)置用戶的shell,如:/bin/csh
上例最后的 ipcc 指的是該用戶的用戶名
linux: ~ # useradd ipcc
這個例子中沒有參數(shù),直接創(chuàng)建用戶名為 ipcc 的用戶,如果在新增用戶時沒有指定參數(shù)信息,系統(tǒng)就會去讀取 /etc/default/useradd 配置文件,它規(guī)定了默認的初始用戶組和 shell 等。
linux: ~ # useradd –D
如果需要查詢基本的設(shè)置,通過 useradd –D 讀取默認的配置。
-
刪除用戶:userdel [參數(shù)] [用戶名]
linux:~ # userdel ipcc
刪除 ipcc 用戶
linux:~ # userdel -r iptv
加上 -r,會將用戶的家目錄一起刪除。
-
新增完用戶后,需要設(shè)置和修改用戶密碼:passwd[用戶名]。常規(guī)用戶只能不輸入用戶名,修改當前用戶的密碼,超級用戶可以加上用戶名修改其他用戶的密碼。輸入正確后,這個新口令被加密并放入 /etc/shadow 文件
注意:在 ubuntu 的默認 shell 中,密碼不會顯示出來,且再修改密碼時,會多次提示你輸入密碼以確保正確性
-
修改用戶屬性:usermod[參數(shù)][用戶名]
linux:~ # usermod -d /opt/ipcc ipcc
-d 修改用戶家目錄
-g 修改初始用戶組
擴展閱讀:su 命令用于變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼
http://www.runoob.com/linux/linux-comm-su.html -
-
用戶組管理常用命令
-
新增用戶組:groupadd
linux:~ # groupadd ipcc linux:~ # groupadd -g 2000 iptv
-g 指定組 ID
-
刪除用戶組:groupdel [用戶名]
linux:~ # groupdel iptv
-
修改用戶組:groupmod [參數(shù)] [用戶名] -
linux:~ # groupmod -g 2500 -n ipcc1 ipcc
g 修改組 ID -n 修改組名
-
3、Linux 文件和目錄管理
-
Linux 的文件結(jié)構(gòu)類似于倒樹形結(jié)構(gòu),樹的 root 是 / 文件夾
-
根目錄下的子目錄以及存放的內(nèi)容:
-
常用文件夾
-
/etc
- 配置文件
- 大部分是 *.conf
- /etc/passwd , /etc/group , /etc/shadow 除外
-
/home
- 用戶家目錄
- /home/用戶名
-
/root
- 超級用戶 root 的目錄
-
/tmp
- 臨時文件區(qū)
-
/var/tmp
- 臨時文件區(qū)
-
/boot
- Boot filesystem
- 啟動加載器
- 內(nèi)核及 init ram dist
-
/dev
- 設(shè)備文件
- /dev/sda 是硬盤
- /dev/sda1 是分區(qū)
- 注意:Linux 的思想,一切都是文件
-
/media
- 本機硬盤以外的儲存設(shè)備
- 例如:/media/CDROM
-
/mnt
- 本機硬盤以外的儲存設(shè)備
- Red Hat 習慣手動掛載于此
-
-
-
絕對路徑與相對路徑
絕對路徑:由根目錄(/)開始寫起的文件名或者目錄名,例如: /home/student/file.txt
-
相對路徑:基于當前路徑的的文件名或者目錄名寫法,
.
代表當前目錄..
代表上一級目錄舉例:假如目前在 /home/smc 目錄下,想要切換到 /home/smc/bin/smc 目錄下,首先可以使用絕對路徑,命令如下:
cd /home/smc/bin/smc
操作完成后,想要回到剛才的 /home/smc 目錄下,可以使用相對路徑,命令如下;
cd ../..
再舉例:目前在 /tmp,想要去 /home/student/file.txt
../home/student/file.txt
再舉例:目前在 /home,想要去 /home/student/file.txt
student/file.txt
-
文件和目錄的基本操作
-
顯示當前目錄下的所有文件:ls (list segment)
- ls -l :顯示出詳細信息
顯示當前的工作目錄:pwd (print working directory
-
變更工作目錄:cd
cd cd /home/smc/bin/smc cd ../..
第一條指令,cd 后面不跟任何路徑,則是回到主目錄
-
新增目錄(必須具備寫權(quán)限):mkdir[-m 模式][-p] 目錄名
mkdir temp mkdir -m 777 temp/abc
-m 指定存取模式,設(shè)置為777,所有文件可讀可寫可執(zhí)行
-p 建立目錄時建立其所有不存在的父目錄 -
刪除目錄(對父目錄具備寫權(quán)限):rmdir [-p] 目錄名
用于刪除空目錄,如果刪除非空目錄,則使用 rm 再加上參數(shù)即可
–p 刪除目錄及父目錄
-
復(fù)制文件或目錄(對父目錄具備寫權(quán)限) :cp 源文件或目錄 目的文件或目錄
- cp /etc/passwd /tmp/passwd :絕對路徑是最標準的寫法
- cp /etc/passwd /tmp :相同文件名稱
- cp /etc/passwd /tmp/. :在/tmp目錄下,相同名稱拷貝,與上結(jié)果一樣
- cp /etc/passwd . :當前文件夾下,相同名稱拷貝
-
移動文件或目錄(對父目錄具備寫權(quán)限):mv 源文件或目錄 目的文件或目錄
- mv /tmp/passwd /tmp/abc :更改文件名稱
- mv /tmp/passwd /var/tmp/passwd :移動文件,名稱不變
- mv /tmp/passwd /var/tmp/abc:移動文件并更改文件名稱
- 注意SELinux security context
-
刪除文件或目錄(對父目錄具備寫權(quán)限):rm[-ir] 文件或目錄
-name 以指定字符串開頭的文件名 -user 查找指定用戶所擁有的文件。
-
-
查看文件內(nèi)容:
cat:直接查閱文件內(nèi)容,不能翻頁
more:翻頁查看文件內(nèi)容
less:翻頁閱讀,和 more 類似。但操作按鍵比 more 更加彈性。
head:查看文檔的頭部幾行內(nèi)容,默認為 10 行,可用
-數(shù)字
來查看特定行數(shù)tail:查看文件的尾部幾行內(nèi)容,默認為 10 行,可用
-數(shù)字
來查看特定行數(shù)
4、Linux 文件系統(tǒng)管理
文件系統(tǒng)的概念:操作系統(tǒng)用于明確存儲和組織計算機數(shù)據(jù)的方法,使得對數(shù)據(jù)的查找和訪問變得更加容易。用戶不需要關(guān)心文件位于d硬盤的數(shù)據(jù)塊地址。
-
存儲在介質(zhì)中數(shù)據(jù)的三個因素
文件名:定位存儲的位置
數(shù)據(jù):文件的具體內(nèi)容
元數(shù)據(jù) meta-data:文件有關(guān)的信息。例如文件的權(quán)限、所有者、文件的修 改時間等。
Linux 支持的文件系統(tǒng)類型可查看 /etc/filesystems
-
文件系統(tǒng)的分類
-
根據(jù)是否有日志?
傳統(tǒng)型文件系統(tǒng):寫入文件內(nèi)容的時候,先寫數(shù)據(jù),再寫元數(shù)據(jù),若寫元數(shù)據(jù)前斷電,則會造成文件不一致。典型的:ext2(Linux 默認的文件系統(tǒng))
日志型文件系統(tǒng):寫入文件內(nèi)容的時候,先寫日志記錄文件(更安全)。典型的:ext3 = ext2 + 日志 ,ReiserFS (基于平衡樹,搜索快,節(jié)約空間)
-
根據(jù)如何查找數(shù)據(jù)?
-
索引式文件系統(tǒng):文件屬性數(shù)據(jù)和實際內(nèi)容放在不同的區(qū)塊,例如 Linux 中默認的 ext2 文件系統(tǒng)中,文件屬性數(shù)據(jù)存放在 inode(類似于指針),實際內(nèi)容放在 block。ext2 一開始就規(guī)劃好了 inode 與 block ,所以數(shù)量龐大,不容易管理,所以有分組
-
非索引式文件系統(tǒng):只有 block,數(shù)據(jù)需要一個 block 接一個 block 讀取(下一個 block 位置存放在上一個 block 中),效率低。 典型的:FAT(Windows 的文件系統(tǒng))
碎片整理:寫入的數(shù)據(jù)的 block 太過分散,此時讀取的效率會很低。磁盤整理的目的,就是將這些分散的 block 盡量的集中起來。
-
-
-
配置文件系統(tǒng)分區(qū)
-
創(chuàng)建分區(qū):fdisk + 設(shè)備名,輸入完該命令之后,可以通過參數(shù) m 查看按鍵操作說明,通過參數(shù) p 可以得到本磁盤的相關(guān)信息,輸入 n 命令可以新建一個分區(qū)。使用完 n 命令之后,新建分區(qū)的步驟如下:
選擇分區(qū)類型
選擇分區(qū)開始的磁柱
決定分區(qū)的大小
保存新建的分區(qū) (w 命令)
通過重啟服務(wù)器或使用 partprobe 命令通知內(nèi)核
創(chuàng)建文件系統(tǒng):mkfs [參數(shù)] 設(shè)備名。-t 指定文件系統(tǒng)類型,如 ext3。 -b 指定 block 大小,單位 bytes,ext2 和 ext3 僅支持 1024/2048/4096 三種。
-
掛載文件系統(tǒng):mount + 設(shè)備名 + 掛載點。掛載的過程就是將文件系統(tǒng)和目錄樹上的某一個目錄結(jié)合。 -t -b 同上。
mount /dev/sda6/root/testmount
-
-
管理 Linux 文件系統(tǒng)
-
查看分區(qū)使用情況:
df:查看文件系統(tǒng)的磁盤空間占用情況,參數(shù) –h 以容易理解的格式打印出文件系統(tǒng)大小,參數(shù) –i 顯示 inode 信息而非塊使用量。
du:查看文件或目錄的磁盤使用空間,參數(shù) –a 顯示目錄下的每個文件所占的磁盤空間,參數(shù) –s 只顯示大小的總和,參數(shù) -h 以容易理解的格式輸出文件大小值,如多少 Mb
-
查看系統(tǒng)打開的文件:lsof
Isof filename 顯示打開指定文件的所有進程
Isof –c string 顯示以指定字符開頭的進程所有打開的文件
Isof –u username 顯示所屬 username 相關(guān)進程打開的文件
-
-
修復(fù)文件系統(tǒng):
fsck 參數(shù) 設(shè)備名:檢查文件系統(tǒng)并嘗試修復(fù)錯誤。執(zhí)行 fsck 時,必須首先要將修復(fù)的設(shè)備進行umount 后,再執(zhí)行 fsck 命令。
e2fsck:檢查和修復(fù) ext2 和 ext3 文件系統(tǒng)
5、Linux LVM 配置
LVM:Logical Volume Manager
傳統(tǒng):文件系統(tǒng)構(gòu)建在物理分區(qū)(PP:physical partition)之上,物理分區(qū)的大小直接決定了文件系統(tǒng)的容量。LVM:使文件系統(tǒng)的調(diào)節(jié)更簡便,搭配 RAID 做容錯
-
LVM 結(jié)構(gòu):
PP:physical partition 物理分區(qū),LVM 最底層
PV:physical volume 物理卷,一個 PP 對應(yīng)一個 PV
PE:physical extends 物理擴展單元,組成PV的最小單元,也是的最小區(qū)塊,類似于文件系統(tǒng)的 block
VG:volume group 卷組,可以看出由 LVM 組成的大磁盤
LE:logical extends 邏輯擴展單元,組成LV的最小單元,對應(yīng)一個PE
LV:logical volume 邏輯卷, VG之上,文件系統(tǒng)之下,文件系統(tǒng)是基于邏輯卷的
-
VG、LV 和 PE 的關(guān)系
LV 通過交換 PE 來實現(xiàn)彈性改變文件系統(tǒng)大小的效果,LV 移除一些 PE,文件系統(tǒng)大小即減小,VG 把一些 PE 給LV,文件系統(tǒng)大小即增加
最多65534個PE,PE的大小可以影響到VG的容量
LV與磁盤分區(qū)類似,能夠格式化
-
LVM 的優(yōu)點:
通過LVM,文件系統(tǒng)可以跨越多個磁盤
動態(tài)地擴展文件系統(tǒng)的大小
增加新磁盤到 LVM 的存儲池中
-
LVM 使用要點:
按需分配文件系統(tǒng)大小
把不同的數(shù)據(jù)放在不同的卷組中
LVM 配置步驟,創(chuàng)建邏輯卷的步驟
-
物理卷管理命令
- pvcreate 將普通的分區(qū)加上 PV 屬性
- pvscan 查看物理卷信息
- pvdisplay 查看各個物理卷的詳細參數(shù)
- pvremve
-
卷組管理
- vgcreate vgname /dev/sdaN
- vgname:卷組名稱
- /dev/sdaN:要加入卷組的物理卷
- vgscan
- vgdisplay
- vgreduce 縮小卷組,把物理卷從卷組中刪除
- vgextend 擴展卷組,把某個物理卷添加到卷組中
- vgremove
- vgcreate vgname /dev/sdaN
-
邏輯卷管理命令
- lvcreate -n lvname -L 2G vgname
- lvname:邏輯卷名稱
- -L 2G:邏輯卷大小
- vgname:從卷組分配空間給邏輯卷
- lvscan
- lvdisplay
- lvextend
- lvreduce
- lvrmove
- lvcreate -n lvname -L 2G vgname
-
擴展卷組
- 可在線擴展卷組
- 不一定可以所見卷組
- 命令:vgextend vgname /dev/sdaN
- 將物理卷 /dev/sdaN,加到vgname
- 必須要有未使用的物理卷
- 必須先有未使用的分區(qū)或硬盤
-
管理文件系統(tǒng)的空間(增大或減小)
-
增大( 卷組必須要有足夠空間)
先卸載邏輯卷
-
然后通過vgextend、lvextend等命令增大LV的空間
- lvextend -l +128 /dev/vgname/lvname
- 再加大128個LE
- lvextend -L +128M /dev/vgname/lvname
- 再加大128 Mb
- lvextend -l +128 /dev/vgname/lvname
-
resize2fs -p /dev/vgname/lvname
- 再使用resize2fs將邏輯卷容量增加,擴展文件系統(tǒng)
- -p:顯示操作期間的進度
最后將邏輯卷掛載到目錄樹
-
減小
- 先卸載邏輯卷
- resize2fs -p /dev/vgname/lvname 512M
- 再使用resize2fs將邏輯卷容量減小,文件系統(tǒng)調(diào)整為512MB
- lvreduce -L 512M /dev/vgname/lvname
- 再通過lvreduce將邏輯卷容量減小,邏輯卷減小到512MB
- 最后將邏輯卷掛載到目錄樹
注意 lvextend -l +128 與 lvextend -L +128M 的區(qū)別。一個是增加128個PE,一個是增加128MB
-
6、Linux 網(wǎng)絡(luò)管理
-
ifconfig [接口]:查看IP地址,廣播地址,網(wǎng)口掩碼
windowns 中用 ipconfig
-
ifconfig 網(wǎng)口[參數(shù)]:設(shè)置網(wǎng)口的參數(shù),如IP地址,廣播地址,網(wǎng)口掩碼等,重啟網(wǎng)絡(luò)或系統(tǒng)后失效
ifconfig eth3 192.168.100.128 broadcast 192.168.100.255 netmask 255.255.255.0
-
若想修改一直有效,則需要去修改配置文件:/etc/sysconfig/network/ifcfg-網(wǎng)口
編輯配置文件:
vi ifcfg-eth4
使用ifup命令,啟動網(wǎng)口:
ifup ifcfg-eth4
-
-
route:查詢本機路由表
Destination 目的地
Gateway 網(wǎng)管
Genmask
Flags 標記,為U:可用
Iface 該路由的網(wǎng)絡(luò)出口 新增路由:通過命令方式新建路由,會保存在內(nèi)存中,重啟無效,若想持久保存,通過配置文件 /etc/sysconfig/network/routes 靜態(tài)保存路由信息,重啟網(wǎng)絡(luò)服務(wù)才能生效
-
檢測本地端口
netstat -tupln | grep:25
- t:TCP僅顯示tcp相關(guān)選項
- u:UDP僅顯示udp相關(guān)選項
- p:Procedure顯示建立相關(guān)連接的程序名
- l:List僅列出正在Listen(監(jiān)聽)的服務(wù)
- n:拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化為數(shù)字
-
檢測遠程服務(wù)
nmap軟件包
-
可以單獨檢測服務(wù)器
- 如:nmap 192.168.0.101
-
可檢測整個class C
- 如:nmap 192.168.0.0/24
- 不支持255.255.255.0的語法
如果沒有防火墻干擾,結(jié)果應(yīng)該與netstat一致
-
IP別名
- 在相同的網(wǎng)卡以及MAC地址之下,配置不同的IP地址
- 命名原則
- eth0
- eth0:0
- eth0:1 ...
- 哪些不支持IP別名
- DHCP不支持別名
- NetworkManager不支持別名
- NetworkManager也不支持網(wǎng)卡綁定
- service NetworkManager stop
- chkconfig NetworkManager Off
ping -c 次數(shù)
traceroute 目的地址或主機名:追蹤包源到目的所經(jīng)過的路由
配置FTP服務(wù),通過yast命令,yast界面可以修改網(wǎng)絡(luò)信息
配置Telnet服務(wù),進入yast界面
7、Linux 進程與任務(wù)管理
-
概念
程序:文件中保存的一系列可執(zhí)行的命令
進程:加載到內(nèi)存中的程序,由CPU執(zhí)行,由PID 標識
守護進程:常駐內(nèi)存,與終端無關(guān)的系統(tǒng)進程
用戶進程:用戶通過終端加載的進程
-
查看進程
-
ps 靜態(tài)查看某一時間點進程信息
- a 顯示現(xiàn)行終端機下所有程序
- x 顯示所有程序,不分終端機
- u 以用戶為主的格式來顯示程序狀況
- f 用ASCII字符顯示樹狀結(jié)構(gòu)
- l 顯示進程的詳細信息,例如優(yōu)先級(NI)
-
top 動態(tài)觀察進程動態(tài),每三秒刷新一次(默認按CPU的使用率降序排列)
- 熱鍵;
- P:按處理器使用率排列進程
- M:按內(nèi)存使用率排列
- d:控制即時顯示秒差
- h:顯示更多熱鍵的用法
- q:離開top
- k:殺死某個進程,需要再輸入PID好
- 熱鍵;
pstree 用ASCII字符顯示樹狀結(jié)構(gòu),-p 顯示進程ID,-u 顯示用戶名
-
-
管理進程
- Linux進程調(diào)度是CPU分為時間片,每個進程將依次在CPU上運行,優(yōu)先級高的先執(zhí)行
- 用戶可通過設(shè)置進程的 niceness(NI)值來影響進程的優(yōu)先級。niceness值范圍:-20到+19,數(shù)字越小,優(yōu)先級越高
- root用戶(超級用戶)可調(diào)整優(yōu)先級到-20,而非超級用戶只能把進程的優(yōu)先級調(diào)低(即往+19調(diào)整),常規(guī)用戶所啟用的進程的niceness默認值為0
- 用法:
- nice -n 1 ls:將 ls 的優(yōu)先序加 1 并執(zhí)行
- nice ls:將 ls 的優(yōu)先序加 10 并執(zhí)行
- renice +1 987 -u daemon root -p 32:將進程 id 為 987 及 32 的進程與進程擁有者為 daemon 及 root 的優(yōu)先序號碼加 1
-
結(jié)束進程
- kill PID:結(jié)束進程和進程號PID,系統(tǒng)可能不響應(yīng)
- kill -9 PID:強制終止進程,一般不適用
- killall PID:終止同一進程組內(nèi)的所有進程
-
任務(wù)管理
任務(wù):登錄系統(tǒng)取得shell后,再單一終端接口下啟動的進程
前臺:在終端接口上,可以出現(xiàn)提示符讓用戶操作的環(huán)境
后臺:不顯示再終端接口的環(huán)境
-
任務(wù)管理相關(guān)命令
-
& 直接將程序放入后臺處理
find /-name smcapp &
jobs 查看當前shell的后臺任務(wù)
-
ctrl+z 將正在運行的任務(wù)放入后臺暫停
在vi命令編輯文件內(nèi)容時,可以暫停(suspended)
fg %[job ID] 任務(wù)放入前臺,如果不加job ID,則默認把當前任務(wù)
bg %[job ID] 任務(wù)放入后臺
-
-
管理周期計劃任務(wù):crontab [-u user] [-e] -l [-r]。-u指定用戶,-e編輯crontab任務(wù)內(nèi)容,-l查閱crontab任務(wù)內(nèi)容,-r移除所有crontab的任務(wù)內(nèi)容
當用-e編輯時,程序會直接調(diào)用vi接口
系統(tǒng)計劃任務(wù)保存在/etc/crontab文件中
-
管理定時任務(wù):at 安排一個任務(wù)在未來執(zhí)行,必須先啟用atd進程
- at -l:相當于atq,列出當前at任務(wù)
- at -d[job ID]:相當于atrm,刪除一個at任務(wù)
- at -c[job ID]:查看任務(wù)具體內(nèi)容
at 與 crontab的用法,from 鳥哥的linux私房菜:http://cn.linux.vbird.org/linux_basic/0430cron.php
8、Linux 系統(tǒng)監(jiān)控
-
監(jiān)控系統(tǒng)啟動日志
想要查看啟動信息,調(diào)用命令 dmesg|less,或者查看 /var/log/boot.msg 日志
-
監(jiān)控系統(tǒng)運行狀況
-
cat /proc/..
/proc/cpuinfo
/proc/bus
/proc/scsi
-
fdisk 硬盤信息
-l:查看服務(wù)器所掛硬盤個數(shù)及分區(qū)情況
-
lspci PCI信息
-v:顯示PCI接口裝置的詳細信息
-vv:更詳細的信息
-
iostat CPU和I/O信息
-c:僅顯示CPU統(tǒng)計信息
-d:僅顯示磁盤統(tǒng)計信息
-k:以k為單位顯示每秒磁盤的請求數(shù)
-
hwinfo 設(shè)備信息
--disk 顯示磁盤信息
--cpu 顯示CPU信息
--memory 顯示內(nèi)存信息
--network 顯示網(wǎng)卡信息
--short 顯示硬件的摘要信息
-
-
監(jiān)控系統(tǒng)和進程
top 進程的動態(tài)信息,CPU、內(nèi)存信息
ps 靜態(tài)
uptime 系統(tǒng)開機時間以及系統(tǒng)平均負載
uname 查看系統(tǒng)版本信息,加 -a 會由更詳細的信息
netstat 顯示與IP、TCP、UDP相關(guān)的信息
-
監(jiān)控用戶登錄
who -H -m:查看當前登錄系統(tǒng)地用戶。-H:顯示各欄位的標題信息列,-m:效果等同于who am i,顯示出自己再系統(tǒng)地用戶名,登錄終端,登錄時間
w[參數(shù)][用戶]:查看當前登錄的用戶及用戶當前的工作。-u:后面接user,查看具體用戶信息,比who更詳細
finger[參數(shù)][用戶]:查看用戶詳細信息。-s:短格式顯示用戶信息,-l:長格式顯示用戶信息
last[參數(shù)]:查看曾經(jīng)登錄過系統(tǒng)的用戶。-n num:設(shè)置列出名單的顯示列數(shù),-F:顯示登錄和登出的詳細信息
lastlog[參數(shù)][用戶]:查看用戶前一次登錄信息。-t days:查看距今n天內(nèi)登錄了系統(tǒng)的用戶的最近一次登錄信息,-u顯示登錄與登出的詳細信息
9、Linux 管道與I/O重定向
命令行功能最強大的兩個功能:管道與I/O重定向
I/O重定向可將命令行的執(zhí)行的輸出或錯誤消息重定向至文件,方便當下保存或稍后分析
-
輸入輸出流
- 標準輸入
- 0:鍵盤默認
- 又稱 STDIN
- 標準輸出
- 1:終端默認
- 又稱STDOUT
- 標準錯誤
- 2:終端默認
- 又稱STDERR
- 標準輸入
-
重定向運算符號
-
>
:將STDOUT重定向到文件文件內(nèi)容會被覆蓋
-
舉例:
ls -Ra /etc > root/backup/config-file-lists
-
>>
:將STDOUT重定向到文件文件內(nèi)容會被添加
-
舉例:
(date;who -l) >> /root/monitor/who-online
-
<
:重定向STDIN將鍵盤輸入改由讀入文件提供
-
舉例:
mail -s "Warning" root < /root/mail/record/alert-notify
Shell 輸入 / 輸出重定向:http://www.runoob.com/linux/linux-shell-io-redirections.html
-
-
管道使用
-
運算符管道
|:將一個命令的STDOUT發(fā)送到另一個命令的STDIN
-
舉例:
grep pattern /var/log/messages | mail -s "Issue notify" root
-
命令行T管道
tee:將上一個命令的STDOUT通過T管道重定向到該文件,再發(fā)送到另一個命令的STDIN
-
舉例:
ifconfig eth0 | grep pattern | tee /root/interface-info | cut -f2 -d: | cut -f1 -d" "
再舉例:
使用tee的示意圖:ls -l的輸出被導向 tee,并且復(fù)制到檔案 file.txt 以及下一個命令 less。tee 的名稱來自于這個圖示,它看起來像是大寫的字母 T。
-
-
比較
-
標準的命令用法:
grep root /etc/passwd
-
重定向:
grep root < /etc/passwd
-
管道:
cat /etc/passwd | grep root
三種原理不一樣,但結(jié)果一樣
-
10、Linux 安裝與管理軟件
-
RPM:redhat package manager
- redhat 提出
- 將源碼先編程完RPM軟件包,類似于Windows中的setup文件
- 安裝時,只需要解開軟件包,復(fù)制到適當?shù)刂?/li>
- 容易管理
- 方便更新、移除
-
RHEL 軟件的命名原則:A-B-C.D.E
A:軟件名
B:版本
C:發(fā)行次數(shù),RHEL習慣加上 el# 字樣,#代表RHELv#
D:搭配規(guī)格,有 noarch
E:后綴,.rpm 或者 .src.rpm
-
例如:
- gimp-2.6.9-4.el6_1.1.x86_64.rpm
- zsh-4.3.10-4.1.el6.x86_64.rpm
- apache-1.3.23-11.i386.rpm
-
RPM 軟件包相依性
有些 RPM 軟件包不能單獨安裝,必須先安裝別的 RPM 軟件包才能安裝,稱之為 RPM軟件包相依性
不是所有的都有相依性需求
rpm 命令安裝時,不檢查相依性問題
yum 命令安裝時,自動解決相依性問題
-
rpm 查詢
rpm -qa :查詢所有
rpm -q mysql :查詢軟件包是否安裝
rpm -qi mysql :查詢軟件包信息
rpm -ql mysql :查詢軟件包中的文件
rpm -qf /etc/passwd :查詢該文件所屬的軟件包
-
rpm 安裝
rpm -i RPM包全路徑 :安裝某個RPM包
rpm -ivh RPM包全路徑 :加上提示信息和進度條
-
rpm 刪除
rpm -e jdk :刪除 jdk 的RPM包
如果其他軟件包依賴于 jdk ,則刪除時會報錯
-
rpm 升級
rpm -U RPM包全路徑