Linux 文件系统管理
磁盘管理:
一.基础知识
机械式硬盘:
U盘,光盘,软盘,硬盘,磁盘
磁盘的低级格式化:划分磁道
扇区是最小的物理存储单位
柱面是分区最小的单位
分区:用于创建独立的文件系统
MBR:Master Boot Record 主引导记录(512byte 0磁道0扇区)
0-446 boot loader 引导加载器,引导操作系统启动
64 :每16个字节标识一个分区
所以硬盘上只能划分4个主分区
扩展分区:里边有指针,指向磁盘上另外的额外空间
磁盘按柱面进行分区
2 :魔数 标记MBR是否有效
笔记本 5400 r/min 台式机 7200 r/min
磁道越靠外越快,C盘一般在最外边然后是D盘
鸟哥Linux198-
二.特殊文件
1.连接文件
1)硬连接
/backup/a/m.txt
/backup/b/n.txt 指向同一个inode 直接指向同一个inode的不同路径
ls -l 下是硬连接的次数
1.只能对文件创建,不能对目录,目录的硬连接为2
2.不能垮文件系统
3.创建硬连接增加文件的硬连接的次数
2)符号连接
磁盘块中存储的是另一个文件的路径,大小为字符个数
权限取决于指向的文件的权限
1.可以实现在目录上
2.可以垮文件系统
3.不会增加被连接文件的连接次数
4.大小为指向路径包含字符的个数
ln SRC DEST(连接文件)
-s 软连接
du 显示目录的大小 man一下du
-a 显示整个目录中文件的大小
-c 先显示每个文件的大小在显示整个目录的大小
-h 带单位显示
-s 只显示整个目录大小
df 报告整个磁盘分区使用
-h 改变单位显示
-i 显示磁盘的inode使用情况
-P 显示结果不换行
2.设备文件
b:按块为单位进行随机访问
c:按字符为单位进行访问
b:硬盘
c:键盘
/dev文件的字段含义
两个数字主设备号(major number) 标识设备类型
次设备号(minor number) 标识同一种类型中的不同设备
mknod 创建块或者字符设备文件
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
mknod mydev c 66 0
mknod -m 640 mydev c 66 1
硬件通过设备号连接到系统中
echo “hello” >> /dev/pts1
硬盘设备的设备文件名
IDE ATA:/dev/hd
SATA:sd
SCSI:sd
USB:sd
a,b,c区别同一类型下的不同设备
3.IDE :
第一个IDE口:主从
/dev/hda /dev/hdb
第二个IDE口:主从
/dev/hdc /dev/hdd
磁盘分区
hda1第一个主分区
hda2
hda3
had4
hda5第一个逻辑分区
查看当前系统所有磁盘
fdisk -l [/dev/设备]
管理磁盘分区
fdisk /dev/sda
p 显示当前磁盘分区
n 创建新分区
e 扩展分区
p 主分区
d 删除分区
w 保存退出
q 不保存退出
t 修改分区类型 文件系统类型
L :显示文件系统类型
l 显示支持所有类型
/proc/partitions 内核重读才能识别
Linux 支持的文件系统
二.文件系统
格式化:低级 创建磁道
高级 创建文件系统
VFS:虚拟文件系统,提供不同文件系统的接口
光盘文件系统 ISO9660
网络文件系统CIFS
扩展文件系统 ext2 ext3 ext4
cat /proc/filesystems 显示系统支持的文件系统
1.文件系统管理
1)创建文件系统
通用命令:
mkfs:make file system
-t FSTYPE 分区
mkfs -t ext2=mkfs.ext2
mkfs -t ext3=mkfs.ext3
专门用于ext文件的命令
mke2fs
-j ext3
-b 指定块大小 默认为4096,可取值为1024、2048
-L LABLE :指定分区的卷标
-m # 不加%:预留给超级用户的块数百分比
-N inode个数
-i # 为多少字节的空间创建一个inode 默认为8192,应该是块大小的2的n次方倍
-F 强行创建
-E 额外的文件系统属性
2)查看文件系统属性
blkid 设备 查看磁盘设备相关属性
- /dev/sda5
UUID 每个分区只有一个
TYPE 文件系统类型
LABLE
e2label 查看、设定卷标
e2label 设备文件 卷标:设定卷标
dumpe2fs 显示超级块信息
-h 只显示超级块信息头部 与 tune2fs -l 显示的信息一样
3)调整文件系统属性
tune2fs :调整文件系统属性
-j 无损创建 创建ext3
-L 设定卷标
-m 调整预留百分比
-r # 指定预留百分比
-o :设定默认挂载信息
acl
-c # 指定达到挂在次数以后进行自检,0或-1关闭此功能
-i # 每挂载多少天后进行自检,,0或-1关闭此功能
-l 显示超级块信息
4)自检
fsck:检查并修复Linux文件系统
-t FSTYPE 指定文件系统类型
-a 自动修复
e2fsck 专用于修复ext2 ext3 文件系统
-f 强制检查
-p 自动修复 也可使用 -a
三、文件系统的挂载卸载
挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前根文件系统的关联关系解除
1.mount:挂载
mount 设备 挂载点
说明:设备
设备文件:/dev/sda5
卷标:LABEL=MYDATA
UUID=
挂载点:目录
要求:
1.此目录没有被其他进程使用
2.目录事先存在
3.目录中的原有文件将会暂时隐藏
挂载完成的目录中有lost+found
mount 显示当前系统中已经挂在的设备及设备点
-a 挂载 /etc/fstab文件中定义所有的文件系统
-n 默认情况下,mount命令每挂载一个设备,都会把信息写在/etc/mtab文件 -n 表示不写入文件
-t FSTYPE 指定正在挂载设备上的文件系统类型,不使用此选项,mount调用blkid获取文件系统类型
-r 只读挂载
-w 读写挂载
-o 指定额外的挂在选项,指定文件系统启用的属性
asysc 异步写入
remount 重新挂载
ro :挂载为只读
mount命令,可以挂载iso镜像
mount device 挂在点
mount -o loop 挂载本地回环设备
2.umount :卸载某文件系统
umount 设备
umount 挂载点
注意:设备不能正在使用中
3. 设置配置文件,永久挂载文件
文件系统的配置文件 /etc/fstab 系统启动时自动挂载此文件中定义的挂载
格式
要挂载的设备 挂载点 文件系统类型 挂载选项默认defaults 转储频率 多长时间坐一次完全备份 0不备份 文件系统检测次序 一般说来只有根为1,其他可以同时为2 0 表
示不检查
mount -a 挂载 /etc/fstab文件中的所有文件
fuser -v 挂载点 看谁在使用挂载文件,验证进程正在使用的文件或套接字文件
-k -m 将挂在点上的进程结束,终止正在访问此挂在点的所有进程
四.交换分区

1.free 查看当前系统物理内存和交换分区使用
-m 以M为单位显示
2.创建交换分区
1)fdisk 创建交换分区
fdisk /dev/sda
t
82
2)改变分区类型
mkswap /dev/sda8
-L label
3)swapon /dev/sda8 启动
-a 启用所有交换设备/etc/fstab的交换设备
swapoff /dev/sda8 关闭
3.利用回环文件创建交换分区
1)loopback 使用软件模拟硬件
2)创建一个镜像文件,1G 当做分区使用
cp 通过VFS读取到内存,在转移到另外一个位置
dd命令 :复制文件,直接复制底层的数据流,直接复制底层的01代码不需要vfs
dd if=/etc/inittab of=/root
if 数据来源
of 数据的存储目标
bs=1字节 单位
count=2 几个bs单位
seek 跳过bs个单位 虚拟出了 du -sh /var/swapfile 显示实际大小
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1 备份mbr
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1 还原
dd if=/dev/zeros of=/var/swapfile bs=1024 count=1 创建一个回环文件
swapon /var/swapfile

浙公网安备 33010602011771号