一.diff命令linux
difffile file1 ##比較兩個文件的不一樣vim
-c ##顯示周圍的行bash
-u ##按照一個格式統一輸出生成補丁app
-r ##比較兩個目錄中文件的不一樣ide
patchfile file.path ##打補丁ui
-b ##備份文件this
二.grep過濾命令加密
grep關鍵字文件|目錄##在文件或目錄中查找含有關鍵字的行spa
-i ##忽略大小寫3d
-n ##顯示關鍵字所在行
-c ##顯示過濾結果的個數
-v ##反向過濾
-E 「關鍵字1|關鍵字2「 ##過濾多個關鍵字
-r 目錄 ##在目錄中查找含有關鍵字的文件
注意事項:
^關鍵字 ##以關鍵字開頭
關鍵字$ ##以關鍵字結尾
三.cut命令
cut ##截取字符
cut -d 分隔符 ##指定分隔符
cut -f 1,7 ##顯示指定列
cut -c 1-4 ##顯示指定的字符
四.sort排序命令
sort 參數
-n ##純數字排序
-u ##去除重複的
|uniq -c ##去除重複的而且統計重複的次數
-t ##指定分隔符
-k ##指定列
五.uniq命令
sort file |uniq -c ##去除重複的而且統計重複的次數
-d ##顯示重複的行
-u ##顯示惟一的行
六.sed命令
sed 's/原字符/替換字符/g' file ##表示在file文件全文中的某字符替換成令爲一個字符
sed -e '策略1' -e '策略2' file ##-e表示多個動做用一條命令進行
sed -i file ##把轉換後的內容輸入到指定文件
sed '3,5s/原字符/替換字符/g' ##3到5行替換
sed xd ##屏蔽指定行,x表示行數
sed xp ##複製指定行
sed -nxp ##只顯示指定行
七.for do done循環語句
循環顯示某個目錄的全部文件名稱
例如:
for FRUIT in apple banana pear;
do echo "I like $FRUIT" ;
done;
解釋:FRUIT是一個循環變量,第一次循環$FRUIT的取值是apple,第二次取值banana,第三次取值取pear,最後依次輸出結果
八.管理系統存儲
1.分區的劃分
[root@localhost ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xde2836d8.
Command (m for help): m ##幫助
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition ##刪除分區表
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types ##列出系統可用分區類型
m print this menu
n add a new partition ##新建分區
o create a new empty DOS partition table
p print the partition table ##顯示分區
q quit without saving changes ##退出不保存
s create a new empty Sun disklabel
t change a partition's system id ##修改分區功能id
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存更改到分區表中
x extra functionality (experts only)
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free) ##分區類型p爲主分區
e extended##分區類型爲擴展分區
Select (default p): p ##默認主分區
Partition number (1-4, default 1): ##主分區id
First sector (2048-20971519, default 2048): ##此分區的起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M ##分配分區大小
Partition 1 of type Linux and of size 200 MiB is set
Command (m for help): wq ##保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# partprobe ##同步分區表
查看分區狀況
fdisk -l 命令
[root@localhost ~]# fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00013f3e
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 20970332 10484142+ 83 Linux
【強調說明,上面以行的*號是指的是開機最早讀取的446字節】
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xde2836d8
Device Boot Start End Blocks Id System
/dev/vdb1 2048 411647 204800 83 Linux
|| || || || || ||
引導設備分區起始位置 終止位置 分區大小 id 文件系統類型
2.分區的掛載
[root@localhost ~]# blkid ##查看系統可識別,可用分區
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
添加掛載 mount /dev/vdb1 /mnt/
mount: /dev/vdb1 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
[root@localhost ~]# mkfs.xfs /dev/vdb1 ##將vdb1按照xfs文件系統類型格式化
meta-data=/dev/vdb1 isize=256 agcount=4, agsize=12800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=51200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
將分區按照xfs文件系統格式化後,vdb1分區就能夠被系統所用
[root@localhost ~]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
/dev/vdb1: UUID="1270e1f2-e607-46de-acc9-5c05cd4692df" TYPE="xfs"
3.查看系統能識別的分區
[root@localhost ~]# cat /proc/partitions
major minor #blocks name
253 0 10485760 vda
253 1 10484142 vda1
253 16 10485760 vdb
253 17 204800 vdb1
4.swap分區的管理
在實驗中,我新建了一個/dev/vdb2分區,做爲swap分區的實驗材料
swapon -s##查看系統中的swap分區
創建swap分區
mkswap/dev/vdb2###把/dev/vdb1格式化成swap格式
swapon -a /dev/vdb2##激活
vim /etc/fstab##開機自動激活
/dev/vdb2swapswapdefautls0 0
實驗結果:
[root@localhost ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/vdb2 partition2047960-1
5.開機自動掛載
vim /etc/fstab##開機自動激活
/dev/vdb1swapswapdefautls0 0
############################################################################
一.磁盤加密
fdisk /dev/vdb #添加磁盤
partprobe #同步磁盤信息
df#查看掛載
cat /proc/partitions
cryptsetup luksFormat /dev/vdb1 #設置加密密碼
#mima:123westos
cryptsetup open /dev/vdb1 westos ##打開磁盤加密層
mkfs.xfs /dev/mapper/westos #格式化
mount /dev/mapper/westos /mnt/ #掛載文件,到mnt下
cryptsetup close westos #關閉這個加密層
#######開機自動掛載磁盤加密##(永久)##########
vim /etc/crypttab ##打開配置文件添加參數
解密後設備管理文件設備加密字符存在文件
redhat/dev/vdb1/root/lukspsfile
vim /root/lukspsfile ##寫入加密文件的密碼
chmod 600 /root/lukspsfile##設置權限;只有超級用戶才能夠看到
cryptsetup luksAddKey /dev/vdb1 /root/lukspsfile ##將vbd1與文件lukspsfile關聯其起來
vim /etc/fstab #添加開機啓動腳本:
/dev/mapper/redhat /mnt xfs defaults 0 0
最後reboot
#######加密清除############
vim /etc/fstab #清除以前添加的內容
> /etc/crypttab #清空文件內容
umount /mnt/ #把/mnt/卸載掉
cryptsetup close redhat #關閉加密
mkfs.xfs /dev/vdb1 #將vdb1格式化
#### Raid磁盤陣列#######
fdisk /dev/vbd ##添加三個大小相同的磁盤,將文件系統類型改爲Linux raid(fd)
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
說明:表示添加陣列
-C 表示建立, /dev/md0
-a 表示在若是md0不存在的狀況下建立md0, yes
-l 表示級別 1級
-n 表示添加工做的磁盤,2個
-x 表示閒置的磁盤 ,1個,(當工做的兩個磁盤之一出現故障,當即啓動閒置磁盤工做)
最後工做的磁盤
監控命令:watch -n 1 cat /proc/mdstat
###############
mdadm -f /dev/md0 /dev/vdb1 ##手動破壞設備
mdadm -D /dev/md0 ##設備配置信息
mdadm /dev/md0-f /dev/vdb1 ##損壞設備1
mdadm /dev/md0 -r /dev/vdb1 ##移除設備1
mdadm /dev/md0 -a /dev/vdb1 ##恢復設備1
mdadm -S /dev/md0 #中止設備
#####lvm 管理########
1.lvm名詞解釋
lvm邏輯卷,可讓設備自由伸縮的一個設備管理軟件
pv物理卷
vg物理卷組
pe物理拓展,lvm最小的存儲單元
lvm邏輯卷,時最終咱們使用的能夠伸縮的設備
2.lvm的製做
fdisk /dev/vdb
建立兩個文件系統類型爲lvm的分區(8e)
監控命令: watch -n 1 'echo "= pvinfo =";pvs; echo "= vginfo =";vgs;echo "= lvinfo =" ; lvs ; echo "= - =";df -h /mnt '
3.lvm的創建
fdisk /dev/vdb
partprobe
fdisk -l
pvcreate /dev/vdb1 #建立物理卷
vgcreate westos /dev/vdb1 #添加物理卷組爲westos
lvcreate -L 50M -n lv0 westos #從westos組中取出一個名字爲lv0,大小爲50M的內存
mkfs.xfs /dev/westos/lv0 #格式化
mount /dev/westos/lv0 /mnt/ #lv0 掛載到 /mnt
4.lvm設備的擴大
lvextend -L 90M /dev/westos/lv0 #將lv0擴展到90M
xfs_growfs /dev/westos/lv0 #擴展文件系統
pvcreate /dev/vdb2#添加新的pv
vgextend westos /dev/vdb2#擴展分區組
lvextend -L 188M /dev/westos/lv0 #擴展lv
xfs_growfs /dev/westos/lv0 #擴展文件系統
5.縮減lvm文件系統
xfs文件系統不支持縮減,將xfs格式化爲ext4
縮減內存不支持在線縮減,因此必須卸載後在進行縮減
umount /mnt
mkfs.ext4 /dev/westos/lv0 ##按照ext格式化
e2fsck -f /dev/westos/lv0 ##檢測lv0文件
resize2fs /dev/westos/lv0 77M ##縮減lv0到77M
lvreduce -L 77M /dev/westos/lv0
pvmove /dev/vdb1 /dev/vdb2
vgreduce westos /dev/vdb1
pvremove /dev/vdb1
建立快照
umount /mnt/
lvcreate -L 10M -n lv0-backup -s /dev/westos/lv0
mount /dev/westos/lv0-backup /mnt/
刪除全部記錄
umount /mnt/
lvremove /dev/westos/lv0-backup
lvremove /dev/westos/lv0
vgremove westos
pvremove /dev/vdb2
pvs
pvremove /dev/vdb1
pvs
用腳本實現磁盤的添加
vim test.sh
在裏面填寫
#!/bin/bash
fdisk /dev/vdb << end
n
【空格,表示取默認值】
【空格,表示取默認值】
【空格,表示取默認值】
+1G
wq
end
最後運行腳本文件
sh test.sh
c查看結果
fdisk -l