一、VIM文本編輯器
1.概述
VI:英文翻譯:Visual InterFace 即可視化接口,類(lèi)似windows中的記事本
vi 和 vim區(qū)別:
vim支持多級(jí)撤銷(xiāo)。vi是按u撤銷(xiāo),只能撤銷(xiāo)一步。
vim可以跨平臺(tái)運(yùn)行。
vim支持語(yǔ)法高亮。
vim支持圖形界面。
2.操作模式
Command Mode-命令模式
Insert Mode-輸入模式
Last Line Mode-底行模式(尾行,末行)
vim abc //如果這個(gè)文件存在,就是打開(kāi)這個(gè)sh文件,如果不存在就創(chuàng)建一個(gè)
i:切換到編輯模式
esc:切換到底行模式
:wq:保存退出
:q! :不保存強(qiáng)制退出
3.命令模式
vim + abc //打開(kāi)文件后把光標(biāo)定位在最后一行
vim +3 abc //打開(kāi)文件后把光標(biāo)定位在第三行
vim +100 abc //打開(kāi)文件后,若行數(shù)不超過(guò)100行,則把光標(biāo)定位在最后一行
vim +/learn abc //打開(kāi)文件后,把光標(biāo)定位在learn第一次出現(xiàn)的那行
vim aa bb cc //一次性創(chuàng)建或打開(kāi)多個(gè)文件,如果沒(méi)有的話就自動(dòng)創(chuàng)建一個(gè)
4.底行模式和命令模式常用指令
底行模式常用指令:
:w? 執(zhí)行保存修改
:q? 退出當(dāng)前vim編輯器打開(kāi)的文件
:!? ? 強(qiáng)制退出
:ls? 列出當(dāng)前編輯器中打開(kāi)的所有文件
:n 切換到后一個(gè)文件
:N 切換到前一個(gè)文件
:15 把光標(biāo)快速定位到第15行
/xxx 從光標(biāo)位置向后搜索xxx的字符串
?xxx 從光標(biāo)位置向前搜索xxx的字符串
命令模式常用指令:
h 光標(biāo)左移
j 光標(biāo)下移
k 光標(biāo)上移
l 光標(biāo)右移
ctrl +f 向下反野
ctrl +b 向上翻頁(yè)
ctrl +d向下翻半頁(yè)
ctrl +u向上翻半夜
dd 刪除光標(biāo)所在行
o? 在光標(biāo)所在行的下方插入一行并切換到輸入模式
yy 復(fù)制光標(biāo)所在行
p 在光標(biāo)所在行的下方粘貼
大寫(xiě)P 在光標(biāo)所在行的上方粘貼

二、磁盤(pán)管理
1.基本命令
df 查看磁盤(pán)分區(qū)使用狀況
——l 僅顯示本地磁盤(pán)(默認(rèn))
——a 顯示所有文件系統(tǒng)的磁盤(pán)使用情況
——h 以1024進(jìn)制計(jì)算最合適的單位顯示磁盤(pán)容量
——H? 以1000進(jìn)制計(jì)算最合適的單位系那是磁盤(pán)容量,一般用于工業(yè)上的
——T? 顯示磁盤(pán)分區(qū)類(lèi)型
——t? 顯示指定類(lèi)型文件系統(tǒng)的磁盤(pán)分區(qū)
——x 不顯示指定類(lèi)型文件系統(tǒng)的磁盤(pán)分區(qū)
du 統(tǒng)計(jì)磁盤(pán)上文件的大小
——b 以byte為單位統(tǒng)計(jì)文件
——k 以kb為單位統(tǒng)計(jì)文件
——m 以MB為單位統(tǒng)計(jì)文件
——h 按照1024進(jìn)制以最適合的單位統(tǒng)計(jì)文件
——H 按照1000進(jìn)制以最適合的單位統(tǒng)計(jì)文件,不夠精確
——s 指定統(tǒng)計(jì)目標(biāo)
2.磁盤(pán)分區(qū)和格式化概述
第一:主分區(qū)和擴(kuò)展分區(qū)總數(shù)不能超過(guò)四個(gè)
第二:擴(kuò)展分區(qū)最多只能有一個(gè)
第三:擴(kuò)展分區(qū)不能直接存取數(shù)據(jù)
3.在VM虛擬機(jī)中添加硬盤(pán)
如果硬盤(pán)空間不夠用了,就可以在虛擬機(jī)設(shè)置中添加硬盤(pán)

