參考
Linux
簡(jiǎn)介
Linux 內(nèi)核最初只是由芬蘭人林納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學(xué)上學(xué)時(shí)出于個(gè)人愛好而編寫的。
Linux 是一套免費(fèi)使用和自由傳播的類 Unix 操作系統(tǒng),是一個(gè)基于 POSIX 和 UNIX 的多用戶、多任務(wù)、支持多線程和多 CPU 的操作系統(tǒng)。
Linux 能運(yùn)行主要的 UNIX 工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持 32 位和 64 位硬件。Linux 繼承了 Unix 以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
Linux 的發(fā)行版
Linux 的發(fā)行版說簡(jiǎn)單點(diǎn)就是將 Linux 內(nèi)核與應(yīng)用軟件做一個(gè)打包。
目前市面上較知名的發(fā)行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
Linux 應(yīng)用領(lǐng)域
今天各種場(chǎng)合都有使用各種 Linux 發(fā)行版,從嵌入式設(shè)備到超級(jí)計(jì)算機(jī),并且在服務(wù)器領(lǐng)域確定了地位,通常服務(wù)器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)組合。
Linux 系統(tǒng)啟動(dòng)過程
運(yùn)行級(jí)別
Linux系統(tǒng)有7個(gè)運(yùn)行級(jí)別(runlevel):
運(yùn)行級(jí)別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)為0,否則不能正常啟動(dòng)
運(yùn)行級(jí)別1:?jiǎn)斡脩艄ぷ鳡顟B(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸
運(yùn)行級(jí)別2:多用戶狀態(tài)(沒有NFS)
運(yùn)行級(jí)別3:完全的多用戶狀態(tài)(有NFS),登陸后進(jìn)入控制臺(tái)命令行模式
運(yùn)行級(jí)別4:系統(tǒng)未使用,保留
運(yùn)行級(jí)別5:X11控制臺(tái),登陸后進(jìn)入圖形GUI模式
運(yùn)行級(jí)別6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng)
切換運(yùn)行級(jí)別
init n
找回root密碼
重啟 -> 3 秒之內(nèi)要按一下回車,出現(xiàn)如下界面 -> 然后輸入e -> 看到新界面,選中第二行(編輯內(nèi)核) -> 在這輸入1回車 -> 再次輸入b,進(jìn)入單用戶模式
使用passwd修改密碼
安裝
宿主機(jī)系統(tǒng):Windows 10
虛擬機(jī)軟件:VMware Workstation 16
CentOS 操作系統(tǒng) ISO 鏡像:CentOS 7
SSH終端軟件:MobaXterm
參考
B站視頻:https://www.bilibili.com/video/BV1bA411b7vs
視頻配套(windows安裝):https://mp.weixin.qq.com/s/onVwwEQ1DAwbvK7qS2YNxg
csdn:https://blog.csdn.net/java_xinshou1/article/details/100010099、https://blog.csdn.net/qq_40950957/article/details/80467513
菜鳥教程:https://www.runoob.com/linux/linux-install.html
CentOS:http://mirrors.aliyun.com/centos/7/isos/x86_64/
VMTools
可以建立共享目錄,剪切板共享
Linux目錄結(jié)構(gòu)

