文章目錄
這裏是一段防爬蟲文本,請讀者忽略。
本文原創首發於CSDN,作者IDYS
博客首頁:https://blog.csdn.net/weixin_41633902/
本文鏈接:https://blog.csdn.net/weixin_41633902/article/details/105784761
- 寫在開頭的話
- 請記住:實踐是掌握知識的最快方法
- 如果你只是懷着看看的態度去快速瀏覽文章,而不去認認真真的把文章裏面講的任何一個知識點去實踐一遍,那麼你永遠也掌握不了它
- 生命不息,折騰不止!
- Linux文件系統
- CentOS上各個版本流行的文件系統
- CentOS 5.x
- ext2
- CentOS 6.x
- ext3,ext4
- CentOS 7.x
- ext4,xfs,btrfs,ReiserFS,jfs
- 其它文件系統
- swap : 交換分區(虛擬內存)
- 光盤:ISO9660
- Windows:
- fat32,ntfs
- Uinx:FFS,UFS,JFS2
- 網絡文件系統NFS,CIFS
- 集羣文件:GFS2,OCFS2
- 分佈式文件系統:
- moosefs,mogilefs,GlusterFS,Lustre
- 根據其是否支持“journal功能”
- 日誌型文件系統:ext3,ext4,xfs
- 非日誌型文件系統:ext2,vfat
- 文件系統的組成部分
- 內核中的模塊:ext4,xfs,vfat
- 用戶空間管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat
- Linux的虛擬文件系統:VFS
- btrfs 文件系統支持容量的擴展,而且支持快照
- 文件系統管理查看類命令
- 文件系統管理
- 創建文件系統:
- mkfs.FS_TYPE /dev/DEVICE
- mkfs.ext4
- mkfs.xfs
- mkfs.btrfs
- mkfs.vfat
- mkfs -t FS_TYPE /DEV/DEVICE[NUM]
- -L ‘LABEL’:設定卷標
- mke2fs:ext系列文件系統專用管理工具
- -t:{ext2 | ext3 | ext4}
- -b:{1024 | 2048 | 4096} 設置塊大小
- -L ‘LABEL’
- -j:相當於-t ext3 創建ext3文件系統
- mkfs.ext3
- mkfs -t ext3
- mke2fs -j
- mke2fs -t ext3
- -i #:爲數據空間中每多少個字節創建一個inode 此大小不能小於塊(block)大小
- -N #:爲數據空間創建多少個inode
- -m #:爲管理人員預留的空間佔據的百分比:通常爲5%
- -O FEATURE[,…]:啓用指定特性
- -O ^FEATURE:關閉指定特性
- mkfs.FS_TYPE /dev/DEVICE
-b指定塊大小 -m指定預留空間百分比 -L 設置卷標
mke2fs -b 1024 -m 3 -L MYDATA -i
- mkswap:創建交換分區
- mkswap [options] device
- -L ‘LABEL’
- 前提:調整其分區ID爲82
- mkswap [options] device
# 修改分區ID號
[root@dayuanshuai /]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris)
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd406d040
Device Boot Start End Blocks Id System
/dev/sdb1 1 2 16033+ 83 Linux
/dev/sdb2 3 4 16065 82 Linux swap / Solaris
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# 讀取硬盤分區表
[root@dayuanshuai /]# partx -a -n 2 /dev/sdb
BLKPG: Device or resource busy
error adding partition 2 #雖然提示error但是沒事
BLKPG: Device or resource busy
error adding partition 3
#設置爲交換分區
[root@dayuanshuai /]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 16060 KiB
no label, UUID=09727f1e-eb7c-4b64-9a17-542cb6879b59
# 查看分區信息
[root@dayuanshuai /]# blkid /dev/sdb2
/dev/sdb2: UUID="09727f1e-eb7c-4b64-9a17-542cb6879b59" TYPE="swap"
- 查看Linux支持的文件系統類型:cat /proc/filesystems
- 每個文件系統都有一個內核模塊
- 使用 lsmod查看在內核中裝載的所有模塊
#查看Linux支持的文件系統類型
[root@dayuanshuai ~]# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev binfmt_misc
nodev debugfs
nodev securityfs
nodev sockfs
nodev usbfs
nodev pipefs
nodev anon_inodefs
nodev inotifyfs
nodev devpts
nodev ramfs
nodev hugetlbfs
iso9660
nodev pstore
nodev mqueue
nodev selinuxfs
nodev drm
ext4
# 查看Linux文件系統裝載的所有內核模塊
[root@dayuanshuai ~]# lsmod
Module Size Used by
tcp_diag 1041 0
inet_diag 9430 1 tcp_diag
ib_ipoib 81191 0
rdma_ucm 15739 0
ib_ucm 12360 0
ib_uverbs 40532 2 rdma_ucm,ib_ucm
ib_umad 13519 0
rdma_cm 36651 1 rdma_ucm
ib_cm 37444 3 ib_ipoib,ib_ucm,rdma_cm
iw_cm 33136 1 rdma_cm
ib_sa 24188 4 ib_ipoib,rdma_ucm,rdma_cm,ib_cm
ib_mad 41628 3 ib_umad,ib_cm,ib_sa
ib_core 83020 10 ib_ipoib,rdma_ucm,ib_ucm,ib_uverbs,ib_umad,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
..... #省略
- 下面介紹磁盤文件系統的格式化
# 格式化分區,劃分文件系統
[root@dayuanshuai ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
文件系統標籤=
操作系統:Linux
塊大小=1024 (log=0)
分塊大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
4016 inodes, 16032 blocks
801 blocks (5.00%) reserved for the super user
第一個數據塊=1
Maximum filesystem blocks=16515072
2 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193
正在寫入inode表: 完成
Creating journal (1024 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
- e2label:管理ext系列文件系統的LABEL
[root@dayuanshuai /]# e2label /dev/sdb2
MYDATA
# 修改/dev/sdb2分區文件系統的label爲DATA
[root@dayuanshuai /]# e2label /dev/sdb2 "DATA"
[root@dayuanshuai /]# e2label /dev/sdb2
DATA
- 文件系統查看、設定
- blkid:塊設備屬性信息查看
- 可以顯示分區的屬性信息
- blkid [OPTION] [DEVICE]
- -U UUID:根據指定UUID查找設備
- -L LABEL:根據指定的卷標查看設備
# 顯示/dev/sdb1分區的屬性信息
[root@dayuanshuai ~]# blkid /dev/sdb1
/dev/sdb1: UUID="de7f400a-511b-4aac-b141-97818146052b" TYPE="ext4"
# 顯示/dev/sdb1分區的屬性信息
[root@dayuanshuai /]# blkid /dev/sdb2
/dev/sdb2: LABEL="MYDATA" UUID="02c07346-6e58-4fa0-ad5d-a51971b9c82d" TYPE="ext4"
# 根據卷標查找設備
[root@dayuanshuai /]# blkid -L "MYDATA"
/dev/sdb2
# 根據UUID查找設備
[root@dayuanshuai /]# blkid -U 02c07346-6e58-4fa0-ad5d-a51971b9c82d
/dev/sdb2
- tune2fs:重新設定ext系列文件系統可調整參數的值
- -l:查看指定文件系統的超級塊信息
- -L ‘LABEL’:修改卷標
- -m #:修改預留給管理員的空間百分比
- -j:將ext2升級爲ext3
- -O:文件系統屬性信息啓用或禁用
- -O has_journal 開啓日誌功能
- -O ^has_journal 關閉日誌功能
- -o:調整文件系統的默認掛載選項
- -U UUID:修改UUID號
# 查看指定分區的超級塊信息
[root@dayuanshuai /]# tune2fs -l /dev/sdb2
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name: DATA
Last mounted on: <not available>
Filesystem UUID: 02c07346-6e58-4fa0-ad5d-a51971b9c82d
Filesystem magic number: 0xEF53
..... #省略
# 啓用日誌功能
[root@dayuanshuai /]# tune2fs -0 'has_journal' /dev/sdb1
# 關閉日誌功能
[root@dayuanshuai /]# tune2fs -O '^has_journal' /dev/sdb1
- dumpe2fs:查看整個文件系統的結構信息
- -h :查看超級塊信息
[root@dayuanshuai /]# dumpe2fs /dev/sdb1
.... 前面省略
Group 0: (Blocks 1-8192) [ITABLE_ZEROED]
校驗和 0xab1e,1997個未使用的inode
主 superblock at 1, Group descriptors at 2-2
保留的GDT塊位於 3-64
Block bitmap at 65 (+64), Inode bitmap at 81 (+80)
Inode表位於 97-347 (+96)
7608 free blocks, 1997 free inodes, 2 directories, 1997個未使用的inodes
可用塊數: 80, 83-96, 600-8192
可用inode數: 12-2008
Group 1: (Blocks 8193-16031) [INODE_UNINIT, ITABLE_ZEROED]
校驗和 0x1522,2008個未使用的inode
備份 superblock at 8193, Group descriptors at 8194-8194
保留的GDT塊位於 8195-8256
Block bitmap at 66 (+4294959169), Inode bitmap at 82 (+4294959185)
Inode表位於 348-598 (+4294959451)
6751 free blocks, 2008 free inodes, 0 directories, 2008個未使用的inodes
可用塊數: 9281-16031
可用inode數: 2009-4016
# dumpe2fs -h 只查看文件系統的超級塊信息
[root@dayuanshuai /]# dumpe2fs -h /dev/sdb1
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 319da001-4962-40c6-bff5-6df98106d672
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 4016
Block count: 16032
Reserved block count: 801
Free blocks: 14359
- 文件系統檢測修復
- fsck:FILE System Check
- fsck.FS_TYPE
- fsck -t FS_TYPE
- fsck -a:自動修復錯誤
- fsck -r:交互式修復錯誤
注意:FS_TYPE一定要與分區上的文件系統類型相同
- e2fsck:ext系列文件系統專用的檢測工具
- -y:自動回答爲yes
- -f:強制修復(不管文件系統有沒有錯誤直接修復,非常粗暴)
# 首先查看文件系統是否出現錯誤
[root@dayuanshuai /]# fsck.ext4 /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
/dev/sdb1: clean, 11/4016 files, 1673/16032 blocks
#如果出現錯誤則使用fsck -r 交互式修復錯誤
[root@dayuanshuai /]# fsck -r /dev/sdb1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sdb1: clean, 11/4016 files, 1673/16032 blocks
#強制,不管文件系統是否出現問題,直接修復,非常粗暴,不建議使用
[root@dayuanshuai /]# e2fsck -f /dev/sdb1
- 寫在最後的話:
- 無論每個知識點的難易程度如何,我都會盡力將它描繪得足夠細緻
- 歡迎關注我的CSDN博客,IDYS’BLOG
- 持續更新內容:運維 | 網工 | 軟件技巧
- 如果你有什麼疑問,或者是難題。歡迎評論或者私信我。你若留言,我必回覆!
- 雖然我現在還很渺小,但我會做好每一篇內容。謝謝關注!