04_磁盘与文件系统

编程入门 行业动态 更新时间:2024-10-28 18:24:15

说明:

本博客主要包括磁盘分区和文件系统,磁盘(U盘)挂载等(2017-02-28)

一.磁盘分区

1.IDE

一个IDE接口可以接两个IDE设备,主机通常有两个IDE接口

     Master        Slave

IDE1    /dev/hda    /dev/hdb

IDE2    /dev/hdc   /dev/hdd

 

2.SATA

/dev/sd[a-p]

文件名根据linux内核检测到的测盘顺序

 

3.磁盘组成

主引导分区(MBR): 安装引导加载程序的地方,有446bytes

分区表:      记录整块硬盘分区状态,有64bytes

 

4.磁盘分区表

(1).分区只针对64bytes来进行设置

(2).默认分区表仅能写入四组分区信息

(3).四组分区信息称为主分区和扩展分区

(4).分区最小单位为柱面

(5).逻辑分区由扩展分区分出来,因此使用的柱面范围为整个扩展分区

(6)./dev/hda1-4:主分区或者扩展分区,没有就隔过去

/dev/hda5-:  逻辑分区

IDE:     /dev/hd[a-d][5-63]

SATA:  /dev/sd[a-p][5-15]

 

二.EXT2文件系统

1.文件系统

super block:  文件系统的整体信息 block,inode的数量,大小等 大小为1024bytes

block:       记录文件内容,文件太大占用多个block 1k,2k,4k三种大小

inode:       记录文件属性,一个文件占用一个inode,同时记录此文件数据所在的block号码

每个inode大小为128bytes

12个直接,一个间接,一个双间接,一个三间接记录区 16GB


dumpe2fs [-bh] 设备文件名   查询文件系统信息

df       调出当前挂载的设备

dumpe2fs /dev/sda12

ls -li    显示inode号码

ll -d    显示大小

 

2.挂载点(mount point)

挂载点一定是目录,该目录实际是该文件系统的入口

ls -lid /   /home /boot

 

3.其他文件系统

ls -l /lib/modules/$(uname -r)/kernel/fs    查看linux支持的文件系统

cat /proc/filesystems            查看目前加载到内存中支持的文件系统

通过VFS(virtual filesystem switch)的内核功能读取文件系统

 

三.文件系统的简单操作

1.磁盘与目录容量:df,du

df :   列出文件系统的整体磁盘使用量

du:     评估文件系统的磁盘使用量


df [-ahikHTm] 目录或文件

-h 以GB,MB,KB显示

-i 以inode数量表示,而不是硬盘容量

df -h /etc

 

 

du [-ahskm] 文件或目录

-s    列出总量,并列出每个个别目录占用量

du:  列出当前目录下所有目录,但是不会显示文件容量

du -a 同时将文件的容量也列出来

du -sm /* 检查根目录目录下每个目录所占用的容量

du -sb 计算该目录下有多少bytes     du -sb -h ~/

 

2.连接文件 ln

硬连接产生新文件名而不是新文件

多个文件名对应一个inode

本质:在某个目录下的block写入一个关联数据,不会改变inode和block数量

不能跨文件系统,不能连接到目录

ln filename linkfile 创建实际连接

ll -i filename linkfile

 

符号连接(symbolic link) 快捷方式

创建独立文件,该文件让数据读取指向它连接的那个文件的文件名

ln -s 123 123.link 123.link -> 123


创建连接文件

ln [-sf] 源文件 目标文件

-s 快捷方式,不加则是硬连接

-f 目标文件存在,删除目标文件后重新创建

 

3.磁盘分区,格式化,检验与挂载

(1).磁盘分区:fdisk

fdisk [-l] 设备名称

fdisk -l   查阅目前系统的分区

df /   查看挂载

fdisk /dev/sda(没有数字)

m:帮助

d:删除一个分区

n:增加一个分区

p:打印分区表

q:退出不保存

w:保存退出

 

 

 

(2).磁盘格式化

mkfs [-t 文件系统格式] 设备文件名

-t 可接受文件系统格式

 

mkfs -t ext3 /dev/sd13   将/dev/sd13格式化为ext3格式

 

 

(3).磁盘检查 fsck badblocks

fsck [-t 文件系统] [-ACay] 设备名称   检查文件系统是否出错

-C:扫描过程用直方图显示进度

-a:自动修复检查到有问题的扇区

-f:强制检查

-D:针对文件系统下的目录进行优化配置

 

fsck -C -f -t ext3 /dev/sda12

 

badblocks -[svw] 设备名称    检查硬盘是否有坏轨

-s: 屏幕上列出进度

-v: 屏幕上看到进度

-w: 适用写入的方式来测试

 

badblocks -sv /dev/sda

 

4.磁盘挂载与卸载

空目录挂载,如果非空,挂载后原目录文件消失

挂载 mount

mount -a  依照配置文件将所有未挂载的磁盘都挂载上来

mount -l    显示挂载信息

mount [-t 文件系统] [-L label名] [-o 额外选项] [-n] 设备文件名 挂载点

-L:(1)/dev/sda12 (2)利用文件系统的卷标名

-o: ro,rw:只读或者只写

async,sync:同步写入或是异步写入 默认异步

auto ,noauto:是否允许以mount -a挂载

dev,nodev:是否可创建设备文件

user,nouser:是否允许次分区让任何用户执行mount

defaults:rw,dev,exec,auto,nouser,ayync

remount:重新挂载,系统出错时很有用


挂载U盘:

[NTFS???]mount -t fuseblk /dev/sdb1 usb/

自动挂载在/media/zhao/文件夹下

 

 

卸载 umount

umount 设备文件名或者挂载点

umount /usb

umount /dev/sdb1

 

5.磁盘参数修改

 

(1).mknod 修改主次设备代码

ll /dev/sda* (Major,Minor) Major:8 Minor:1,2,5...

mknod 设备文件名 [bcp] [Major] [Minor]

b:设置设备名称成为一个外部存粗设备

c:输入输出设备

p:FIFO文件

Major:主设备代码

Minor:次设备代码

mknod /dev/sda12 b 22 10

 

 

(2).e2label 修改label名

e2label 设备名称 新名称

dumpe2fs -h /dev/sda12 查看卷标名称

e2label  /dev/sda12  "my_test"

转载于:https://wwwblogs/Little-Zhao/p/6479091.html

更多推荐

04_磁盘与文件系统

本文发布于:2023-06-13 20:29:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1401826.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件系统   磁盘

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!