https://www.runoob.com/linux/linux-system-contents.html
Linux vi/vim
所有的 Unix Like 系統(tǒng)都會(huì)內(nèi)建 vi 文書編輯器,其他的文書編輯器則不一定會(huì)存在。
但是目前我們使用比較多的是 vim 編輯器。
vim 具有程序編輯的能力,可以主動(dòng)的以字體顏色辨別語法的正確性,方便程序設(shè)計(jì)。
vi/vim 的使用
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。 這三種模式的作用分別是:
命令模式:
用戶剛剛啟動(dòng) vi/vim,便進(jìn)入了命令模式。
此狀態(tài)下敲擊鍵盤動(dòng)作會(huì)被Vim識(shí)別為命令,而非輸入字符。比如我們此時(shí)按下i,并不會(huì)輸入一個(gè)字符,i被當(dāng)作了一個(gè)命令。
以下是常用的幾個(gè)命令:
i 切換到輸入模式,以輸入字符。
x 刪除當(dāng)前光標(biāo)所在處的字符。
: 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文本:?jiǎn)?dòng)Vim,進(jìn)入了命令模式,按下i,切換到輸入模式。
命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。
輸入模式
在命令模式下按下i就進(jìn)入了輸入模式。
在輸入模式中,可以使用以下按鍵:
字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除光標(biāo)前一個(gè)字符
DEL,刪除鍵,刪除光標(biāo)后一個(gè)字符
方向鍵,在文本中移動(dòng)光標(biāo)
HOME/END,移動(dòng)光標(biāo)到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換光標(biāo)為輸入/替換模式,光標(biāo)將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
底線命令模式
在命令模式下按下:(英文冒號(hào))就進(jìn)入了底線命令模式。
底線命令模式可以輸入單個(gè)或多個(gè)字符的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經(jīng)省略了冒號(hào)):
q 退出程序
w 保存文件
按ESC鍵可隨時(shí)退出底線命令模式。
快捷鍵
| 快捷鍵 | 說明 |
|---|---|
| + | 光標(biāo)移動(dòng)到非空格符的下一行 |
| - | 光標(biāo)移動(dòng)到非空格符的上一行 |
| dd | 刪除游標(biāo)所在的那一整行(常用) |
| ndd | n 為數(shù)字。刪除光標(biāo)所在的向下 n 行,例如 5dd 則是刪除 5 行 (常用) |
| yy | 復(fù)制游標(biāo)所在的那一行(常用) |
| nyy | n 為數(shù)字。復(fù)制光標(biāo)所在的向下 n 行,例如 5yy 則是復(fù)制 5 行(常用) |
| p | 粘貼 |
| /word | 向光標(biāo)之下搜索 |
| ?/word | 向光標(biāo)之上搜索 |
| n | 向下找下一個(gè)匹配 |
| N | 向下找上一個(gè)匹配 |
| :set nu | 顯示行號(hào) |
| :set nonu | 與 set nu 相反,為取消行號(hào)! |
| G | 移動(dòng)到這個(gè)檔案的最后一行(常用) |
| nG | n 為數(shù)字。移動(dòng)到這個(gè)檔案的第 n 行。可配合 :set nu |
| gg | 移動(dòng)到這個(gè)檔案的第一行,相當(dāng)于 1G ??! (常用) |
| n<Enter> | n 為數(shù)字。光標(biāo)向下移動(dòng) n 行(常用) |
| u | 復(fù)原前一個(gè)動(dòng)作。(常用) |
| [Ctrl]+r | 重做上一個(gè)動(dòng)作。(常用) |
| [Ctrl] + [f] | 屏幕『向下』移動(dòng)一頁,相當(dāng)于 [Page Down]按鍵 (常用) |
| [Ctrl] + [b] | 屏幕『向上』移動(dòng)一頁,相當(dāng)于 [Page Up] 按鍵 (常用) |
| 0 或功能鍵[Home] | 這是數(shù)字『 0 』:移動(dòng)到這一行的最前面字符處 (常用) |
| $ 或功能鍵[End] | 移動(dòng)到這一行的最后面字符處(常用) |
關(guān)機(jī)重啟命令
shutdown
shutdown -h now 立即關(guān)機(jī)
shutdown -h 1 一分鐘后關(guān)機(jī)
shutdown -r now 立即重啟
halt
等同于直接關(guān)機(jī)
reboot
重啟系統(tǒng)
sync
把內(nèi)存數(shù)據(jù)同步到磁盤中
幫助指令
man 指令
help 指令
用戶管理
用戶注銷
logout
https://www.runoob.com/linux/linux-user-manage.html
添加用戶
useradd 選項(xiàng) 用戶名
-d指定用戶主目錄
-g指定用戶組
指定/修改密碼
passwd 選項(xiàng) 用戶名
刪除用戶
userdel 選項(xiàng) 用戶名
帶選項(xiàng)-r則把用戶的主目錄一起刪除
修改用戶
usermod 選項(xiàng) 用戶名
選項(xiàng)與useradd一樣
查詢用戶
id 用戶名
切換用戶
su 用戶名
高權(quán)限切換低權(quán)限不用輸密碼
當(dāng)需要返回原來用戶時(shí)使用exit
查看當(dāng)前用戶
who am i
用戶組
每個(gè)用戶都有一個(gè)用戶組,系統(tǒng)可以對(duì)一個(gè)用戶組中的所有用戶進(jìn)行集中管理。
創(chuàng)建組
groupadd 選項(xiàng) 組名
刪除組
groupdel 組名
修改用戶組
usermod -g 組名 用戶名
與用戶有關(guān)的系統(tǒng)文件
/etc/passwd, /etc/shadow, /etc/group
/etc/passwd
Linux系統(tǒng)中的每個(gè)用戶都在/etc/passwd文件中有一個(gè)對(duì)應(yīng)的記錄行,它記錄了這個(gè)用戶的一些基本屬性。
這個(gè)文件對(duì)所有用戶都是可讀的。
用戶名:口令:用戶標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):注釋性描述:主目錄:登錄Shell
/etc/shadow
存放加密后的密碼。
登錄名:加密口令:最后一次修改時(shí)間:最小時(shí)間間隔:最大時(shí)間間隔:警告時(shí)間:不活動(dòng)時(shí)間:失效時(shí)間:標(biāo)志
/etc/group
存放用戶組的所有信息.
組名:口令:組標(biāo)識(shí)號(hào):組內(nèi)用戶列表
文件基本屬性類
在 Linux 中第一個(gè)字符代表這個(gè)文件是目錄、文件或鏈接文件等等。
當(dāng)為 d 則是目錄
當(dāng)為 - 則是文件;
若是 l 則表示為鏈接文檔(link file);
若是 b 則表示為裝置文件里面的可供儲(chǔ)存的接口設(shè)備(可隨機(jī)存取裝置);
若是 c 則表示為裝置文件里面的串行端口設(shè)備,例如鍵盤、鼠標(biāo)(一次性讀取裝置)。
接下來的字符中,以三個(gè)為一組,且均為 rwx 的三個(gè)參數(shù)的組合。其中, r 代表可讀(read)、 w 代表可寫(write)、 x 代表可執(zhí)行(execute)。 要注意的是,這三個(gè)權(quán)限的位置不會(huì)改變,如果沒有權(quán)限,就會(huì)出現(xiàn)減號(hào) - 而已。