4.MBR分區(qū)
1.硬盤(pán)設(shè)備都是由linux系統(tǒng)自動(dòng)識(shí)別的
2.必須對(duì)硬盤(pán)進(jìn)行分區(qū)、格式化、掛載后才能使用
MBR分區(qū)模式:
1.主分區(qū)不超過(guò)四個(gè)
2.單個(gè)分區(qū)容量最大2TB

fdisk /dev/sdb? 使sdb磁盤(pán)進(jìn)入分區(qū)模式








5.GPT分區(qū)
GPT分區(qū)模式:
1.主分區(qū)個(gè)數(shù)“幾乎”沒(méi)有限制
2.單個(gè)分區(qū)容量“幾乎”沒(méi)有限制
原因:在GPT的分區(qū)表中最多可以支持128個(gè)主分區(qū);每個(gè)分區(qū)的大小突破了MBR分區(qū)的2TB限制,最大可達(dá)到18EB






print all? //顯示所有分區(qū)的分區(qū)表類(lèi)型
使用交互模式給硬盤(pán)添加分區(qū):(特點(diǎn):系統(tǒng)采用提問(wèn)的方式對(duì)硬盤(pán)進(jìn)行分區(qū)操作)

警告內(nèi)容為:這樣分配數(shù)據(jù)塊沒(méi)有對(duì)齊,沒(méi)有達(dá)到最佳性能。
使用命令模式給硬盤(pán)添加分區(qū):(輸入分區(qū)指令的同時(shí)在后端跟上相應(yīng)的參數(shù),效率較高)

注意:使用命令格式添加分區(qū),分區(qū)的名稱(chēng)不可省略。交互模式可以省略

rm 分區(qū)編號(hào) //刪除分區(qū)
gpt下沒(méi)有主分區(qū),擴(kuò)展分區(qū)、邏輯分區(qū)的概念,所有的分區(qū)就叫分區(qū)。
指定分區(qū)開(kāi)始位置和結(jié)束位置是以MB為單位的,
修改以GB為單位來(lái)指定分區(qū)的開(kāi)始和結(jié)束位置。

6.分區(qū)的格式化

mkfs.ext3 /dev/sdb1? ?//格式化sdb1,并且將文件系統(tǒng)指定為ext3
mkfs -t ext4 /dev/sdb2? //格式化sdb2,并將文件系統(tǒng)指定為ext4
注意:
擴(kuò)展分區(qū)不可以格式化,只有主分區(qū)和邏輯分區(qū)可以格式化
gpt分區(qū)表的硬盤(pán)格式化之后,使用fdisk命令是無(wú)法查看各個(gè)分區(qū)的詳細(xì)文件類(lèi)型的,必須啟動(dòng)使用print指令查看其分區(qū)表。
7.掛載分區(qū)
沒(méi)有掛載的分區(qū)是無(wú)法使用的,可以把分區(qū)掛載到系統(tǒng)的任意位置,分區(qū)默認(rèn)的掛載目錄是/mnt目錄。


注意:手動(dòng)掛載是臨時(shí)生效的,系統(tǒng)重啟后就會(huì)失效。
永久掛載,需要修改 /etc/fstab 文件

8.swap分區(qū)
為硬盤(pán)添加swap交換分區(qū):
1.建立一個(gè)普通的Linux分區(qū)
2.修改分區(qū)類(lèi)型的16進(jìn)制編碼
3.格式化交換分區(qū)
4.啟用交換分區(qū)
步驟圖示:







free //查看加載狀況

三、用戶(hù)管理
1.用戶(hù)和用戶(hù)組的概念
用戶(hù):使用操作系統(tǒng)的人
用戶(hù)組:具有相同系統(tǒng)權(quán)限的一組用戶(hù)
/etc/group 存儲(chǔ)當(dāng)前系統(tǒng)中所要用戶(hù)組信息


