关闭

磁盘及文件管理系统

标签: 文件系统
347人阅读 评论(0) 收藏 举报
分类:

MBR:主引导记录(512byte)
master boot record
main boot record
446bytes:bootloader,程序
64bytes:
16bytes:标示一个分区
2bytes:magic number
标示MBR是否有效

文件系统可以认为是一个管理软件:

 元数据存储区,  位图(index node :Inode(索引节点)):  存储;     块位图:bitmap (存储块是否已经被使用的)
  实际应用中:元数据存储区也会被分成块
  数据存储区:逻辑存储单元(存储块)
 dentry:目录像

链接文件:

硬链接,直接指向同一个Inode的不同路径.
    1. 只能对文件创建,不能应用于目录.
    2. 不能跨文件系统;
    3. 创建硬链接会增加文件被链接的次数.

符号链接,一个目录文件指向的Inode不是一个块的地址而是一个文件的路径.
1. 可应用于目录;
2. 可跨文件系统;
3. 不会增加被链接文件的链接次数;
4. 其大小为指定路径所包含字符的个数.

du:显示文件或目录总大小

-s:显示目录大小.
-h:大小单位换算.

df:显示整个磁盘的空间大小.

设备文件:

b:按块为单位,随机访问的设备;
c:按字符为单位,线性设备;
b:硬盘
c:键盘

/dev

主设备号(major number):
    标示设备类型
次设备号(minor number):
    标示同一类型的不同设备
mknod:
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
    -m指定访问权限:MODE
eg:mknod -m 640 mynod c 66 0 

硬盘设备的设备文件名:

  IDE,ATA:hd
  SATA:sd
  SCSI:sd
  USB:sd
    a,b,c,...来区别同一种类型下的不同设备
IDE:
    第一个IDE口:主,从
        /dev/hda,/dev/hdb
    第二个IDE口:主,从
        /dev/hdc,/dev/hdd

sda,sdb,sdc,...

hda:
    hda1:第一个主分区
    hda2:
    hda3:
    hda4:
    hda5:第一个逻辑分区

查看当前系统识别了几块硬盘:
    fdisk -l [ /dev/to/some_device_file ]

管理磁盘分区:

fdisk /dev/sda:
    P:显示当前硬盘的分区,包括没保存的改动
    n:创建新分区
        e:扩展分区
        p:主分区
    d:删除一个分区
    w:保存退出
    q:不保存退出
    t:修改分区类型
        L:
    l:显示所有支持的类型
 partprobe:通知内核刷新分区表

格式化:

低级格式化:创建磁道
高级格式化:创建文件系统  

VFS:virtual file system (内核中的模块)
中间的空条就是VFS
正是因为linux下的VFS才能使linux能够兼容下面这么多的文件系统.
常用的文件系统:

  FAT32:vfat
  NTFS
  ISO9660
  CIFS:通用互联网文件系统
  ext2
  ext3
  ext4
  xfs
  reiserfs
  jfs

linux网络文件系统:
nfs:
ocfs:
gfs2:

EXT3

较ext2多了日志区

文件系统管理器

重新创建文件系统会损坏原有文件系统

mkfs:make file system
    -t FSTYPE
mkfs -t ext2=mkfs.ext2
mkfs -t ext3=mkfs.ext3

专门管理ext系列文件系统:
mke2fs
    -j:创建ext3类型文件系统
    -b BLOCK_SIZE:指定块大小,默认为4096 ,可取数值为1024,2048,4096
    -L LABLE:指定卷标
    -m #:指定与留给超级用户的块数百分比
    -i #:用于指定为多少字节的空间创建一个inode,默认为8192,这里给出的应该是2^n.

fsck:

挂载:将新的文件系统关联至当前根文件系统

卸载:将某文件系统与当前文件系统的关联关系予以移除

创建文件系统相当于快速格式化.

mount:挂载

mount 设备 挂载点

    设备:
        设备文件:/dev/sda5
        卷标:LABLE=""
        UUID=""
    挂载点:目录
        要求:
            1. 此目录没有被其他进程使用
            2. 目录得事先存在
            3. 目录中原有的文件将会暂时隐藏

mount:显示当前系统已挂载的设备和挂载点
mount [option] [-o options] DEVICE MOUNT_POINT
    -a:表示挂载/etc/fstab文件中定义的所有文件系统
    -n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件中;使用-n后,不把挂载的设备信息写入/etc/mtab文件;
    -t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应的文件系统类型;
    -r:只读挂载,挂载光盘时常用选项
    -w:读写挂载

    -o:指定额外的挂载选项,也指定文件系统的启动属性
        loop:挂载本地回环设备
        remount:重新挂载当前文件系统
        ro:只读挂载
        rw:读写挂载

挂载完成后,要通过挂载点访问对应的文件系统

umount:卸载文件系统
    umount 设备
    umount 挂载点

卸载注意事项:挂载的设备没有进程正在使用

swap分区:

free:查看当前系统上物理内存和交换空间的使用情况
mkswap:创建swap分区
swapon : 启用交换分区
    -a:启用所有定义在/etc/fstab 文件中的设备
swapoff: 停止交换分区

回环设备:

loopback,使用软件来模拟实现硬件
mount命令,可以挂载iso镜像文件:$:mount -o loop ios文件 MOUNT_POINT
创建一个120G的分区

dd命令:
    if:指定来源
    of:数据存储目标
    bs=1:以一个字节为单位
    count=2:复制两个单位
    seek=#:创建数据文件时,跳过的空间的大小;

dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
赋值磁盘映像:
    cat /dev/cdrom > /root/rhe15.iso
    dd if=/dev/cdrom of=/root/rhe15.iso



dd与cp的不同:
    cp是以文件为单位复制的,需要经过VFS.
    dd是在底层复制的,不经过VFS.

文件系统配置文件:/etc/fstab

os在初始时,会自动挂载次文件中定义的每个文件系统

格式:
    要挂载的设备  挂载点  文件系统类型  挂载选项  存储频率(每多少天做一次完全备份)  文件系统检测次序(只有根可以为1)

fuser: 验证进程正在使用的文件或者套接字文件

-v:查看某文件上正在运行的进程
-k:
-m:
fuser -km MOUNT_POINT :终止正在访问该挂载点的所有进程
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:54265次
    • 积分:1702
    • 等级:
    • 排名:千里之外
    • 原创:114篇
    • 转载:35篇
    • 译文:0篇
    • 评论:3条
    最新评论