Linux文件系統管理node
Linux文件系統稱爲vfs(Virtual File System 虛擬文件系統)可支持的文件系統類型:網絡
Linux:ext2, ext3, ext4, reiserfs, xfs,btrfs, swap異步
光盤:iso9660async
Windows: fat32(vfat), ntfs分佈式
Unix: ffs, ufs, jfs, jfs2ide
網絡文件系統:nfs, cifs工具
集羣文件系統:ocfs2, gfs2佈局
分佈式文件系統:ceph,ui
moosefs, mogilefs,hdfs, gfs, glusterfsspa
(1) 日誌型文件系統
非日誌型文件系統:ext2
日誌型文件系統:ext3
(2) swap:交換分區
分區工具:fdisk;lparted:sfdisk
Fdisk:
[root@localhost~]# fdisk
Usage:
fdisk [options] <disk> change partition table 更改分區表
fdisk [options] -l <disk> list partitiontable(s) 列出分區表
fdisk -s <partition> give partition size(s) in blocks 以塊爲單位將指定的分區大小輸出
分區管理子命令:
p: 顯示
n: 建立
d: 刪除
t: 修改分區ID
l: 列出全部支持ID類型
w: 保存退出
q: 放棄修改並退出
m: 獲取幫助
新建分區後須要查看系統是否識別新的分區
[root@localhostdev]# cat /proc/partitions
majorminor #blocks name
8 0 20971520 sda
8 1 204800 sda1
8 2 4194304 sda2
8 3 16571392 sda3
8 16 20971520 sdb
8 17 1 sdb
建立工具(mkfs)
mkfs -ttype DEVICE =mkfs.type DEVICE
使用blkid 查看分區信息
[root@localhost/]# mkfs -t ext4 /dev/sdb5
mke2fs1.41.12 (17-May-2010)
Filesystemlabel=
OS type:Linux
Blocksize=1024 (log=0)
Fragmentsize=1024 (log=0)
Stride=0blocks, Stripe width=0 blocks
56inodes, 448 blocks
22 blocks(4.91%) reserved for the super user
Firstdata block=1
Maximumfilesystem blocks=524288
1 blockgroup
8192blocks per group, 8192 fragments per group
56 inodesper group
Writinginode tables: done
Filesystemtoo small for a journal
Writingsuperblocks and filesystem accounting information: done
Thisfilesystem will be automatically checked every 22 mounts or
180 days,whichever comes first. Use tune2fs -c or-i to override.
[root@localhost/]# blkid /dev/sdb5
/dev/sdb5:UUID="9b25009f-5f8f-4d17-876e-03e9e8435805" TYPE="ext4"
EXT系列文件系統在新系統中仍然有較好的支持
EXT系列文件系統專用管理工具
mke2fs
建立文件系統:
mke2fs [OPTION]... DEVICE
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L 'LABEL'
-j: mke2fs -t ext3
-i #:
-N #:
-m #: 預留磁盤空間佔據多大百分比的空間爲後期管理使用;
-O FEATURE[,...]
-O ^FEATURE:關閉此特性
has_journal
[root@localhost/]# mke2fs -t ext2 -L mytest /dev/sdb6
mke2fs1.41.12 (17-May-2010)
Filesystemlabel=mytest
OS type:Linux
Blocksize=4096 (log=2)
Fragmentsize=4096 (log=2)
Stride=0blocks, Stripe width=0 blocks
514080inodes, 2056184 blocks
102809blocks (5.00%) reserved for the super user
Firstdata block=0
Maximumfilesystem blocks=2105540608
63 blockgroups
32768blocks per group, 32768 fragments per group
8160inodes per group
Superblockbackups stored on blocks:
32768, 98304, 163840, 229376, 294912,819200, 884736, 1605632
Writinginode tables: done
Writingsuperblocks and filesystem accounting information: done
Thisfilesystem will be automatically checked every 39 mounts or
180 days,whichever comes first. Use tune2fs -c or-i to override.
root@localhost/]# blkid /dev/sdb6
/dev/sdb6:LABEL="mytest" UUID="5d90f188-8dd3-4c64-aa44-7ad93ce7c138"TYPE="ext2"
文件系統屬性查看及調整工具:
e2label
e2lable DEVICE[LABEL]
[root@localhost/]# e2label /dev/sdb6
mytest
[root@localhost/]# e2label /dev/sdb6 mytest1
[root@localhost/]# e2label /dev/sdb6
mytest1
tune2fs
顯示ext系列文件系統的屬性,或調整其屬性;
-l:顯示超級塊中的信息;顯示整個文件的屬性及佈局等相關信息;
-L 'LABEL':修改卷標;
-m #: 調整預留給管理員的管理空間百分比;
-j: ext2 --> ext3
-O:文件系統屬性的啓動或關閉
-o:文件系統默認掛載選項的啓用或關閉
[root@localhost/]# tune2fs -L mytest2 /dev/sdb6
tune2fs1.41.12 (17-May-2010)
[root@localhost/]# tune2fs -m 2 /dev/sdb6
tune2fs1.41.12 (17-May-2010)
Settingreserved blocks percentage to 2% (41123 blocks)
[root@localhost/]# tune2fs -j /dev/sdb6
tune2fs1.41.12 (17-May-2010)
Creatingjournal inode: done
Thisfilesystem will be automatically checked every 39 mounts or
180 days,whichever comes first. Use tune2fs -c or-i to override
[root@localhost/]# tune2fs -l /dev/sdb6
tune2fs1.41.12 (17-May-2010)
Filesystem volume name: mytest2
Lastmounted on: <notavailable>
FilesystemUUID: 5d90f188-8dd3-4c64-aa44-7ad93ce7c138
Filesystemmagic number: 0xEF53
Filesystemrevision #: 1 (dynamic)
Filesystemfeatures: has_journal ext_attrresize_inode dir_index filetype sparse_super large_file
Filesystemflags: signed_directory_hash
Defaultmount options: (none)
Filesystemstate: clean
Errorsbehavior: Continue
FilesystemOS type: Linux
Inodecount: 514080
Block count: 2056184
Reserved block count: 41123
Freeblocks: 1986594
Freeinodes: 514069
Firstblock: 0
Blocksize: 4096
Fragmentsize: 4096
ReservedGDT blocks: 501
Blocksper group: 32768
Fragmentsper group: 32768
Inodesper group: 8160
Inodeblocks per group: 510
Filesystemcreated: Sun Aug 30 15:25:58 2015
Lastmount time: n/a
Lastwrite time: Sun Aug 30 16:53:192015
Mountcount: 0
Maximummount count: 39
Lastchecked: Sun Aug 30 15:25:582015
Checkinterval: 15552000 (6 months)
Nextcheck after: Fri Feb 26 15:25:582016
Reservedblocks uid: 0 (user root)
Reservedblocks gid: 0 (group root)
Firstinode: 11
Inodesize: 256
Requiredextra isize: 28
Desiredextra isize: 28
Journalinode: 8
Defaultdirectory hash: half_md4
DirectoryHash Seed: 2e1f0a82-3f2e-490e-bc4f-3ee76c5a8061
Journalbackup: inode blocks
dumpe2fs:
-h: 僅顯示超級塊信息;
文件系統檢測:
fsck: Filesystem check
fsck -t type
fsck.type
-a: 自動修復錯誤
-r: 交互式修復錯誤
-f: 強制檢測
e2fsck:ext系列文件系統專用的檢測修復工具;
-y: 自動回答爲「yes」
-f:force
須要保持 type 與分區的文件系統一致不然可能損壞文件
文件系統的掛載和使用
mount:掛載
經過讀取/etc/mtab文件來顯示當前系統全部已經掛載的設備;
[root@localhost/]# mount
/dev/sda3on / type ext4 (rw)
proc on/proc type proc (rw)
sysfs on/sys type sysfs (rw)
devpts on/dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on/dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1on /boot type ext4 (rw)
none on/proc/sys/fs/binfmt_misc type binfmt_misc (rw)
gvfs-fuse-daemonon /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sr0on /media/CentOS_6.7_Final type iso9660(ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)
mount -a:掛載/etc/fstab文件中的全部支持自動掛載的文件系統;
mount[options] [-o options] DEVICE MOUNT_POINT
[options]:命令選項
[-o options]:掛載選項
DEVICE: 要掛載的設備
(1) 設備文件:/dev/sda5
(2) 卷標:-L 'LABEL'
(3) UUID:-U 'UUID'
(4) 僞文件系統名稱
MOUNT_POINT: 掛載點
經常使用選項:
-t type:文件系統類型
-r: 以「只讀」方式掛載此文件系統
-w: 以「讀寫」方式掛載此文件系統
-n:每一個文件系統在掛載時都會自動更新/etc/mtab文件,-n用於禁止此功能;
此時,若是想查看掛載的全部文件系統:cat /proc/mounts
-a: 自動掛載全部支持自動掛載的設備;
-B:綁定目錄至另外一個目錄上;
-o 掛載選項:
async:異步模式
sync: 同步模式
atime/noatime:是否更新訪問時間戳;
diratime/nodiratime:是否更新目錄的訪問時間戳;
auto/noauto:是否容許此設備被自動掛載;
exec/noexec:是否容許執行此文件系統上應用程序;
dev/nodev:是否支持在此設備上使用設備文件;
suid/nosuid:
remount:從新掛載
ro
rw
user/nouser:是否容許普通掛載此設備;
acl:是否支持此設備上使用facl;
defaults:rw, suid, dev, exec, auto, nouser,and async
umount:卸載命令
# umount DEVICE
# umount MOUNT_POINT
查看正在訪問指定掛載點的進程:
# fuser -vMOUNT_POINT
終止全部正在訪問指定的掛載點的進程:
# fuser -kmMOUNT_POINT
交換分區:
free
查看memory和swap的使用狀態
-m: 以MB爲單位
[root@localhost/]# free -m
total used free shared buffers cached
Mem: 1863 510 1352 2 41 164
-/+buffers/cache: 305 1557
Swap: 4095 0 4095
-g: 以GB爲單位
[root@localhost/]# free -g
total used free shared buffers cached
Mem: 1 0 1 0 0 0
-/+buffers/cache: 0 1
Swap: 3 0 3
mkswap:建立交換分區
mkswap[option] DEVICE
-L 'LABEL'
swapon:啓用交換分區
swapon [option][DEVICE]
-a: 激活全部交換分區
-pPRIORITY: 設定其優先級;
swapoff:禁用交換分區
swapoff [option][DEVICE]
文件系統等空間佔用信息的查看工具
df: diskfree
-:human-readable
[root@localhost/]# df -h /dev/sdb6
Filesystem Size Used Avail Use% Mounted on
- 917M 244K 917M 1% /dev
-i: inode數量
-P: 以Posix兼容的格式輸出
du: diskusage
-h:human-readable
[root@localhost/]# du -h /dev/sdb6
0 /dev/sdb6
-s:summary