/etc/gshadow 存儲(chǔ)當(dāng)前系統(tǒng)中用戶(hù)組的密碼信息


組密碼如果為空或者是一個(gè)“*”號(hào)或者是一個(gè)“!”,我們可以認(rèn)為組的密碼是沒(méi)有密碼的。
/etc/passwd 存儲(chǔ)當(dāng)前系統(tǒng)中所要的用戶(hù)信息

/etc/shadow 存儲(chǔ)當(dāng)前系統(tǒng)中所要用戶(hù)的密碼信息

2.用戶(hù)和用戶(hù)組的基本命令
groupadd aaa? ? ?//添加用戶(hù)組aaa
groupmod -n bbb aaa? //將aaa用戶(hù)組名稱(chēng)更改為bbb(新名稱(chēng)在前,舊名稱(chēng)在后)
groupmod -g 668 bbb //將bbb用戶(hù)組的編號(hào)修改為668
groupadd -g 888 ccc? ?//創(chuàng)建用戶(hù)組ccc的同時(shí)指定用戶(hù)組的編號(hào)為888
groupdel bbb? ?//刪除用戶(hù)組bbb
注意:刪除用戶(hù)組之前一定要先刪除用戶(hù)組里面的用戶(hù),否則會(huì)在后續(xù)使用中造成權(quán)限的問(wèn)題。
通過(guò)查看/etc/group?可以看到上述添加或者刪除時(shí)候具體信息
groupadd learn //添加用戶(hù)組
useradd -g learn student1 //-g指定用戶(hù)組。添加用戶(hù)學(xué)生1到learn用戶(hù)組
useradd -g learn student2 //添加用戶(hù)學(xué)生2到learn用戶(hù)組
useradd -d /home/xxx student3 //創(chuàng)建用戶(hù)時(shí)候,通過(guò)-d參數(shù)指定用戶(hù)的個(gè)人文件夾
usermod -c xuexi student1 //修改student1用戶(hù)的注釋為xuexi
usermod -l xuesheng1 student1 //將用戶(hù)student1的用戶(hù)名稱(chēng)修改為xuesheng1
usermod -g learn xuexi? //修改用戶(hù)的所屬用戶(hù)組
userdel student2 //刪除用戶(hù)student2
userdel -r student2 刪除用戶(hù)并連同刪除個(gè)人文件夾里的文件
通過(guò)查看/etc/passwd可以看到上述添加或者刪除時(shí)候具體信息
touch? /etc/nologin //創(chuàng)建這個(gè)之后,可以禁止除了root用戶(hù)之外的其他用戶(hù)登錄服務(wù)器
注意:創(chuàng)建空文件即可
3.用戶(hù)和用戶(hù)組進(jìn)階命令
passwd -l 用戶(hù)名 //鎖定用戶(hù)
passwd -u 用戶(hù)名 //解鎖用戶(hù)
passwd -d 用戶(hù)名 //用戶(hù)可以無(wú)密碼登錄

gpasswd -a 用戶(hù)名 組名 //將用戶(hù)加入到附屬組中,使得這個(gè)用戶(hù)同時(shí)屬于兩個(gè)用戶(hù)組

gpasswd -d 用戶(hù)名 組名 //將用戶(hù)從附屬組中刪除

useradd -g 用戶(hù)名 主要組名稱(chēng) -G 附屬組1,附屬組2 //將用戶(hù)同時(shí)指定主要組和附屬組,多個(gè)附屬組后面用逗號(hào)連接
4.用戶(hù)管理其他命令
su lidongfang? //切換用戶(hù)為lidongfang
su? ? ? //切換到root用戶(hù)
whoami? //顯示當(dāng)前登錄用戶(hù)名
id lidongfang? //顯示指定用戶(hù)信息,包括用戶(hù)編號(hào)、用戶(hù)名

groups lidongfang? //顯示lidongfang用戶(hù)所在的所有組
chfn lidongfang //設(shè)置用戶(hù)資料,依次輸入用戶(hù)資料

finger lidongfang //顯示用戶(hù)詳細(xì)資料