常用特殊符號
liunx系統下的通配符起到了很大的作用,對于不確定的文檔名稱可以使用特殊字符表示
'*' 常用的特殊符號,表示任意多個字符
‘?’常用的特殊符號,表示任意單個字符
[0-9] #在文件名上,用來代表多個字符或者連續范圍中的一個,若無則忽略
{a,b,3} #在文件名上,用來表示多組不同的字符串,全匹配
grep文件過濾
- grep用于查找文件中符合條件的字符串,它能利用正則表達式搜索文件中的字符串,并把匹配到的字符串的行打印出來
- 命令格式:greo [選項] “查找條件” 目標文件
- 常用選項:
- -n #以行號形式輸出
- -l #忽略字符串大小寫
- -v #顯示不包含匹配的行(排除)
- 常用正則表達式符號
- ^字符串 #顯示以該字符串開頭的行
- $字符串 #顯示以該字符串結尾的行
- ^$ #顯示空行
[root@rhce /]# grep -n -v '^#' /etc/fstab
1:
9:/dev/mapper/centos-root / xfs defaults 0 0
10:UUID=e6f5ab62-b4f1-4a0a-a330-e58478021804 /boot xfs defaults 0 0
11:/dev/mapper/centos-swap swap swap defaults 0 0
[root@rhce /]#
find文件/目錄查找命令
- find命令根據預設條件遞歸查找文件或者目錄所在的位置
- 命令格式:find 查找路徑 查找條件1 查找條件2... [-exex處理命令{};]
- -exec 可接額外的命令來處理查找結果
- {}代表find查找到的內容被防止{}中
- ;代表額外處理命令結束
- 常用查找條件
- -type 類型 (f文件 d目錄 l連接文件)
- -name “文件名”
- -iname 按文件名查找 忽略大小寫
- -size 文件大小 (K,M,G,+大于 -小于)
- -a 兩個條件同時滿足
- -o兩個條件滿足任意一個即可
- -user 用戶名
- -mtime 按日期查找(+代表多少天之前,-代表多少天之內,0代表24小時之內)
#按文件類型查找目錄
[root@rhce /]# find /var/log -type d
/var/log
/var/log/samba
/var/log/samba/old
/var/log/ppp
/var/log/audit
/var/log/chrony
/var/log/pluto
/var/log/pluto/peer
/var/log/glusterfs
/var/log/libvirt
/var/log/libvirt/qemu
/var/log/speech-dispatcher
/var/log/cups
/var/log/gdm
/var/log/tuned
/var/log/sa
/var/log/qemu-ga
/var/log/anaconda
/var/log/rhsm
[root@rhce /]#
#按文件名查找并指定類型為文件
[root@rhce /]# find /etc/ -name pas* -type f
/etc/openldap/certs/password
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/pam.d/password-auth-ac
[root@rhce /]#
#查找大于10k的文件
[root@rhce /]# find /var/log -size +10k -type f
/var/log/lastlog
/var/log/wtmp
/var/log/audit/audit.log
/var/log/gdm/:0.log
/var/log/sa/sa03
/var/log/sa/sa04
/var/log/sa/sa06
/var/log/sa/sa08
/var/log/sa/sa10
/var/log/sa/sa12
/var/log/sa/sa15
/var/log/anaconda/anaconda.log
/var/log/anaconda/syslog
/var/log/anaconda/X.log
/var/log/anaconda/program.log
/var/log/anaconda/packaging.log
/var/log/anaconda/storage.log
/var/log/anaconda/journal.log
/var/log/dmesg
/var/log/Xorg.9.log
/var/log/Xorg.0.log
/var/log/boot.log-20220812
/var/log/cron-20220812
/var/log/messages-20220812
/var/log/messages
[root@rhce /]#
[root@rhce /]# du -h /var/log/messages
28K /var/log/messages
#大于10k并且小于25k
[root@rhce /]# find /var/log -size +10k -a -size -25k -type f
/var/log/wtmp
/var/log/sa/sa03
/var/log/Xorg.9.log
/var/log/boot.log-20220812
/var/log/cron-20220812
[root@rhce /]#
#大于10k或者root用戶的文件
[root@rhce /]# find /var/log -size +10k -type f -o -user root
/var/log
/var/log/tallylog
/var/log/grubby_prune_debug
/var/log/lastlog
/var/log/wtmp
/var/log/btmp
/var/log/samba
/var/log/samba/old
/var/log/ppp
/var/log/audit
/var/log/audit/audit.log
/var/log/pluto
/var/log/pluto/peer
/var/log/glusterfs
/var/log/libvirt
/var/log/libvirt/qemu
/var/log/speech-dispatcher
/var/log/cups/error_log
/var/log/cups/page_log
/var/log/cups/access_log-20220812
/var/log/cups/access_log
/var/log/gdm
/var/log/gdm/:0.log
/var/log/gdm/:0-greeter.log
/var/log/tuned
/var/log/tuned/tuned.log
/var/log/sa
/var/log/sa/sa03
/var/log/sa/sa04
/var/log/sa/sa05
/var/log/sa/sar05
/var/log/sa/sa06
/var/log/sa/sa08
/var/log/sa/sa09
/var/log/sa/sa10
/var/log/sa/sa12
/var/log/sa/sa14
/var/log/sa/sar14
/var/log/sa/sa15
/var/log/qemu-ga
/var/log/anaconda
/var/log/anaconda/anaconda.log
/var/log/anaconda/syslog
/var/log/anaconda/X.log
/var/log/anaconda/program.log
/var/log/anaconda/packaging.log
/var/log/anaconda/storage.log
/var/log/anaconda/ifcfg.log
/var/log/anaconda/ks-script-kWVo7f.log
/var/log/anaconda/ks-script-zuVLNF.log
/var/log/anaconda/journal.log
/var/log/rhsm
/var/log/boot.log
/var/log/vmware-vmsvc.log
/var/log/vmware-vgauthsvc.log.0
/var/log/dmesg
/var/log/firewalld
/var/log/Xorg.9.log
/var/log/Xorg.0.log
/var/log/wpa_supplicant.log
/var/log/vmware-vmusr.log
/var/log/yum.log
/var/log/boot.log-20220812
/var/log/cron-20220812
/var/log/cron
/var/log/maillog-20220812
/var/log/maillog
/var/log/messages-20220812
/var/log/messages
/var/log/secure-20220812
/var/log/secure
/var/log/spooler-20220812
/var/log/spooler
[root@rhce /]#
#24小時以內的文件
[root@rhce /]# find /var/log -mtime 0
/var/log/lastlog
/var/log/wtmp
/var/log/audit/audit.log
/var/log/cups/access_log
/var/log/sa
/var/log/sa/sa14
/var/log/sa/sar14
/var/log/sa/sa15
/var/log/boot.log
/var/log/vmware-vmsvc.log
/var/log/cron
/var/log/messages
/var/log/secure
[root@rhce /]# ll /var/log/messages
-rw-------. 1 root root 25763 8月 15 01:20 /var/log/messages
#5天內修改的文件
[root@rhce /]# find /var/log -mtime -5
/var/log
/var/log/lastlog
/var/log/wtmp
/var/log/btmp
/var/log/audit/audit.log
/var/log/cups
/var/log/cups/access_log-20220812
/var/log/cups/access_log
/var/log/sa
/var/log/sa/sa12
/var/log/sa/sa14
/var/log/sa/sar14
/var/log/sa/sa15
/var/log/boot.log
/var/log/vmware-vmsvc.log
/var/log/boot.log-20220812
/var/log/cron-20220812
/var/log/cron
/var/log/maillog
/var/log/messages-20220812
/var/log/messages
/var/log/secure-20220812
/var/log/secure
/var/log/spooler
#查找24小時之類黨的文件或者目錄并復制opt下面
[root@rhce /]# find /var/log/ -mtime 0 -exec cp -r {} /opt/ \;
[root@rhce /]# ls /opt/
access_log boot.log lastlog sa sa15 secure wtmp
audit.log cron messages sa14 sar14 vmware-vmsvc.log
[root@rhce /]#
壓縮與解壓縮
-
liunx獨有壓縮格式及命令工具(壓縮比例從小到大,速度從快到慢,不支持多個文件和目錄壓縮)
- gzip---->.gz
- bzip2---->.bz2
- xz----->.xz
-
壓縮命令格式
- gzip [選項...] 文件名
- 常用選項:-d 解壓縮
[root@rhce opt]# gzip services [root@rhce opt]# ls services.gz [root@rhce opt]#
- bzip2 [選項...] 文件名
- 常用選項:-d 解壓縮
- xz [選項...] 文件名
- 常用選項 -d 解壓縮
- gzip [選項...] 文件名
-
查看解壓縮文件
- zcat [選項..] 文件名
- bzcat [選項...] 文件名
- xzcat [選項..] 文件名
tar打包工具
-
tar命令用于在liunx下對于liunx文件或目錄進行打包,使用tar程序打出來的包通常稱為tar包,tar包文件通常都是一.tar結尾
-
tar命令格式:tar 選項 、路徑/壓縮包名字 被壓縮文件
-
常用選項:
- -c 創建打包文件
- -f 指定打包后的文件名稱
- -z 調用gzip壓縮工具 、 -J 調用xz壓縮工具 -j調用bzip2壓縮工具
- -t 列出打包文檔內容
- -x 釋放打包文件
- -C 指定壓縮路徑
- -v 顯示詳細信息
#命令選項順序需注意否則會報錯,解決辦法刪除命令選項前的- [root@rhce /]# cd opt/ [root@rhce opt]# tar cfz xx.tar.gz /etc/passwd /etc/fstab /home tar: 從成員名中刪除開頭的“/” [root@rhce opt]# ls services.gz xx.tar.gz z [root@rhce opt]# #解壓 [root@rhce opt]# tar -xf xx.tar.gz -C /media/ [root@rhce opt]# ls /media/ etc home [root@rhce opt]#
分區過程
添加新硬盤----分區----格式化文件系統------掛載使用
磁盤類型
- IDE:主要用于個人家用計算機
- SCSI:主要用于服務器,數據傳輸速度快,支持熱插拔
- STAT:主要用于個人家用計算機
- NVME:固態硬盤
- 光纖通道接口
liunx常用分區格式
- MBR格式:比較古老的分區個事,分為4個主分區和擴展分區(邏輯分區),最大支持2.2T以內的磁盤容量
- IDE接口最多可以劃分59個邏輯分區
- SCSI接口最多可以劃分11個邏輯分區
- GPT格式:可劃分128個主分區,最大支持18EB磁盤容量
文件系統詳解
- centOS5:默認文件系統類型ext3
- centOS6:默認文件系統類型ext4
- 日志記錄功能,意外宕機,通過日志記錄把宕機之前沒有保存的數據,在系統再次重啟是恢復過來
- 單個文件系統最大支持1EB的分區容量,單個文件最大可以儲存16t數據
- centOS7:默認文件系統類型xfs
- xfs開啟了日志記錄功能,數據恢復比ext4快
- 單個文件系統最大支持8EB分區容量,單個文件最大可以存儲500TB的數據
- 單文件美妙讀寫數據的速度可以達到4G
- swap交換分區:交換分區,硬盤空間充當內存使用
掛載
- 在liunx中用戶無法直接使用硬件設備,硬件設備在系統中都是以只讀的方式存在,必須掛載
- 掛載就是給用戶提供一個可以使用設備的接口
- 掛載注意事項
- 掛載點必須是一個目錄,理論上講還得是一個空目錄
- 一個文件系統不允許重復掛在多個目錄下(反之亦然)
lsblk查看系統磁盤信息
-
lsblk (全稱list block)用于列出當前系統所有磁盤信息和分區信息
-
命令格式:lsblk [選項...] [設備名]
-
常用選項
- -d #僅顯示磁盤本身,不會列出磁盤的分區數據
- -f #列出磁盤分區使用的文件系統類型
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk sr0 11:0 1 1024M 0 rom #sd表示SCSI接口 [root@localhost ~]# #解釋 #NAME 名稱 # MAJ:MIN RM 主設備號:次設備號,內核通過主次設備號識別磁盤 #RM 是否為可卸載設備:1可卸載,0不可卸載 #SIZE 設備的容量大小 #RO 設備是否為只讀,0表示非只讀,1表示只讀 #TYPE 表示設備類型(disk為磁盤,part為分區,lvm為邏輯卷,rom只讀) #MOUNTPOINT 設備掛載點 #列出指定磁盤信息 [root@localhost ~]# lsblk -d /dev/sda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] [root@localhost ~]# lsblk -f /dev/sda NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs e6f5ab62-b4f1-4a0a-a330-e58478021804 /boot └─sda2 LVM2_member cacJce-O1j4-beJh-AlCO-hZCV-VMZl-uCcJlJ ├─centos-root xfs d9283643-39ff-4d6d-a440-f3283051409f / └─centos-swap swap 2c31e219-b895-4ade-8fad-2fe7b7306f59 [SWAP] [root@localhost ~]#
df查看分區使用使用情況
-
df用于查看文件系統使用情況
-
命令格式:df [選項...] [參數...]
-
常用選項:
- -h 以人類易讀方式顯示文件系統容量
- -T 顯示文件系統類型
[root@localhost ~]# df -Th 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 17G 3.4G 14G 20% / devtmpfs devtmpfs 895M 0 895M 0% /dev tmpfs tmpfs 911M 0 911M 0% /dev/shm tmpfs tmpfs 911M 11M 901M 2% /run tmpfs tmpfs 911M 0 911M 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 170M 845M 17% /boot tmpfs tmpfs 183M 12K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 [root@localhost ~]#
du統計文件目錄大小
-
du用于統計文件目錄大小
-
命令格式:du [選項...] [參數....]
-
常用選型:
- -h #以人類易讀的方式顯示文件大小
- -s #只統計每個參數的總數
[root@localhost ~]# du -sh /etc/ 37M /etc/ [root@localhost ~]#
blkid查看設備屬性
-
blkid顯示設備屬性(設備名稱,設備UUID,文件系統類型)
-
命令格式:blkid [選項...] [參數...]
[root@localhost ~]# blkid /dev/sda1: UUID="e6f5ab62-b4f1-4a0a-a330-e58478021804" TYPE="xfs" /dev/sda2: UUID="cacJce-O1j4-beJh-AlCO-hZCV-VMZl-uCcJlJ" TYPE="LVM2_member" /dev/mapper/centos-root: UUID="d9283643-39ff-4d6d-a440-f3283051409f" TYPE="xfs" /dev/mapper/centos-swap: UUID="2c31e219-b895-4ade-8fad-2fe7b7306f59" TYPE="swap" [root@localhost ~]# blkid /dev/sda1 /dev/sda1: UUID="e6f5ab62-b4f1-4a0a-a330-e58478021804" TYPE="xfs" [root@localhost ~]#
/dev目錄詳解
[rootQlocaThost -]# 1s /dev
hd[a-t]:IDE設備
sd[a-z]:SCSI設備
fd[0-7]:軟盤驅動設備
md[0-32]:軟RAID設備
loop[0-7]: 本地網環設設備
lp[0-3]:打印機設備
mem:內存設備
null:空設備,也稱為黑洞,任何寫入的數據配將被丟棄zero:零資源設備,任何寫入的數據都將被丟棄
full:滿設備,任何寫入的數據都將失敗
tty[0-63]:虛擬終端設備
random:隨機數設備
urandom:隨機數設備
port:存取I/0端口
MBR分區格式
-
fdisk命令用于查看磁盤使用情況和磁盤分區(MBR分區格式)
-
命令格式: fdisk [選項.. ] [設備路徑]
-
常用選項: -l 列出磁盛分區表類型與分區信息
-
分區
[root@localhost ~]# fdisk /dev/sdb m #獲取命令幫助 p #顯示磁盤分區表 n #新增加一個分區 q #不保存分區退出 d #刪除一個分區 w #保存分區退出 a #設置可引導標記 b #編輯bsd磁盤標簽 c #設置DOS操作系統兼容標記 l #顯示已知的文件系統類型,82為swap交換分區,83為Linux分區 o #建立空白DOS分區表 s #新建空白SUN磁盤標簽 t #改變分區的系統ID u #改變顯示記錄單位 v #驗證分區表 x #附加功能 #新建主分區 [root@localhost ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0x7fe58f60 創建新的 DOS 磁盤標簽。 命令(輸入 m 獲取幫助):p 磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x7fe58f60 設備 Boot Start End Blocks Id System 命令(輸入 m 獲取幫助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分區號 (1-4,默認 1):1 起始 扇區 (2048-41943039,默認為 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+10G 分區 1 已設置為 Linux 類型,大小設為 10 GiB 命令(輸入 m 獲取幫助):p 磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x7fe58f60 設備 Boot Start End Blocks Id System /dev/sdb1 2048 20973567 10485760 83 Linux 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. #新建擴展分區 [root@localhost ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 命令(輸入 m 獲取幫助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分區號 (2-4,默認 2): 起始 扇區 (20973568-41943039,默認為 20973568): 將使用默認值 20973568 Last 扇區, +扇區 or +size{K,M,G} (20973568-41943039,默認為 41943039):+5G 分區 2 已設置為 Extended 類型,大小設為 5 GiB 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。 #刪除分區 [root@localhost ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 命令(輸入 m 獲取幫助):d 分區號 (1,2,默認 2):2 分區 2 已刪除 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。
格式化文件系統
-
mkfs命令用于在分區上建立文件系統
-
常用文件系統類型
- ext4, xfs
-
命令格式:
- mks.xfs分區設備路徑 #格式化為xfs類型文件系統
- mkfs.ext4分區設備路徑 #格式化為ext4類型文件系統
[root@localhost ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=2621440, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
mount掛載
-
mount文件系統掛載命令
-
命令格式: mount 設備路徑 掛載點目錄
-
常用選項:
- -a 掛載fstab中的所有文件
- -o 該選項可跟額外的參數
[root@localhost ~]# mount /dev/sdb1 /mybak/ [root@localhost ~]# df -Th 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 17G 3.4G 14G 20% / devtmpfs devtmpfs 895M 0 895M 0% /dev tmpfs tmpfs 911M 0 911M 0% /dev/shm tmpfs tmpfs 911M 11M 901M 2% /run tmpfs tmpfs 911M 0 911M 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 170M 845M 17% /boot tmpfs tmpfs 183M 12K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 /dev/sdb1 xfs 10G 33M 10G 1% /mybak
umount卸載
-
umount用于卸載文件系統
-
命令格式:umount 掛載點
[root@localhost ~]# umount /mybak/ [root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 17G 3.4G 14G 20% / devtmpfs 895M 0 895M 0% /dev tmpfs 911M 0 911M 0% /dev/shm tmpfs 911M 11M 901M 2% /run tmpfs 911M 0 911M 0% /sys/fs/cgroup /dev/sda1 1014M 170M 845M 17% /boot tmpfs 183M 12K 183M 1% /run/user/42 tmpfs 183M 0 183M 0% /run/user/0
開機自動掛載
-
/etc/fstab用于存放文件系統信息,當系統啟動時,系統會自動讀取此文件信息并依次掛載
-
文件詳解
[root@localhost ~]# tail -3 /etc/fstab /dev/mapper/centos-root / xfs defaults 0 0 UUID=e6f5ab62-b4f1-4a0a-a330-e58478021804 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 #六字段詳解 第一個字段:掛載的設備路徑 第二個字段:掛載點目錄 第三個字段:設備文件系統類型 第四個字段:掛載參數,參數如下 sync,async;此文件系統是否使用同步寫入(sync) 或異步(async) 的內存機制,默認為異步(async) atime,noatime: 更新訪問時間/不更新訪問時間,訪問分區時,足否更新文件的訪問時間,默認為更新 ro,rw:掛載文件為只讀(ro)或讀寫(rw),默認為rw auto,noauto:自動掛載/手動掛載,執行mount -a時,是否自動掛載/etc/fstab文件內容,默認為自動(auto) dev,nodev: 足否允許此文件系統上,可建立裝置文件,默認為允許(dev) suid,nosuid: 是否允許文件系統上含有SUID與SGID特殊權限。默認為允許(SUID) exec,noexec: 是否允許文件系統上擁有可執行文件,默認為允許(exeC) user,nouser: 是否允許普通用戶執行掛戰操作,默認為不允許(nouser) ,只有root用戶可以掛載分區 defaults默認值:代表async, rw. auto, dev, suid, exec, nouser七個選項 弟五個字段:是對文件系統進行備份,0不備份,1為備份 第六個字段:是否檢查文件系統順序,允許的數字是0,1,2 0表示不檢查,1的優先權最高 #掛載 [root@localhost ~]# tail -1 /etc/fstab /dev/sdb1 /mybak xfs defaults 0 0
remount命令
-
重新掛載文件系統,在文件系統出錯的情況或者重新掛載的時候比較重要-
GPT命令格式
-
gdisk命令用于查看磁盤使用情況和分區使用情況
-
命令格式:gdisk [選項...] [設備路徑]
-
常用選項 : -l 列出磁盤分區表類型和信息
[root@localhost ~]# gdisk /dev/sdc GPT fdisk (gdisk) version 0.8.6 #GPT版本 Partition table scan: #分區表掃描 MBR: not present #MBR分區不存在 BSD: not present #BSD分區不存在 APM: not present #APM分區不存在 GPT: not present #GPT分區不存在 Creating new GPT entries. #創建新的GPT分區 Command (? for help):? #輸入?獲取幫助 p #顯示磁盤分區表 n #新增加一個分區 q #不保存分區退出 d #刪除一個分區 w #保存分區退出 #創建新分區(總體跟MBR分區差不多) Command (? for help): n Partition number (1-128, default 1): First sector (34-20971486, default = 2048) or {+-}size{KMGTP}: Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: +5G Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): P Disk /dev/sdc: 20971520 sectors, 10.0 GiB Logical sector size: 512 bytes Disk identifier (GUID): 1D2FD571-24F3-410B-AE27-C342688FCE0D Partition table holds up to 128 entries First usable sector is 34, last usable sector is 20971486 Partitions will be aligned on 2048-sector boundaries Total free space is 10485693 sectors (5.0 GiB) Number Start (sector) End (sector) Size Code Name 1 2048 10487807 5.0 GiB 8300 Linux filesystem Command (? for help): w #格式化并掛載 [root@localhost ~]# mkfs.xfs /dev/sdc1 meta-data=/dev/sdc1 isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=1310720, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mkdir /GPT [root@localhost ~]# mount /dev/sdc1 /GPT/ [root@localhost ~]#
LVM邏輯卷
- 邏輯卷:(logical volume manger)邏輯卷管理系統
- 邏輯卷可以將底層的物理磁盤虛擬成一個虛擬磁盤
- 邏輯卷通過liunx系統內核dm(device mapper)設備映射組件
- 命令:
功能 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
---|---|---|---|
scan 掃描 | pvsacn | vgscan | lvscan |
create 創建 | pvcreate | vgcreate | lvcreate |
display 顯示 | pvdisplay | vgdisplay | lvdisplay |
remove 刪除 | pvremove | vgremove | lvremove |
extend 擴展 | vgextenf | lvextend | |
reduce 減少 | vgreduce | lvreduce |
#卷組創建(創建卷組時分區不可格式化文件系統)
[root@localhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdc1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb1.
WARNING: xfs signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdc1.
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
Volume group "vg1" successfully created
[root@localhost ~]#
#顯示卷組信息
[root@localhost ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 14.99 GiB
PE Size 4.00 MiB
Total PE 3838
Alloc PE / Size 0 / 0
Free PE / Size 3838 / 14.99 GiB
VG UUID F2FwwH-kycs-UOnT-4FBh-zQy1-vbSu-rUqAgY
[root@localhost ~]#
#簡要顯示卷組信息
[root@localhost ~]# vgs vg1
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 14.99g 14.99g
[root@localhost ~]#
#創建邏輯卷
[root@localhost ~]# lvcreate -L 10G -n lv1 vg1
Logical volume "lv1" created.
[root@localhost ~]#
#選項:
-L 指定空間大小
-n 指定邏輯卷名
#查看邏輯卷信息
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-a----- 10.00g
[root@localhost ~]# lvs /dev/vg1/lv1
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a----- 10.00g
[root@localhost ~]#
#格式化邏輯卷
[root@localhost ~]# mkfs.xfs /dev/vg1/lv1
meta-data=/dev/vg1/lv1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]#
#掛載邏輯卷
root@localhost ~]# mount /dev/vg1/lv1 /mybak/
[root@localhost ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 17G 3.4G 14G 20% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 11M 901M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
tmpfs 183M 12K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vg1-lv1 10G 33M 10G 1% /mybak
[root@localhost ~]#
#邏輯卷擴容
[root@localhost ~]# lvextend -L +2G /dev/vg1/lv1 [卷組名]
Size of logical volume vg1/lv1 changed from 10.00 GiB (2560 extents) to 12.00 GiB (3072 extents).
Logical volume vg1/lv1 successfully resized.
[root@localhost ~]#
[root@localhost ~]# xfs_growfs /dev/vg1/lv1 #邏輯卷擴容后需要擴展文件系統才能使用
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2621440 to 3145728
[root@localhost ~]#
#卷組擴容
[root@localhost ~]# vgextend vg1 /dev/sdc1 /dev/sdc2
Physical volume "/dev/sdc2" successfully created.
WARNING: Device /dev/sdc1 has size of 8388608 sectors which is smaller than corresponding PV size of 10485760 sectors. Was device resized?
Volume group "vg1" successfully extended
[root@localhost ~]# vgs vg1
WARNING: Device /dev/sdc1 has size of 8388608 sectors which is smaller than corresponding PV size of 10485760 sectors. Was device resized?
One or more devices used as PVs in VG vg1 have changed sizes.
VG #PV #LV #SN Attr VSize VFree
vg1 4 1 0 wz--n- 29.98g 14.98g
#卷組減少物理卷
[root@localhost ~]# vgreduce vg1 /dev/sdc1 /dev/sdc2
WARNING: Device /dev/sdc1 has size of 8388608 sectors which is smaller than corresponding PV size of 10485760 sectors. Was device resized?
One or more devices used as PVs in VG vg1 have changed sizes.
Removed "/dev/sdc1" from volume group "vg1"
Removed "/dev/sdc2" from volume group "vg1"
#為根目錄擴容
[root@localhost ~]# vgextend centos /dev/sdc1 /dev/sdc2
Volume group "centos" successfully extended
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 3 2 0 wz--n- <27.99g 8.99g
vg1 2 1 0 wz--n- 19.99g 4.99g
[root@localhost ~]# df -Th
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs 17G 3.4G 14G 20% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 911M 0 911M 0% /dev/shm
tmpfs tmpfs 911M 11M 901M 2% /run
tmpfs tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 170M 845M 17% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vg1-lv1 xfs 15G 33M 15G 1% /mybak
[root@localhost ~]# lvextend -L +5G /dev/mapper/
centos-root centos-swap vg1-lv1
[root@localhost ~]# lvextend -L +5G /dev/mapper/centos-root
Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <22.00 GiB (5631 extents).
Logical volume centos/root successfully resized.
[root@localhost ~]# df -Th
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs 17G 3.4G 14G 20% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 911M 0 911M 0% /dev/shm
tmpfs tmpfs 911M 11M 901M 2% /run
tmpfs tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 170M 845M 17% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vg1-lv1 xfs 15G 33M 15G 1% /mybak
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4455424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4455424 to 5766144
[root@localhost ~]# df -Th
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs 22G 3.4G 19G 16% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 911M 0 911M 0% /dev/shm
tmpfs tmpfs 911M 11M 901M 2% /run
tmpfs tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 170M 845M 17% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vg1-lv1 xfs 15G 33M 15G 1% /mybak
[root@localhost ~]#
擴展文件系統
- xfs文件系統 :xfs_growfs 邏輯卷路徑
- ext3,4系統:resize2fs: 邏輯卷路徑