ln命令
ln -s a(源文件) b(連接文件名) 創(chuàng)建軟連接(快捷方式)
硬件連接:
1、只能對(duì)文件創(chuàng)建,不能應(yīng)用于目錄:
2、不能跨文件系統(tǒng)
3、創(chuàng)建硬連接會(huì)增加文件的被連接次數(shù)
軟連接:
1、可應(yīng)用于目錄;
2、可以跨文件系統(tǒng);
3、不會(huì)增加被連接文件的連接次數(shù)
4、其大小為指定的路徑所包含的字符個(gè)數(shù)
du命令
-s
-h
df命令
-h 字節(jié)換算
-i Inodes
-T 磁盤分區(qū)
設(shè)備文件:
b:按塊為單位,隨機(jī)訪問的設(shè)備
硬盤
c:按字節(jié)為單位,線性設(shè)備
鍵盤
/dev
主設(shè)備號(hào)(major number)
標(biāo)識(shí)設(shè)備類型
次設(shè)備號(hào)(minor number)
標(biāo)識(shí)同一種類型中不同設(shè)備
mknod命令:創(chuàng)建設(shè)備文件
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
-m MODE(權(quán)限)
mknod -m 644 mydev(設(shè)備類型)(主設(shè)備號(hào)) (次設(shè)備號(hào))
硬盤設(shè)備的設(shè)備文件名:
IDE, ATA : hd
SATA : sd
SCSI: sd
USB : sd
a,b,c....來區(qū)別同一類型下的不同設(shè)備
IDE:
第一個(gè)IDE口:主(/dev/hda)、從(/dev/hdb)
第二個(gè)IDE口:主(/dev/hdc)、從(/dev/hdd)
sda ,sdb,sdc ,...
hda:
hda1:第一個(gè)主分區(qū)
hda2:
hda3:
hda4:
hda5:第一個(gè)邏輯分區(qū)
fdisk命令
fdisk -l 查看當(dāng)前系統(tǒng)識(shí)別了幾塊硬盤
fdisk -l [/dev/to/some_device_file]
管理磁盤分區(qū):
fdisk /dev/sda
p: 顯示當(dāng)前硬件分區(qū),包括沒保存的改動(dòng)
n: 創(chuàng)建新分區(qū)
e:擴(kuò)展分區(qū)
p:主分區(qū)
d: 刪除一個(gè)分區(qū)
w: 保存退出
q: 不保存退出
t: 修改分區(qū)類型
L
l:顯示所支持的所有類型
partprobe [/dev/sda]:重讀分區(qū)表
partx
inode:index node
block size :1024 2048 4096
inode bitmap
block bitmap
super block 超級(jí)塊
文件系統(tǒng)管理
重新創(chuàng)建文件系統(tǒng)會(huì)損壞原有文件
mkfs命令:
make file system
cat /proc/filesystems :查看當(dāng)前內(nèi)核所支持文件系統(tǒng)
-t FSTYPE
mkfs -t ext2 =mkfs.ext2
mkfs -t ext3 =mkfs.ext3
專門管理ext系統(tǒng)文件:
mke2fs命令
-j:創(chuàng)建ext3類型文件系統(tǒng)
-b BLOCK_SIZE:指定塊大小,默認(rèn)為4096:可用取值為1024、2048、4096
-L LABEL:指定分區(qū)卷標(biāo)
-m #: 指定預(yù)留給著急用戶的塊數(shù)百分比
-i #:用于指定為多少字節(jié)的空間創(chuàng)建一個(gè)inode,默認(rèn)為8192;這里給出的數(shù)值應(yīng)該為塊大小的2^n倍
-N #:指定inode個(gè)數(shù)
-F: 強(qiáng)制創(chuàng)建文件系統(tǒng)
-E:用于指定額外文件系統(tǒng)屬性
blkid命令:
查看磁盤設(shè)備的相關(guān)屬性
UUID
FYPE
LABEL
e2label命令:
用戶查看定義卷標(biāo)
e2label 設(shè)備文件 卷標(biāo):設(shè)定卷標(biāo)
tune2fs命令:
調(diào)整文件系統(tǒng)的相關(guān)屬性
-j:不損害原有數(shù)據(jù),將ext2升級(jí)為ext3
-L LABEL:設(shè)定或修改卷標(biāo)
-m #: 調(diào)整預(yù)留百分比
-r #:指定預(yù)留塊數(shù)
-o : 設(shè)定默認(rèn)掛載選項(xiàng)
acl
-c #:指定掛載次數(shù)達(dá)到#次之后進(jìn)行自檢,0或-1表示關(guān)閉此功能
-i #:每掛載使用多少天后進(jìn)行自檢:0或-1表示關(guān)閉此功能
-l: 顯示超級(jí)塊中的信息
dumpe2fs命令:
顯示文件屬性信息
-h:只顯示超級(jí)塊中的信息
fsck命令:
檢查并修復(fù)Linux文件系統(tǒng)
-t FSTYPE:指定文件系統(tǒng)類型
-a:自動(dòng)修復(fù)
e2fsck命令:
專用于修復(fù)ext2/ext3文件系統(tǒng)
-f:強(qiáng)制檢查
-p:自動(dòng)修復(fù)
mount命令:
顯示當(dāng)前系統(tǒng)已經(jīng)掛載的設(shè)備及掛載點(diǎn)
掛載:將新的文件系統(tǒng)關(guān)聯(lián)至當(dāng)前根文件系統(tǒng)
mount [option] [-o options] DEVICE MOUNT_POINT
mount 設(shè)備 掛載點(diǎn)
-a:表示掛載/etc/fstab 文件中定義的所有文件系統(tǒng)
-n:默認(rèn)情況下,mount命令每掛載一個(gè)設(shè)備,都會(huì)把掛載的設(shè)備信息保存至/etc/mtab文件;使用-n選項(xiàng)意味著掛載設(shè)備時(shí),不把信息寫入此文件
-t FSTYPE:指定正在掛載設(shè)備上的文件系統(tǒng)的類型;不使用此選項(xiàng)時(shí),mount會(huì)調(diào)用blkid命令獲取對(duì)應(yīng)文件系統(tǒng)的類型
-r:只讀掛載,掛載光盤時(shí)常用此選擇
-w:讀寫掛載
-o:指定額外的掛載選擇,也即指定文件系統(tǒng)啟用的屬性
remount :重新掛載當(dāng)前文件系統(tǒng)
ro:掛載為只讀
rw:讀寫掛載
mount - o remount,rw / 重新掛載根 為讀寫
設(shè)備:
設(shè)備文件
卷標(biāo):LABEL=""
UUID: UUID=""
掛載點(diǎn):目錄
要求:
1、此目錄沒有被其它進(jìn)程使用
2、目錄得事先存在
3、目錄中的原有的文件將會(huì)暫時(shí)隱藏
掛載完成以后,要通過掛載點(diǎn)訪問對(duì)應(yīng)文件系統(tǒng)上的文件
mount命令,可以掛載iso文件
mount DEVICE MOUNT_POINT
-o loop:掛載本地回環(huán)設(shè)備
umount命令:
卸載:將某文件系統(tǒng)與當(dāng)前根文件系統(tǒng)關(guān)聯(lián)以移除
umount 設(shè)備
umount 掛載點(diǎn)
卸載注意事項(xiàng):
掛載的設(shè)備沒有被進(jìn)程使用
swap分區(qū):
free命令:
查看內(nèi)存使用情況
-m:
fdisk命令中,調(diào)整分區(qū)類型為82。
創(chuàng)建交換分區(qū):
mkswap /dev/sda8
-L LABEL
swapon /dev/sda8 啟用交換分區(qū)
-a: 啟用所有定義在/etc/fstab文件中的交換設(shè)備
swapoff /dev/sda8 關(guān)閉交換分區(qū)
回環(huán)設(shè)備
loopback,使用軟件來模擬實(shí)現(xiàn)硬件
創(chuàng)建一個(gè)鏡像文件,120G
dd命令:
if=數(shù)據(jù)來源
of=數(shù)據(jù)存儲(chǔ)目標(biāo)
bs=1024 (1024字節(jié)/單位)
count=2 (復(fù)制幾個(gè)單位)
dd if=/dev/sda of=/mnt/usb/mbr.backup bs =512 count=1
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
dd if=/dev/zero of=/var/swapfile bs=1M count=1024
seek=#: 創(chuàng)建數(shù)據(jù)文件時(shí),跳過的空間大小
文件系統(tǒng)的配置文件/etc/fstab
os在初始時(shí),會(huì)自動(dòng)掛載此文件中定義的每個(gè)文件系統(tǒng)
要掛載的設(shè)備 掛載點(diǎn) 文件系統(tǒng)類型 掛載選項(xiàng) 轉(zhuǎn)儲(chǔ)頻率(每多少天做一次完全備份) 文件系統(tǒng)檢測(cè)次數(shù)(只有跟可以為1)
fuser命令:
驗(yàn)證進(jìn)程正在使用的文件或套接字文件
-v:查看某文件上正在運(yùn)行的進(jìn)程
-k:
-m:
fuser -km MOUNT_POINT: 終止正在訪問此掛載點(diǎn)的所有進(jìn)程
壓縮、解壓縮命令
壓縮格式:gz,bz2,xz,zip,z
壓縮算法:算法不同,壓縮比也會(huì)不同。
compress:FILENAME.z
uncompress
gzip: .gz
gzip /PATH/TO/SOMEFILE:壓縮完成后會(huì)刪除原文件
-d:解壓縮
-#:1-9 ,指定壓縮比,默認(rèn)是6
gunzip:
gunzip /PATH/TO/SOMEFILE.gz :解壓完成后會(huì)刪除源文件
zcat /PATH/TO/SOMEFILE.gz 不解壓的情況,查看文本文件的內(nèi)容
bzip2: .bz2
比gzip有著更大壓縮比的壓縮工具,使用格式近似
bzip2 /PATH/TO/SOMEFILE
-d:解壓
-# : 1-9,默認(rèn)是6
-k:壓縮后保留原文件
bunzip2 /PATH/TO/SOMEFILE 解壓縮
bzcat /PATH/TOSOMEFILE.bz2 不解壓,查看文本文件內(nèi)容
xz: .xz
xz /PATH/TO/SOMEFILE
-d
-# :1-9 默認(rèn)是6
-k: 壓縮時(shí)保留源文件
unxz:
xzdec:
xzcat:
zip:既歸檔又壓縮的工具
zip FILENAME.zip FILE1 FILE2 ... 壓縮后不刪除原文件
unzip FILENAME.zip
archive:歸檔,歸檔本身并不意味著壓縮
tar:歸檔工具
-c:創(chuàng)建歸檔文件
-f FILE.tar:操作的歸檔文件
-x :展開歸檔
--xattes:歸檔時(shí),保留文件的擴(kuò)展性信息
-t:不展開歸檔,直接查看歸檔了哪些文件-zcf:歸檔并調(diào)用gzip壓縮
-zxf:調(diào)用gzip解壓縮并展開歸檔
-jcf:歸檔并調(diào)用bzip2壓縮
-jxf:調(diào)用bzip2解壓縮并展開歸檔
-Jcf:歸檔并調(diào)用xz壓縮
-Jxf:調(diào)用xz解壓縮并展開歸檔
cpio:歸檔工具
練習(xí):寫一個(gè)腳本
從鍵盤讓用戶輸入幾個(gè)文件,腳本能夠?qū)⒋藥讉€(gè)文件歸檔后壓縮成一個(gè)文件。
#!/bin/bash
read -p "Please Enter Three filename:" file1 file2 file3
tar -zcf `date +%Y%m%d%H%M%S`.tar.gz $file1 $file2 $file3
RAID:
級(jí)別:僅代表磁盤組織方式不同,沒有上下之分
0:條帶
性能提升:讀、寫
冗余能力(容錯(cuò)能力):無
空間利用率:ns
硬盤數(shù):至少2塊
1:鏡像
性能表現(xiàn):寫性能下降,讀性能提升
冗余能力:有
空間利用率:1/2
硬盤數(shù):至少2塊
2
3
4
5:
性能表現(xiàn):讀,寫提升
冗余能力:有
空間利用率:(n-1)/n
硬盤數(shù):至少3塊
10:
性能表現(xiàn):讀、寫提升
冗余能力:有
空間利用率1/2
硬盤數(shù):至少需要4塊
01:
性能表現(xiàn):讀、寫提升
冗余能力:有
空間利用率1/2
硬盤數(shù):至少需要4塊
50:
性能表現(xiàn):讀、寫提升
冗余能力:有
空間利用率:(n-2)/n
硬盤數(shù):至少需要6塊
jbod:將多個(gè)硬盤,連接為一個(gè)硬盤使用
性能表現(xiàn):無提升
冗余能力:無
空間利用率:100%
邏輯RIAD:
/dev/md0
/dev/md1
cat /proc/mdstat查看陣列
內(nèi)核模塊md:
mdadm:將任何塊設(shè)備做成RAID
模式化的命令:
創(chuàng)建模式
-C
專用選項(xiàng):
-l:級(jí)別
-n:設(shè)備個(gè)數(shù)
-a{yes|no}:自動(dòng)為其創(chuàng)建設(shè)備文件
-c:CHUNK大小,2^n,默認(rèn)為64k-x #:指定空閑盤個(gè)數(shù)
管理模式
--add,--remove,--del
-a,-r,-d
mdadm /dev/md# --fail|-f /dev/sda7
監(jiān)控模式
-F
增長模式
-G
裝配模式
-A
查看RAID陣列的詳細(xì)信息
mdadm -D /dev/md#
--detail
停止陣列
mdadm -S /dev/md#
--stop
將當(dāng)前RAID信息保存至配置文件,以便以后進(jìn)行裝配:
mdadm -D --scan > /etc/mdadm.conf
練習(xí):創(chuàng)建一個(gè)2G的raid0
1、fdisk /dev/sdb 創(chuàng)建兩個(gè)1G的類型為fd的分區(qū)
2、partprobe /dev/sdb 內(nèi)核重讀分區(qū)(cat /proc/partitions 查看是否已經(jīng)識(shí)別)
3、mdadm -C /dev/md0 -l 0 -n 2 -a yes /dev/sdb{1,2}(cat /proc/mdstat 查看raid陣列)
4、mke2fs -j /dev/md0 格式化陣列(mke2fs -j -E stride=16 -b 4096 /dev/md0)
5、mount /dev/md0 /test 掛載使用
DM: Device Mapper
邏輯設(shè)備
RAID, LVM2
DM:
快照
多路徑
pv
pvcreate
pvcreate /dev/sdb1 /dev/sdb2
pvremove 刪除pv
pvremove /sdb1
pvscan 掃描當(dāng)前系統(tǒng)一共多少個(gè)pv
pvdisplay 查看pv詳細(xì)信息
pvmove 把數(shù)據(jù)移出到其他盤
vg
vgcreate
vgcreate VG_NAME /PATH/TO/PV
-s # : PE大小,默認(rèn)是4MB
vgremove 移出vg
vgextend 擴(kuò)展pv到vg卷組
vgreduce 移出pv
vgreduce VG_NAME /dev/sdb1
vgs
vgdisplay
vgscan
lv
lvcreate
lvcreate -n LV_NAME -L #G VG_NAME
lvcreate -L 100M -n testlv myvg
lvremove
lvextend
lvreduce
lvs
lvdisplay
練習(xí):創(chuàng)建一個(gè)由兩個(gè)物理卷組成的大小為20G的卷組myvg ,要求PE大小為16M,而后在此卷組中創(chuàng)建一個(gè)大小為5G的邏輯卷1v1,此邏輯卷要能在開機(jī)后自動(dòng)掛載至/users目錄,且直接acl功能
一、擴(kuò)展邏輯卷
lvextend 擴(kuò)展物理邊界
-L [+] # /PATH/TO/LV
lvextend -L 1G /dev/myvg/testlv
resize2fs 擴(kuò)展邏輯邊界(擴(kuò)展以后df -lh才能看見)
resize2fs /PATH/TO/LV 5G
resize2fs -p /PATH/TO/LV (擴(kuò)展到和物理邊界一樣)
resize2fs -p /dev/myvg/testlv
二、縮減邏輯卷
注意:1、不能在線縮減,得先卸載
2、確保縮減后的空間大小依然能存儲(chǔ)原來的所有數(shù)據(jù)
3、在縮減之前應(yīng)該先強(qiáng)行檢查文件,以確保文件系統(tǒng)處于一至性狀態(tài)
df -lh
umount
e2fsck -f
resize2fs
resize2fs /PATH/TO/LV 3G 縮減邏輯卷到3G
resize2fs /dev/myvg/testlv 300M
lvreduce -L /PATH/TO/LV 3G 縮減物理邊界到3G
lvreduce -L 300M /dev/myvg/testlv
三、快照卷
1、生命周期為整個(gè)數(shù)據(jù)時(shí)長;在這段時(shí)間內(nèi),數(shù)據(jù)的增長量不嫩超出快照卷大小。
2、快照卷應(yīng)該是只讀的
3、跟原卷在同一卷組內(nèi)
lvcreate
-s 創(chuàng)建快照卷
-p r|w
lvcreate -L # -n SLV_NAME-s -p r /PATH/TO/LV
練習(xí):創(chuàng)建一個(gè)快照,并恢復(fù)快照數(shù)據(jù)
lvcreate -L 50M -n kuaizhao -s -p r /dev/myvg/testlv (創(chuàng)建50M快照卷)
mount /dev/myvg/kuaizhao /kuaizhao (掛載快照卷)
tar -jcf /tmp/kuaizhao.tar.bz2 ./* (切換到快照目錄,歸檔到tmp目錄)
umount /kuaizhao (卸載快照卷)
lvremove /dev/mgvg/kuaizhao (移出快照卷)
tar -jxf /tmp/kuaizhao.tar.bz2 -C /test/ (展開快照數(shù)據(jù)到原目錄)