每個(gè)文件的屬性由左邊第一部分的 10 個(gè)字符來確定(如下圖)。

從左至右用 0-9 這些數(shù)字來表示。
第 0 位確定文件類型,第 1-3 位確定屬主(該文件的所有者)擁有該文件的權(quán)限。
第4-6位確定屬組(所有者的同組用戶)擁有該文件的權(quán)限,第7-9位確定其他用戶擁有該文件的權(quán)限。
目錄顯示4096
權(quán)限管理
文件目錄所有者
默認(rèn)用戶創(chuàng)建文件后,文件所有組即為用戶所在組
查看所有者
groupadd police:創(chuàng)建police組
useradd tom -g police tom:創(chuàng)建tom進(jìn)police組
passwd tom:修改/設(shè)置tom密碼
切換到tom用戶
touch ok.txt:創(chuàng)建ok.txt文件
ls -ahl:查看當(dāng)前目錄所有者
修改所有者
chown tom apple.txt:修改apple.txt文件所有者為tom,但組沒變
chown -R tom kkk:將kkk目錄下所有遞歸所有者改為tom
chown user/group :同時(shí)修改所有者和所在組
修改文件所在組
chgrp police orange.txt:將orange.txt文件所在組修改為police組
chgrp -R police kkk:將kkk目錄下所有遞歸所在組改為police
其他組
除文件的所有者和所在組的用戶外,系統(tǒng)的其他用戶都是文件的其他組
修改權(quán)限
chmod符號(hào)
u:所有者;g:所在組;o:其他人;a:所有人
chmod u=rwx,g=rx,o=rw abc.txt:對(duì)于abc.txt,所有者rwx,所在組rx,其他人rw
chmod u-x,g+w abc.txt:對(duì)于abc.txt,所有者減去x,所在組加上w
chmod a+w:對(duì)所有人加上w
chmod數(shù)字
各權(quán)限的分?jǐn)?shù)對(duì)照表如下:
r:4
w:2
x:1
chmod 754 abc.txt:修改權(quán)限為rwx r-x r--
權(quán)限修改后需要重新登錄才能生效
文件目錄類指令
處理目錄的常用命令
接下來我們就來看幾個(gè)常見的處理目錄的命令吧:
-
ls(英文全拼:list files): 列出目錄及文件名
-a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來(常用)
-d :僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)(常用)
-l :長(zhǎng)數(shù)據(jù)串列出,包含文件的屬性與權(quán)限等等數(shù)據(jù);(常用)
-al ~:將家目錄下的所有文件列出來(含屬性與隱藏檔)
-
cd(英文全拼:change directory):切換目錄
cd ~:回到家目錄
cd ..:回到上級(jí)目錄
cd ./:當(dāng)前目錄下的
pwd(英文全拼:print work directory):顯示目前的目錄
-
mkdir(英文全拼:make directory):創(chuàng)建一個(gè)新的目錄
默認(rèn)只能一級(jí)一級(jí)創(chuàng)建
-p :幫助你直接將所需要的目錄(包含上一級(jí)目錄)遞歸創(chuàng)建起來!
-
rmdir(英文全拼:remove directory):刪除一個(gè)空的目錄
不能刪除非空目錄
rm -rf 刪除非空目錄
-
cp(英文全拼:copy file): 復(fù)制文件或目錄
cp 來源檔(source) 目標(biāo)檔(destination)
cp -r:遞歸復(fù)制
\cp:強(qiáng)制覆蓋,不會(huì)提示
-
rm(英文全拼:remove): 刪除文件或目錄
rm -rf:刪除目錄
rm -r:遞歸刪除
rm -f:刪除文件不提示
rm -i:提示
-
mv(英文全拼:move file): 移動(dòng)文件與目錄,或修改文件與目錄的名稱
mv source destination:移動(dòng)/重命名
mv -f:強(qiáng)制移動(dòng),不提示
mv -i:提示
mv -u:更新則更新
touch :Linux touch命令用于修改文件或者目錄的時(shí)間屬性,包括存取時(shí)間和更改時(shí)間。若文件不存在,系統(tǒng)會(huì)建立一個(gè)新的文件。(可一次性創(chuàng)建多個(gè)文件)
文件內(nèi)容查看
Linux系統(tǒng)中使用以下命令來查看文件的內(nèi)容:
-
cat 由第一行開始顯示文件內(nèi)容
只讀方式打開
cat -n:查看顯示行號(hào)
cat file | more:分頁瀏覽,空格下一頁
tac 從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!
nl 顯示的時(shí)候,順道輸出行號(hào)!
-
more 一頁一頁的顯示文件內(nèi)容
空格:下一頁
enter:下一行
b:上一頁
q:立即結(jié)束瀏覽
-
less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
- 快捷鍵與more類似
-
head 只看頭幾行
- head -n:頭n行
-
tail 只看尾巴幾行
- tail -n:尾n行
">"指令與">>"指令
">"覆蓋,不存在就創(chuàng)建
ls -l > a.txt
">>"追加
ls -l >> b.txt
echo
字符串輸出
echo $PATH:輸出環(huán)境變量
ln
連接:硬連接;軟連接(快捷方式)
ln -s 文件或目錄 鏈接
刪除鏈接 rm -rf 鏈接
pwd查看時(shí)仍是當(dāng)前目錄
history
查看已執(zhí)行的指令
history n:最近n條
!n:執(zhí)行歷史編號(hào)n的指令
時(shí)間日期類
date
data:當(dāng)前年月日 星期 時(shí)分秒
data "+%Y-%m-%d":當(dāng)前年月日
date "+%Y年%m月%d日 %H:%M:%S":當(dāng)前年月日時(shí)分秒
data -s:設(shè)置時(shí)間
cal
cal:當(dāng)月日歷
cal 年:某年日歷
搜索查找類
find
find /home -name hello.txt:在home目錄查找名字為hello.txt文件
find /opt -user nobody:在opt目錄下查找用戶名為nobody文件
find / -size +20M:根目錄下查找大于20M的文件
find /home *.txt:查找home目錄下txt文件
locate
ocate 與 find 不同: find 是去硬盤找,locate 只在 /var/lib/slocate 資料庫中找。
locate 的速度比 find 快,它并不是真的查找,而是查數(shù)據(jù)庫,一般文件數(shù)據(jù)庫在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是實(shí)時(shí)的,而是以數(shù)據(jù)庫的更新為準(zhǔn),一般是系統(tǒng)自己維護(hù),也可以手工升級(jí)數(shù)據(jù)庫 ,命令為:updatedb
- locate 文件名:查找文件
grep
grep 命令用于查找文件里符合條件的字符串。
與|一起使用
cat hello.txt | grep hello:查找
cat hello.txt | grep -n hello:查找并顯示行號(hào)
壓縮和解壓縮類
gzip
- 壓縮,不保留原文件
gunzip
- 解壓
zip
- zip -r mypackage.zip ./test/:將/test/目錄解壓到 mypackage.zip
unzip
- unzip -d ./xm/mypackage.zip:將mypackage.zip解壓到xm目錄下
tar
tar -zcvf a.tar.gz a.txt b.txt:將a.txt和b.txt壓縮到a.tar.gz
tar -zcvf myhome.tar.gz /home/:對(duì)整個(gè)文件/目錄壓縮
tar -zxvf a.tar.gz:解壓到當(dāng)前目錄
tar -zxvf myhome.tar -C /opt/:解壓指定目錄,目錄要存在
任務(wù)調(diào)度
Linux crontab是用來定期執(zhí)行程序的命令。
當(dāng)安裝完成操作系統(tǒng)之后,默認(rèn)便會(huì)啟動(dòng)此任務(wù)調(diào)度命令。
crond 命令每分鍾會(huì)定期檢查是否有要執(zhí)行的工作,如果有要執(zhí)行的工作便會(huì)自動(dòng)執(zhí)行該工作。
注意:新創(chuàng)建的 cron 任務(wù),不會(huì)馬上執(zhí)行,至少要過 2 分鐘后才可以,當(dāng)然你可以重啟 cron 來馬上執(zhí)行。
而 linux 任務(wù)調(diào)度的工作主要分為以下兩類:
1、系統(tǒng)執(zhí)行的工作:系統(tǒng)周期性所要執(zhí)行的工作,如備份系統(tǒng)數(shù)據(jù)、清理緩存
2、個(gè)人執(zhí)行的工作:某個(gè)用戶定期要做的工作,例如每隔10分鐘檢查郵件服務(wù)器是否有新信,這些工作可由每個(gè)用戶自行設(shè)置
如果是簡(jiǎn)單的任務(wù),可以不用寫腳本,直接在crontab中加入任務(wù)即可
如果任務(wù)復(fù)雜,需要寫腳本
語法
crontab [選項(xiàng)]
參數(shù)說明:
-e : 執(zhí)行文字編輯器來設(shè)定時(shí)程表
-r : 刪除目前的時(shí)程表
-l : 列出目前的時(shí)程表
時(shí)間格式如下:
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期幾 (0 - 6) (星期天 為0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一個(gè)月中的第幾天 (1 - 31)
| +-------------------- 小時(shí) (0 - 23)
+------------------------- 分鐘 (0 - 59)
例:
crontab -e
*/1 * * * * ls -l /etc >> /tmp/to.txt
保存退出
每一分鐘執(zhí)行一次追加到/tmp/to.txt
cd /home/
vim mytask.sh:編輯腳本mytask.sh
date >> /tmp/mydate
chmod 744 mytask.sh:給mytask.sh執(zhí)行權(quán)限
crontab -e
加上 */1 * * * * /home/mytask.sh
cd /home/
vim mytask2.sh:編輯腳本mytask2.sh
date >> /tmp/mycal
cal >>/tmp/mycal
chmod 744 mytask2.sh:給mytask2.sh執(zhí)行權(quán)限
crontab -e
加上 */1 * * * * /home/mytask2.sh
完成
下面再看看幾個(gè)具體的例子:
0 */2 * * * /sbin/service httpd restart 意思是每?jī)蓚€(gè)小時(shí)重啟一次apache
50 7 * * * /sbin/service sshd start 意思是每天7:50開啟ssh服務(wù)
50 22 * * * /sbin/service sshd stop 意思是每天22:50關(guān)閉ssh服務(wù)
0 0 1,15 * * fsck /home 每月1號(hào)和15號(hào)檢查/home 磁盤
1 * * * * /home/bruce/backup 每小時(shí)的第一分執(zhí)行 /home/bruce/backup這個(gè)文件
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3點(diǎn)鐘,在目錄/home中,查找文件名為*.xxx的文件,并刪除4天前的文件。
30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30執(zhí)行一次ls命令
注意:當(dāng)程序在你所指定的時(shí)間執(zhí)行后,系統(tǒng)會(huì)發(fā)一封郵件給當(dāng)前的用戶,顯示該程序執(zhí)行的內(nèi)容,若是你不希望收到這樣的郵件,請(qǐng)?jiān)诿恳恍锌找桓裰蠹由?> /dev/null 2>&1 即可,如:
20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh > /dev/null 2>&1
磁盤管理
Linux磁盤管理好壞直接關(guān)系到整個(gè)系統(tǒng)的性能問題。
Linux磁盤管理常用三個(gè)命令為df、du和fdisk。
-
df:列出文件系統(tǒng)的整體磁盤使用量
df:將系統(tǒng)內(nèi)所有的文件系統(tǒng)列出來
df -h:將容量結(jié)果以易讀的容量格式顯示出來
-
du:檢查磁盤空間使用量
du:只列出當(dāng)前目錄下的所有文件夾容量(包括隱藏文件夾)
du -a:將文件的容量也列出來
du -ach --max-depth=1 /opt:查詢opt目錄磁盤占用情況,深度為1
ls -l /home | grep "^-" | wc -l:統(tǒng)計(jì)home目錄下,以”-“打頭的文件(文件個(gè)數(shù))
ls -l /home | grep "^d" | wc -l:統(tǒng)計(jì)home目錄下,以”d“打頭的文件(目錄個(gè)數(shù))
ls -lR /home | grep "^-" | wc -l:統(tǒng)計(jì)home目錄下(包括子目錄下),以”-“打頭的文件(文件個(gè)數(shù))
ls -lR /home | grep "^d" | wc -l:統(tǒng)計(jì)home目錄下(包括子目錄下),以”d“打頭的文件(目錄個(gè)數(shù))
fdisk:用于磁盤分區(qū)
mkfs:格式化磁盤
tree
yum install tree
樹狀顯示目錄文件
分區(qū) - 文件系統(tǒng)
lsblk -f:查看分區(qū)和掛載情況
lsblk :還可以查看大小
磁盤掛載使用 mount 命令,卸載使用 umount 命令。
進(jìn)程管理
ps
ps (英文全拼:process status)命令用于顯示當(dāng)前進(jìn)程的狀態(tài),類似于 windows 的任務(wù)管理器。
參數(shù):
ps 的參數(shù)非常多, 在此僅列出幾個(gè)常用的參數(shù)并大略介紹含義
-A 列出所有的進(jìn)程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細(xì)的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程擁有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的記憶體使用率
VSZ: 占用的虛擬記憶體大小
RSS: 占用的記憶體大小
TTY: 終端的次要裝置號(hào)碼 (minor device number of tty)
-
STAT: 該行程的狀態(tài):
D: 無法中斷的休眠狀態(tài) (通常 IO 的進(jìn)程)
R: 正在執(zhí)行中
S: 靜止?fàn)顟B(tài)
T: 暫停執(zhí)行
Z: 不存在但暫時(shí)無法消除(僵尸進(jìn)程)
W: 沒有足夠的記憶體分頁可分配
<: 高優(yōu)先序的行程
N: 低優(yōu)先序的行程
L: 有記憶體分頁分配并鎖在記憶體內(nèi) (實(shí)時(shí)系統(tǒng)或捱A I/O)
START: 行程開始時(shí)間
TIME: 執(zhí)行的時(shí)間
COMMAND:所執(zhí)行的指令
ps -aux | grep sshd:查看關(guān)鍵字有sshd的進(jìn)程
ps -ef | more:查看父進(jìn)程ppid
pstree -u:樹狀顯示進(jìn)程
top
top命令用于實(shí)時(shí)顯示 process 的動(dòng)態(tài)。使用權(quán)限:所有使用者。
top -u 用戶名:查看給用戶的進(jìn)程
top -d 時(shí)間:默認(rèn)3秒刷新一次
top -n 5:刷新5次則退出
kill
kill 命令用于刪除執(zhí)行中的程序或工作。
語法
kill [-s <信息名稱或編號(hào)>][程序] 或 kill [-l <信息編號(hào)>]
參數(shù)說明:
-l <信息編號(hào)> 若不加<信息編號(hào)>選項(xiàng),則 -l 參數(shù)會(huì)列出全部的信息名稱。
-s <信息名稱或編號(hào)> 指定要送出的信息。
[程序] [程序]可以是程序的PID或是PGID,也可以是工作編號(hào)。
使用 kill -l 命令列出所有可用信號(hào)。
最常用的信號(hào)是:
1 (HUP):重新加載進(jìn)程。
9 (KILL):殺死一個(gè)進(jìn)程。
15 (TERM):正常停止一個(gè)進(jìn)程。
服務(wù)
systemctl
啟動(dòng)網(wǎng)絡(luò)服務(wù)
- systemctl start network.service
停止網(wǎng)絡(luò)服務(wù)
- systemctl stop network.service
重啟網(wǎng)絡(luò)服務(wù)
- systemctl restart network.service
查看網(wǎng)絡(luò)服務(wù)狀態(tài)
- systemctl status network.serivce
查看服務(wù)
setup
- 圖形終端,查看服務(wù)
ls -l /etc/init.d/
- 終端使用,查看服務(wù)
服務(wù)級(jí)別
chkconfig
chkconfig -level5 sshd off:運(yùn)行級(jí)別為5時(shí)sshd關(guān)閉
chkconfig -level5 firewalld off:運(yùn)行級(jí)別為5時(shí)防火墻關(guān)閉
chkconfig firewalld off:所有運(yùn)行級(jí)別下關(guān)閉防火墻
chkconfig firewalld on:所有運(yùn)行級(jí)別下開啟防火墻
重啟后生效
telnet
telnet命令用于遠(yuǎn)端登入。
執(zhí)行telnet指令開啟終端機(jī)階段作業(yè),并登入遠(yuǎn)端主機(jī)。
實(shí)例
登錄遠(yuǎn)程主機(jī)
# telnet 192.168.0.5
//登錄IP為 192.168.0.5 的遠(yuǎn)程主機(jī)
netstat
netstat 命令用于顯示網(wǎng)絡(luò)狀態(tài)。
利用 netstat 指令可讓你得知整個(gè) Linux 系統(tǒng)的網(wǎng)絡(luò)情況。
- netstat -anp | more:查看全部服務(wù)
包管理
rpm
rpm 命令用于管理套件。
rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 發(fā)行版專門用來管理 Linux 各項(xiàng)套件的程序,由于它遵循 GPL 規(guī)則且功能強(qiáng)大方便,因而廣受歡迎。逐漸受到其他發(fā)行版的采用。RPM 套件管理方式的出現(xiàn),讓 Linux 易于安裝,升級(jí),間接提升了 Linux 的適用度。
rpm -qa | grep firefox:查詢火狐
rpm -qa:查詢所有
rpm -q firefox:查詢火狐
rpm -qi firefox:查詢軟件包信息
rpm -ql firefox:查詢火狐安裝了哪些文件/位置
rpm -qf /etc/passwd:查詢/etc/passwd屬于那個(gè)軟件包
rpm -e firefox:卸載火狐
如果存在依賴性會(huì)提示,不推薦強(qiáng)制刪除
安裝
找到要安裝的rpm包,掛載centos的ios文件,在/media/下找
移動(dòng)到 /opt/下
rpm -ivh rpm軟件包
yum
yum( Yellow dog Updater, Modified)是一個(gè)在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟件包管理器。
基于 RPM 包管理,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum 提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡(jiǎn)潔而又好記。
yum常用命令
1、列出所有可更新的軟件清單命令:yum check-update
2、更新所有軟件命令:yum update
3、僅安裝指定的軟件命令:yum install <package_name>
4、僅更新指定的軟件命令:yum update <package_name>
5、列出所有可安裝的軟件清單命令:yum list
6、刪除軟件包命令:yum remove <package_name>
7、查找軟件包命令:yum search <keyword>
8、清除緩存命令:
yum clean packages: 清除緩存目錄下的軟件包
yum clean headers: 清除緩存目錄下的 headers
yum clean oldheaders: 清除緩存目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的 headers