目录
认识EXT2文件系统
EXT2/EXT3文件的访问与日志文件系统的功能
VFS
文件系统的简单操作
磁盘与目录的容量:df、du
连接文件:ln
硬连接和复制的区别
磁盘的分区、格式化、检验与挂载
磁盘分区:fdisk
磁盘检查:fsck、badblocks
磁盘挂载与卸载:mount、umount
修改磁盘参数
设置开机挂载
交换分区(swap)的创建
在Linux中一块磁盘会被分成多个group族,一个group族的分区如下图所示:
系统中的文件信息都是存放在block块中的,super block中记录了block块的使用及剩余的情况;文件系统描述信息记录了文件系统的信息;块位图记录了当前的block块的使用及剩余情况;iNode位图中记录了那些iNode的使用情况;iNode表中记录了文件存放记录(类似于书本的目录)
查看文件block的iNode编号:ls -i /test/xx
注:i参数表示的iNode编号
查看一个文件所分布的block信息:filefrag -v install.log
在Linux中,当我们往block块中写入文件时系统首先会在iNode位图中寻找一个空的inode,然后将文件的属性写入到inode表中;然后系统会去查找块位图,根据块位图将文件写入到空白的block块中;之后系统会更新块位图和inode位图记录,最后更新super block;
ext3文件系统比ext2文件系统多了一个日志功能
日志功能:当写入文件的时候,突然出现断电的时候就会导致inode表中的记录来不及更新;有了日志功能之后,当下次开机的时候系统会自动检测进行到哪一步,从而继续更新inode表
查看日志:dumpe2fs /dev/sda1/ | more
Linux有很多的文件系统,如ext2、ext3、vfat等;当我们写了一个程序需要在文件系统中执行的时候,并没有考虑是否兼容不同的文件系统问题;这是因为用到了VFS,用户并不直接接触底层的文件系统,而是由VFS虚拟文件系统根据不同的需要自动选择调用何种文件系统
磁盘与目录的容量: df -hT
注:h参数表示显示单位;T参数表示显示文件系统的类型
查看文件夹大小:du -s /boot
注:s参数表示只查看文件夹的总大小;h参数表示显示单位
连接文件分为硬连接、软连接(就相当于快捷方式),其中硬连接是Unix和Linux中专有的一个概念,其它操作系统中没有
创建软连接:ln -s xx xx1
注:s参数表示软连接
创建硬连接:ln passwd aa
总结:硬连接相当于同一个文件,两个名字;而复制则是两个独立的文件
Inode是不能跨分区连接的
查看分区:fdisk -l
创建分区:fdisk /dev/sda
注:硬盘划分数量: 主分区 + 扩展分区 <=4,这是由于分区表中的64个字节,每标记一个主分区就会消耗16个字节,所以最多划分4个主分区;如果需要划分更多的分区,就需要划分一个扩展分区,然后在扩展分区中划分逻辑分区
注:扩展分区中只能划分逻辑分区,不能划分主分区;第一个逻辑分区默认是从5开始的;划分好的分区需要格式化,格式化之后还需要将分区挂载到目录中
创建完分区之后更新分区表:partprobe /dev/sda
格式化分区:mkfs –t ext3 /dev/sda3 或者 mkfs.ext3 /dev/sda3 (分区必须要格式化之后才能使用)
挂载分区:mount /dev/sda3 /mnt
硬盘自检:fsck -f -C /dev/sda5
注:f参数表示强制;C参数表示显示自检进度
检测磁盘坏道:badblocks -sv /dev/sda5
注:sv参数表示检测完成之后将结果显示在屏幕上
磁盘挂载
格式:命令 + 设备 + 目录
mount /dev/sda3 /mnt 将sda3分区挂载到/mnt目录下
mount –o remount , ro /mnt 以只读的方式重新挂载
mount –o remount , rw /mnt 以读写的方式重新挂载
mount –o remount , noexec /mnt 以无权限方式重新挂载
磁盘卸载
格式:命令 + 外部设备或者挂载点
umount /mnt
查看硬盘的操作参数:tune2fs –h
例如:
更改卷标:tune2fs –L xx /dev/sda5
更改最大挂载次数:tune2fs –c 100 /dev/sda5 (-C表示当前挂载了多少次)
修改50%预保留空间:tune2fs –m 50 /dev/sda5
设置开机自动挂载磁盘:gedit /etc/fstab
注:由于挂载磁盘只在一次生效,重启后就失效了,所以需要编辑etc文件夹下的fstab文件设置开机自动挂载磁盘
特殊设备loop挂载:mount –o loop xx.iso /mnt
注:镜像文件不刻录就挂载使用,挂载镜像一定要加loop
交换分区为的是解决早期内存太小的问题;早期内存太小无法运行大的程序,所以在硬盘中划分出一个交换分区作为内存使用(Windos中虚拟内存的概念)
查看交换分区:cat /proc/swaps
创建交换分区方法一:通过划分一个分区来创建swap分区
1、fdisk /dev/sda 先划分swap类型的分区
2、partprobe /dev/sda 更新分区表
3、mkswap /dev/sda6 格式化成交换分区
4、swapon /dev/sda6 激活分区 --对应的关闭为swapoff
注:如果需要开机就启用,同样需要在/etc/fstab中编辑
创建交换分区方法二:可以使用目录创建一个swap分区(适用于没有多余可用分区的情况)
1、dd if=/dev/zero of=file bs=1M count=100 创建一个100M的空间
2、mkswap file 格式化成交换分区
3、swapon file 激活分区
4、cat /proc/swaps 查看创建的交换分区
注:如果需要开机就启用,同样需要在/etc/fstab中编辑
注:dd if=/dev/zero of=file bs=1M count=100这个命令的意思是:在/dev下面的zero大小是无限的,创建一个文件file,用bs来定义zero的大小;count是代表个数;即用100个为1M的bs创建一个file文件
原创文章,转载请注明出处