码迷,mamicode.com
首页 > 其他好文 > 详细

磁盘及文件系统管理

时间:2015-04-20 19:08:34      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:磁盘 文件系统

ln [ -s -v] SRC DEST

硬连接:

    1、只能对文件创建,不能应用于目录

    2、不能跨文件系统

    3、创建硬连接会增加文件被连接的次数

符号连接:

    1、可应用于目录

    2、可以跨文件系统

    3、不会被增加被连接的次数

    4、其大小为为指定的路径所包含的字符个数

du命令:

    -s 查看目录包含目录下文件的大小

    -h 做单位换算,默认为M

df命令:显示磁盘使用大小

    -h 做单位换算,默认为M

    -i 显示Inode的使用情况

    -P 使用postfix风格显示

设备文件:

    b:设备,按块为单位,随机访问的设备

    c:字符,按字符为单位,线性设备,有次序的访问

    b:硬盘

    c:键盘

  设备文件都在/dev目录

     主设备号

        标识设备类型(major number)

    次设备号

        标识同一种类型中不同设备(minor number)

    不真正占用磁盘空间,存储在inode中

mknod命令:创建设备文件

    mknod [OPTIAN]...NAME TYPE [MAJOR MINOR]

    mknod mydev c 66 0

    -m [MODE]权限

        mknod -m 640 mydev2 c 66 1

硬盘设备的设备文件名:

    IDE,ATA:HD开头

    SATA:sd开头

    SCSI:sd开头

    USB:sd开头

       使用a,b,c...来区别同一种类型下的不同设备

    IDE:

        第一个IDE口:主、从    

            /dev/hda, /dev/hdb

        第二个IDE口:主、从

            /dev/hdc, /dev/hdd

分区编号:

    hda1:第一个主分区

    hda5:逻辑分区,分区号只能从5开始

查看当前系统识别了几块硬盘设备:

fdisk 磁盘查看工具

    -l    

    fdisk -l [/dev/to/some_device_file]

    p:显示当前硬盘的分区,包括没保存的改动

    n:创建新分区

        e:扩展分区

        p:主分区

    d:删除一个分区

    w:保存退出

    q:不保存退出

    t:修改分区类型

        L:显示分区类型

    l:显示分区类型

创建和删除后,内核还无法识别,需要内核重读硬盘分区表,使用partprobe命令,将分区表写入/proc/partitions

管理磁盘分区:

linux支持的文件系统

   文件系统:ext2 ext3 ext4

   网络文件系统:nfs ocfs32(集群使用) gfs2 全局文件系统    


vfs:virtual filesystem,提供支持多种文件系统


linux创建文件系统

    mkfs -t ext3



元数据:

    超级块:super blcok,包含如下:内容

        1、有多少块组,

        2、每个块组包含多少块,

        3、块大小,

        4、空闲磁盘块,已用磁盘块, 空闲inode,已用inode

    块组描述符表(GDT):

        1、当前系统有多少块组, 块组的起始位置,块组名

磁盘分区的逻辑组成部分:技术分享

目录表组成部分

技术分享

inode组成部分:

技术分享

ext3与ext2的区别:

    日志文件系统(journal file system)


文件系统管理:

    1、重新创建文件系统

     /proc/filesystems :查看当前内核所支持文件系统类型   

    mkfs:make file system

        -t filesystemtype /dev/sdb2

    mkfs.ext4 /dev/sdb2

    mke2fs命令:管理ext系列文件系统

        -j:创建ext3类型文件系统

        -b BLOCK_SIZE:指定块大小, 默认为4096,可用取值为:1024,2048,4096    

            -b 2048 /dev/sdb2(使用方法)

        -L LABEL:指定分区卷标

        -m #:指定预留给超级用户的块数百分比

        -i 用于指定为多少字节的空间创建一个inode,默认为8192,这里给出的数值应该为块大小的            2n^倍

        -n 指定要创建inode的个数

        -F:强制格式化

        -E:用于指定额外的文件系统属性

    blkid命令:

        查询或查看磁盘设备的相关属性

        UUID

        TYPE

        LABEL

    e2label:查看或定义卷标

        e2label 设备文件,卷标    

    tune2fs :调整文件系统的相关属性

        -j:不损害原有数据,将ext2升级为ext3

        -L LABEL:设定或修改卷标

        -m #:指定预留给超级用户的块数百分比

        -r #:指定预留给超级用户的块数

        -o:设定默认挂载选项

            acl

        -c #:指定挂载多少次进行自检,0或-1表示关闭此功能

        -i #:每挂载使用多少天后进行自检,0或-1表示关闭此功能

        -l:显示超级块中的信息 tune2fs -l /dev/sda1

    dumpe2fs:显示文件属性信息

        -h 只显示超级块信息

    fsck:检查并修复linux文件系统

        -t FSTYPE :指定文件系统类型

        -a:自动修复

    e2fsck:专用检查并修复linux文件系统

        -f 强制选项

        -p 自动修复

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

卸载:将某文件系统从当前根文件系统的关联关系移除

    mount:

    mount 设备 挂载点

        设备:设备文件:/dev/sda5

              卷标:LABEL=""

              UUID:UUID=""

        挂载点:目录

            要求:

                1、此目录没有被其它进程使用

                2、目录得事先存在

                3、目录中的原有的文件将会暂时隐藏

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

卸载:

    umount 设备

    umount 挂载点

    卸载注意事项:

        1、挂载的设备没有进程使用;

mount [options] [-o options] DEVICE MOUNT_POINT

    -a:表示挂载/etc/fstab文件中定义的所有文件系统

    -n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件,使用-n        选项意味着挂载设备时,不把信息写入此文件

    -t FSTYPE:指定正在挂载设备上的文件系统的类型,不使用些选项时,mount会调用blkid命令获取               对应文件系统的类型

    -r:只读挂载

    -w:读写挂载   

    -o:指定额外的挂载选项,也即指定文件系统启用的属性;

       async:异步写入

       atime,在高访问的时候,可以关闭atime功能 

       netdev,在启动如果连接不上网络映射的盘, 就停止挂载其网络系统

       remount 重新挂载当前文件系统

       ro:挂载为只读

       rw:读写挂载

mount -o remount,ro /dev/sdb1 重装挂载并以只读方式

磁盘及文件系统管理

标签:磁盘 文件系统

原文地址:http://leozhenping.blog.51cto.com/10043183/1636009

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!