欢迎各位兄弟 发布技术文章
这里的技术是共享的
创建完分区后=>创建文件系统=>才能被挂载和使用的
裸设备我们不能直接使用,只有一些高级的服务器才能使用裸设备
文件系统管理
重新创建文件系统会损坏原有文件
格式化分区(重新创建文件系统):
mkfs: make file system 创建文件系统
-t FSTYPE + 分区(千万不能整个硬盘)
mkfs -t ext2 = mkfs.ext2
mkfs -t ext3 = mkfs.ext3
专门管理ext系列文件:
mke2fs
-j: (-journal 日志的意思 ext3有日志功能) ext3
-b: BLOCK_SIZE指定块大小,默认为4096 可用取值为 1024 2048 或 4096
-L LABEL: 指定分区卷标 (分区名称)
-m #: 指定预留给超级用户的块数百分比 (不用加百分比,直接一个数字)
-i #: 用于指多少个字节的空间创建一个 inode,默认为 8192 这里给出的数值应该为块的大小的2^n倍 (小了它就浪费了,没意义了
因为一个文件至少指向一个块)
-N #:指定 inode个数
-F:强制创建文件系统 (默认情况下,处于挂载状态下,是不能创建的)
-E:用户指定额外的文件系统属性
文件系统类型
ext2
ext3
ext4
等很多
blkid 查询或查看磁盘设备的相关属性
UUID
TYPE
LABEL
e2label: 查看或定义卷标
e2label 设备文件(分区文件) [ 卷标 ] (设定卷标)
tune2fs: 调整文件系统的相关属性
-j (就由 ext2 变成了 ext3) (不损害原有数据,将 ext2升级为ext3) (但不能降级)
(块大小不能改,因为它是接近于一个物理属性,想改的话 只能重新格式化)
-L LABEL:设定或修改卷标
-m #:调整预留百分比
-r #: 指定预留块数
-o: 设定默认挂载选项:
acl (access control list)
-c #:指定挂载次数达到#次之后进行自检:0或-1表示关闭此功能
-C #:
-i #:每挂载使用多少天后进行自检:0或-1表示关闭此功能
-l: 显示超级块中(super block)的信息
dumpe2fs: 显示文件系统属性信息
-h:只显示超级块(super block)信息
fsck 手动检查 检查并修复 linux 文件系统
-t FSTYPE: 指定文件系统类型 (指错了 就麻烦了 如果不指的话 自动使用blkid来自动检查 )
-a : 自动修复 (不询问自动修复)
e2fsck: 专用于修复 ext2/ext3文件系统
-f:强制检查
-p:自动修复
-a:也是自动修复 (为了兼容 fsck)
挂载: 将新的文件系统关联至当前根文件系统
卸载: 将某文件系统(某分区)与当前根文件系统的关联关系予以移除
mount:挂载 (mount 不带任何选项与参数的时候,显示当前系统上已挂载的所有设备及挂载点,挂载属性等,就是显示 /etc/mtab 的内容吧)
mount 设备 挂载点(挂载目录)
设备:
设备文件 /dev/sda5
卷标: LABEL=""
UUID: UUID=""
挂载点:目录 (一般默认为/mnt (其它的额外其它分区或文件系统,)或 /media(移动性,便携性设备) 下 )
要求:
1),此目录没有被其它进程使用
2),目录得事先存在
3),目录中的原有文件将会暂时隐藏
挂载完成后,要通过挂载点(挂载目录)访问对应文件系统上的文件
mount [ options ] [-o options] DEVICE MOUNT_POINT
-a: (-a all)表示挂载 /etc/fstab文件中定义的所有文件系统 ( Mount all filesystems (of the given types) mentioned in fstab)
-n: (-n no的意思)默认情况下,mount 命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使和-n选项意味着挂载设备时,不把信息写入此文件,不更新此文件
-t FSTYPE:指定正在挂载设备上的文件系统的类型 (不使用此选项,mount默认会调用blkid命令获取对应文件系统的类型)
-r: 只读挂载,挂载光盘,常用此选项
-w:读写挂载 (默认读写挂载,如果挂载光盘的话,只能以只读的方式挂载)
-o:指定额外的文件系统挂载的功能选项,也即文件系统启用的属性( -o Options are specified with a -o flag followed by a )
remount:重新挂载当前文件系统 (卸载和挂载同时实现)
ro:挂载为只读
rw:读写挂载
sync:同步,就是内容写到内存,同时更新到硬盘
async:异步,就是内容写到内存,不同时更新到硬盘,最后一次性更新到硬盘,效率高,应该是默认的吧
挂载完成后,要通过挂载点(挂载目录)访问对应文件系统上的文件
umount: 卸载某文件系统
umount 设备
umount 挂载点
以上两个都可以
卸载注意事项:
挂载的设备没有进程使用
cat /proc/filesystems : 查看当前内核所支持的文件系统类型
[root@ebs-22618 ~]# fdisk -l
先创建扩展分区
创建几个(三个)逻辑分区
保存退出
内核未能识别
查看分区
[root@ebs-22618 ~]# cat /proc/partitions
重读分区表
# partprobe /dev/sda (指定重读哪个磁盘) 也可以 # partprobe (重读所有磁盘)
# cat /proc/partitions (查看内核所认识的分区)
看看当前系统支持哪些文件系统
[root@ebs-22618 ~]# cat /proc/filesystems
可能有支持的某文件系统 但它没有显示出来,可能内核没有装载这个模块
,将来学如何附加额外的模块并支持某个文件系统
一般默认分法 每两个block(8k) 一个 indoe
[root@ebs-22618 ~]# which mkfs
/sbin/mkfs
[root@ebs-22618 ~]# ls -la /sbin/mkfs
-rwxr-xr-x. 1 root root 6832 3月 22 2017 /sbin/mkfs
[root@ebs-22618 ~]# which mkfs.ext2
/sbin/mkfs.ext2
[root@ebs-22618 ~]#
[root@ebs-22618 ~]# ls -l /sbin/mkfs.ext2
-rwxr-xr-x. 5 root root 60432 3月 23 2017 /sbin/mkfs.ext2
#mkfs.vfat /dev/sda6 或 mkfs -t vat
把这个vfat 的磁盘挂载到 windows 上面,是可以识别的,类似于windows中的快速格式化
ext2
ext3 (-j 就相当于 ext2)
[root@ebs-22618 ~]# man mke2fs
#mke2fs -m 3 /dev/sda5
#mke2fs -i 4096 /dev/sda5
[root@ebs-22618 ~]# man blkid
[root@ebs-22618 ~]# blkid /dev/vda1
查看卷标
# e2label /dev/sda5
设定卷标
# e2label /dev/sda5 HELLODATA
# blkid /dev/sda5
# tune2fs -j /dev/sda5
# blkid /dev/sda5
# tune2fs -L MYDATA /dev/sda5
# blkid /dev/sda5
[root@ebs-22618 ~]# man tune2fs
# tune2fs -l /dev/sda5
# dumpe2fs /dev/sda5
# dumpe2fs -h /dev/sda5
# dumpe2fs /dev/vo10/root
[root@ebs-22618 ~]# man fsck
[root@ebs-22618 ~]# man e2fsck
# mkfs
# dump (红帽6中) (dumpe4fs) (应该兼容 dumpe2fs吧,换句话说红帽6中也可以使用 dumpe2fs吧)
红帽6 可能略用不同(比如 mkfs.ext4) 一般会通用
# e2fsck /dev/sda5
# e2fsck -f /dev/sda5
# e2fsck -f -p /dev/sda5
# mount /dev/sda5 /mnt/test
# umount /dev/sda5
# umount /mnt/test
# umount /mnt/test
# umount
[root@ebs-22618 ~]# man mount
在 u盘或光盘上启用 suid 不安全 ,不启用的话,就是 nosuid
光盘
# ls /dev
# ls -l /dev/cdrom
# mount /dev/cdrom /media
# ls /media
# umount /media/
# mount -r /dev/cdrom /media (加上只读-r后 不显示警告信息)
# mount -r /dev/cdrom /media (或者 加上只读-o ro后 不显示警告信息)
# umount /media/
# mount -o remount /dev/cdrom /media
# umount /mnt/test
# mount /dev/sda5 /mnt/test
# mount
重新挂载时 挂载点不用指
-o 如果有几个选项,中间用逗号隔开(分开)
# mount -o remount,ro /dev/sda5