文件系统
windows使用:NTFS,fat32
linux使用:xfs(centos 7), ext4 (centos 6), ext3, ext2
查看支持的文件系统的文件
[root@tanyvlinux ~]# cat /etc/filesystems
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
查看现有磁盘分区文件系统命令(已挂载)
mount命令,例子:
[root@tanyvlinux ~]# mount |grep /boot; mount |grep root
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/boot和/都是xfs格式
格式化
可用于格式化的命令:
[root@tanyvlinux ~]# mkfs
mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mkfs.minix mkfs.msdos mkfs.vfat mkfs.xfs
以上这些命令已经选择好文件系统,格式化后就是命令显示的文件系统。
命令mke2fs
mke2fs /dev/sdb1 #默认格式化成ext2格式;
mke2fs -t ext4 #这个命令用参数选择文件系统,不支持xfs,-b指定块大小;
例子:
mke2fs -t ext4跟mkfs.ext4命令是一样的。
例子:
mke2fs参数:
mke2fs -b 8192 /dev/sdb1 #8k的块,适合存储视频,图片;
mke2fs -b 2048 /dev/sdb1 #2K的小块,适合存储大量小文件;
-m 预留空间,reserved for the super user
mke2fs -m 0.1 /dev/sdb1 #可以只预留0.1;
格式化后的inode数量信息:
上图解释:inode与块的比例大概是1比4,即1个inode对应16k的空间(默认块为4k)
如果希望有更多inode,用以下命令,让1个inode对应8k的空间。
inode增多了一倍。
格式化成xfs: (mkfs.xfs命令)
插:du命令也可以查到文件的实际大小:
[root@tanyvlinux ~]# ll 11.txt
-rwxr-xr--. 3 user3 user3 32 8月 30 21:27 11.txt
[root@tanyvlinux ~]# du -sh !$
du -sh 11.txt
4.0K 11.txt
[root@tanyvlinux ~]# du -sb !$
du -sb 11.txt
32 11.txt
blkid命令
查看格式化后未挂载的分区文件系统(未挂载mount不能查看):
blkid /dev/sdb1
挂载
一个磁盘可以不分区,直接格式化使用
例子:
如果分区会显示sdb1(磁盘只有一个分区),但是不分区sdb应该是代表整个磁盘直接格式化。
mount /dev/sdb /mnt #/mnt是挂载点,通过挂载点读写分区;
例子:
卸载挂载
umount /dev/sdb
umount /mnt
例子:
要退出挂载目录/mnt才能卸载挂载点,或者用-l参数:
mount命令有以下默认的挂载选项:
即挂载后就是可读定,可suid等。
rw 可读写
suid 可设置suid
dev /
exec 可运行
auto 自动挂载
nouser 普通用户不能挂载
async 非跟内存实时同步(有延时写入磁盘)
mount 的其他参数和命令例子:
mount -o rw /dev/sdb #读写;
mount -o ro /dev/sdb #只读;
mount -o remount /dev/sdb #重新挂载;
mount -o remount, ro /dev/sdb
系统挂载的配置文件
/etc/fstab #写入配置文件的挂载,一启动就挂载不用mount;
文件里的有效行:
/dev/mapper/centos-root / xfs defaults 0 0
UUID=52867e5e-46df-444e-904b-54cf13604d30 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
各字段代表的意思: uuid代表磁盘分区的设备号,是唯一的,接下来是文件格式,defaults是挂载的模式(默认),0代表是否dump(目前都不使用,0即可),0代表是否检测(0不检测,1用于root文件系统检测,2用于其他文件系统检测)
可以用UUID挂载
例子:
手动增加swap空间
- 搞一个磁盘空间出来:
dd if=/dev/zero of=/tmp/newdisk bs=1M count=100 #dd用于复制文件,从/dev/zero复制零到/tmp/newdisk(块大小为1M,数量100) - mkswap -f /tmp/newdisk #格式化;
- swapon /tmp/newdisk #把swap挂载;
例子:
- swapoff /tmp/newdisk #卸载