1.磁盤管理
1.1磁盤挂載的步驟
1.11磁盤分區類型
fdisk:
分區2TB以下的磁盤
不是絕對(分區2TB以下的穩定)
最多可以分4個區
gdisk:
分區任意大小磁盤
最多可以分128個區
1.12添加磁盤
lsblk :檢視本機磁盤
df -h :檢視磁盤用量
編輯虛拟機設定,添加,硬碟,下一步,調整磁盤大小,完成
1.編輯虛拟機
磁盤管理+awk 2.添加
磁盤管理+awk 3.磁盤類型
磁盤管理+awk 4.選擇磁盤
磁盤管理+awk 5.調整大小
磁盤管理+awk 6.命名
磁盤管理+awk 7.添加完成
磁盤管理+awk 8.檢視磁盤
磁盤管理+awk 1.14磁盤分區
cd /dev/ :磁盤位置
fdisk /dev/adb :進入磁盤管理分區
m :檢視幫助
n :建立新分區
p :列印分區表
w :寫入磁盤并退出
q :退出
d :删除一個分區
桶的概念:即扇區
磁盤中儲存的内容并不是儲存到硬碟中,而是儲存到桶(扇區)中
磁盤分區過程
磁盤管理+awk
磁盤管理+awk
磁盤管理+awk
磁盤管理+awk 1.15挂載磁盤分區
格式化檔案系統
mkfs.xfs /dev/sdb/sdb1
挂載磁盤
mount /dev/sdb1 /mnt
1.16總結
1.光機
2.添加硬碟
3.建立分區
fdisk /dev/sdb
4.格式化檔案系統
mkfs.xfs /dev/sdb1
5.挂載
mount /dev/sdb1 /mnt
gdisk
不是linux自帶的,需要安裝
yum install gdisk -y
之後跟上一樣
linux三劍客之awk
awk相當于一門程式設計語言
主要用于處理文本(格式化文本)
支援變量,支援循環等
awk文法
awk [參數] [處理規則] [操作對象]
awk參數
-F:
指定文本分隔符(預設空格為分隔符)
awk '{print $NF}' 路徑
分割文本預設空格為分隔符,列印出文本列數即最後一列
awk -F: '{print $NF}' /etc/passwd
分割文本以:為分隔符,列印出最後一列内容
磁盤管理+awk awk生命周期
grep sed awk都是讀文本檔案一行内容處理一行内容,直到處理完成為止
1.接收一行作為輸入
2.讀入進來的一行文本進行分解(即參數,入:-F分隔符)
3.使用‘處理規則’處理文本
4.輸出一行,指派給$0($0相當于變量名即處理完成的一行文本内容)直至處理完成為止
5.處理完成所有的資料後交給END{}再次處理
awk中的預定義變量
$0
代表當行
awk -F: '{print ">>>", $0 , "<<<"}' /etc/passwd
将每行内容分割之後交給$0,并列印出來,拼接内容需要 "" 雙引号,不與最外層的 '' 單引号沖突
磁盤管理+awk $n
代表第n列
awk -F: '{print ">>>", $3, "<<<"}' /etc/passwd
列印出第三列内容
磁盤管理+awk NF
記錄目前‘行’列的個數
注:每行的列數可能會不同
awk -F: '{print ">>>", NF, "<<<"}' /etc/passwd
磁盤管理+awk NR
記錄行号(不是文本内的行号)
awk -F: '{print ">>>", NR, "<<<"}' /etc/passwd
磁盤管理+awk FS
指定文本内容分隔符(預設空格)
與-F更能相同
FS的優先級大于-F
awk 'BEGIN{FS=":"}{print $3}' /etc/passwd
磁盤管理+awk OFS
指定列印分隔符即顯示出來的内容(預設空格)
awk -F: 'BEGIN{OFS="-_-"}{print ">>>", $3, "<<<"}' /etc/passwd
拼接時分隔符預設為空格,隻用OPS可以改變分隔符
磁盤管理+awk awk處理規則的執行流程
BEGIN{}
變量
//
正則比對
{}
循環
END
上面執行完畢後統一執行
即先執行BEGIN,然後正則,然後循環
awk中的函數
print
列印
printf
格式化列印(類似占位符)
%s :字元串
%d :數字
- :左對齊
+ :右對齊
n :至少占用n個字元
awk -F: '{printf "|%-20s|%+20s|\n", $1, $3}' /etc/passwd
磁盤管理+awk awk中的定位
正規表達式
awk -F: '/root/{print $0}'
列印出包含root的行
awk -F: 'BEGIN{OFS="|"}/root/{print $1,2,3,4,5,6,7}' /etc/passwd
列印出包含root的行并且調整輸出内容
磁盤管理+awk 計較表達式
比對文本内的内容進行計較
> :大于
< :小于
>= :大于等于
<= :小于等于
~ :包含
!~ :不包含
> :大于
awk -F: '$4 > $3{print $0}' /etc/passwd
列印出第四列大于第三列的行
磁盤管理+awk < :小于
awk -F: '$4 > $3{print $0}' /etc/passwd
列印出第四列小于第三列的行
磁盤管理+awk ~ :包含
awk -F: '$0 ~/root/ {print $0}' /etc/passwd
列印出包含root的行
磁盤管理+awk !~ :不包含
awk -F: '$0 !~/root/ {print $0}' /etc/passwd
列印出不包含root的行
磁盤管理+awk 邏輯表達式
&& :邏輯與
awk -F: '$3 + $4 > 1000 && $3 * $4 > 2000{print $0}' /etc/passwd
and的意思
磁盤管理+awk || :邏輯與
awk -F: '$3 + $4 > 1000 || $3 * $4 > 2000{print $0}' /etc/passwd
or的意思
磁盤管理+awk ! :邏輯非
awk -F: '!($3 + $4 > 2000) {print $0}'
取反,即列印出不符合這個條件的
注:括号的添加
磁盤管理+awk 算數表達式
+
-
*
/ :取整
% :取模(取餘數)
即分割出來可以計算的列,然後通過計算得到需要的值,然後列印
% :取模
awk -F: 'NR % 2 == 0{print $0}'
列印出偶數的行
awk -F: 'NR % 2 == 1{print $0}'
列印出奇數的行
磁盤管理+awk 條件表達式
比對文本外的内容
==
>
<
>=
<=
==
awk -F: 'NR == 3 {print $0}' /etc/passwd
列印出第三行的内容
磁盤管理+awk 範圍表達式
awk -F: '/^root/,/^ftp/{print $0}' /etc/passwd
列印出通過正則比對出來的行
磁盤管理+awk awk中的流程控制
流程控制值存在循環之中
{}
if :判斷
if(判斷條件){遊标(怎麼處理)} :單分支
{if(判斷條件){遊标}else{遊标}} :雙分支
{if(){}else{} if(){}else{}} :多分支
for :循環
{for(i="初始值";條件判斷;遊标(怎麼處理)){}}
while :循環
{i="初始值";while(條件判斷){輸出内容;遊标}}
if判斷
if :判斷雙分支
awk -F: '{if($3>$4){print "大于"$3}else{print"小于或等于",$4}}' /etc/passwd
列印出達到的結果
awk -F: '{if($3>$4){print $3}else{print"小于或等于",$4}{print "666"}}' /etc/passwd
磁盤管理+awk
磁盤管理+awk if判斷單分支
awk -F: '{if($4 >$3){print $0}}' /etc/passwd
磁盤管理+awk if判斷多分支
awk -F: '{if($3>$4){print "3>4"}else{print "3<4"}if($3==$4){print "=="}}' /etc/passwd
磁盤管理+awk for
{for(i="初始值";條件判斷;遊标(怎麼處理)){}}
i="初始值" :初始計數器
條件判斷 :判斷計數器是否到達停止條件
遊标 :初始計數器每次循環計算
for循環
awk -F: '{for(i=1;i<=10;i++){print $1}}' /etc/passwd
列印10次第一列
磁盤管理+awk while
{i="初始值";while(條件判斷){輸出内容;遊标}}
while循環
awk -F: '{i="0";while(i<5){print "11",$1;i++}}' /etc/passwd
磁盤管理+awk 案例
列印系統解析器
awk -F: '{print $NF}' /etc/passwd
# 最後一列
磁盤管理+awk 每隔五行列印一條橫線
awk -F: '{if(NR%5==0){print "---"}print $0}'
# 判斷行數是否可以整除5,可就列印---,
磁盤管理+awk 擴充
列印内容自動對其
coulmn -t