Linux学习之文件系统管理
一、Linux文件系统管理:
mkfs,
mkfs -t type=mkfs.type : 即表示这两种用法的效果一致
1、ext的专属文件系统格式化工具
mke2fs
create an ext2/ext3/ext4 filesystem//创建ext系列的文件系统
用法:
mke2fs [option]....DEVICE
[option]:参数
-t {ext2|ext3|ext4} :指定是那种形式的ext文件系统
-b {1024|2048|4096} :指定块大小,如果存储的文件是大文件,则块大小应该选着4096 ,块大小应该根据存放文件来决定,或者根据经验来选择;
-L ‘lebel’ :指定卷标
-j :has_journal日志功能,等于mke2fs -t ext3,可以使用此命令将ext2文件系统升级至ext3文件系统,且对数据无影响;
-i #:Specify the size of each inode in bytes.以字节的方式指定每个inode的大小
-N #:inode的数量
-m #: 预留磁盘空间占据多大百分比的空间,为后续的管理使用,后默认跟%
-o FEATURE[....] :指定开启文件系统的特性;
-o ^FEAYURE[....]:关闭此特性
2、文件系统属性查看及调整工具:
a、 e2label
Change the label on an ext2/ext3/ext4 filesystem//更改ext系列文件系统的卷标
用法:
e2label device [ new-label ]
b、tune2fs:显示ext系列文件系统的属性,或调整期属性的;
-l:显示超级块中的信息,显示整个文件的属性及布局等相关信息
-L ‘LABEL’:修改卷标
-m #:调整预留给管理员的管理空间百分比;
-j:开启其日志功能,能ext2文件系统升级为ext3文件系统
-O:文件系统属性的启动或关闭
-o:文件系统默认挂载选项的启用或关闭
例子:
c、dumpe2fs:
-h:仅显示超级块信息
3、文件系统检测修复:
fsck:filesystem check
fsck -t type
fsck.type
-a:自动修复错误
-r:交互式修复错误
-f:强制检测
e2fsck:ext系列文件系统专用的检测修复工具
-y:自动回答为‘yes’
-f:force
4、文件系统的挂载和使用
将额外文件系统与跟文件系统某现存的目录建立起关联关系,进而使得此目录作为其他文件系统访问入口的行为,称之为挂载
解除此关联关系的过程,称之为卸载;
设备挂载的目录称之为挂载点
注意:挂载点在挂载之后,其内部原有的文件将被隐藏,待卸载之后才能恢复;所以建议使用空白目录做挂载点
挂载方法:
mount:通过读取/etc/mtab文件来显示当前系统所有已挂载的设备;
mount -a :挂载/etc/fstab文件中德所有支持自动挂载的文件系统
mount [option] [-o option] DEVICE MOUNT_POINT
[option]:命令选项
[-o option]:挂载选项
DEVICE:要挂载的设备
1)、设备文件如/dev/sda
2)、卷标:-L ‘LABEL’
3)、UUID
4)、伪文件系统名称
MOUNT_POINT:挂载点
[option]:命令选项
-t type:文件系统类型
-r:以只读方式挂载此文件系统
-w:以读写方式挂载此文件系统
-n:每个文件系统在挂载是都会自动更新/etc/mtab文件,-n用于禁止次功能;此时如果想查看挂载的所有文件系统,可以是用cat /proc/mounts
-a:自动挂载所有支持自动挂载的设备
-B:绑定目录至另外一个目录上
[-o option]挂载选项
-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 -v MOUNT_POINT
终止所有正在访问指定的挂载点的进程
fuser -km MOUNT_POINT
5、交换分区
free命令:
查看memory和swap的使用状态
-m:以MB为单位
-g:以GB为单位
mkswap:创建交换分区
mkswap [option] DEVICE
-L 'LABEL'
swapon:启用交换分区
swapon [option] [DEVICE]
-a:激活所有交换分区
-p PRIORITY:设定其优先级
swapoff:禁用交换分区
swapoff [option] [DEVICE]
6、文件系统等空间占用信息的查看工具
df du
df :disk free
-h:以人类易懂的方式显示
-i:inode的数量
-P:以Posix兼容的格式输出
du:disk usage
-h:以人类易懂的方式显示
-s:和
7、文件系统相关挂载配置文件/etc/fstab
每行定义一个文件系统
其格式如下:
要挂载的设备或伪文件同 挂载点 文件系统类型 挂载选项 转储频率 自检次序
要挂载的设备
设备文件 、卷标 、uuid、伪文件系统名称
挂载选项
defaults
转储频率
0:不转储
1:每天转储
2:每隔一天转储
自检次序:
0:不自检
1:首先自检,一般是跟目录使用
2:
8、文件系统上的链接文件
链接文件分两类:
硬链接:
两个路径指向同一个inode
不能对目录进行
不能跨分区进行
指向同一个inode的多个不同路径,创建文件的硬链接会增加inode的计数,删除硬链接仅是删除其一个访问路径,直到最后一个路径被删除;
符号链接
链接文件的数据指向另一个文件路径
可对目录进行
可以跨分区
指向的是另一个文件路径,而非inode
ln [-s] SRC DEST
-s:symbolic link
-v:verbose
二、创建一个10G文件系统。类型为ext4,要求开机可自动挂载至/mydata目录;
[root@pizi ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x12b83f86. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) 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): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition 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 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 //新建分区 Command action e extended p primary partition (1-4) p //选择主分区 Partition number (1-4): 1 //第一个 First cylinder (1-1305, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +10G //划分10G的大小 Value out of range. Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): Using default value 1305 Command (m for help): w //保存分区配置 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@pizi ~]# [root@pizi ~]# mkfs -t ext4 /dev/sdb1 //格式化文件系统 mke2fs 1.41.12 (17-May-2010) 文件系统标签= 操作系统:Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 2620595 blocks 131029 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2684354560 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 29 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@pizi ~]#
[root@pizi ~]# mount -a //自动挂载支持挂载的设备 [root@pizi ~]# mount //查看现在的挂载情况 /dev/mapper/vg_pizi-LogVol03 on / 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/sda1 on /boot type ext4 (rw) /dev/mapper/vg_pizi-LogVol01 on /usr type ext4 (rw) /dev/mapper/vg_pizi-LogVol02 on /var type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sdb1 on /mydata type ext4 (rw) [root@pizi ~]#