文件系统管理及相关命令

fdisk命令:

                1.      -l :查看磁盘的分区信息;
                                [root@itxuezhe ~]# fdisk -l   :列出指定磁盘设备上的分区情况;

                2.      管理分区:
                                [root@itxuezhe ~]# fdisk /dev/vda

                                fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有自接同步到磁盘,自到使用w命令保存至磁盘上;

            常用选项:

                            n:创建新分区
                            d:删除已有分区
                            t:修改分区类型
                            l:查看所有已知ID
                            w:保存并退出
                            q:不保存并退出
                            m:查看帮助信息
                            p:显示现有分区信息

注意:在已经分区并且已经挂载其中某给分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别;

    查看被系统识别到的分区:
                [root@itxuezhe ~]# cat /proc/partitions 

    通知内核强制重读磁盘分区表:
                    CentOS 5 : partprobe [device]
                    CentOS 6,7: partx, kpartx
                                    [root@itxuezhe ~]# partx -a /dev/sda
                                    [root@itxuezhe ~]# kpartx -af /dev/sda

文件系统管理及相关命令



分区创建工具: parted, sfdisk;

    创建文件系统:
                        格式化:低级格式化(分区之前进行,划分磁道),高级格式化(分区之后对分区进行,创建文件系统)

                        元数据区,数据区

                                        元数据区:
                                                    文件元数据:inode (index node)
                                                        大小,权限,属主属组, 时间戳,数据块指针,

                                        符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;
                                        设备文件:存储数据指针的空间当中存储的是设备号(major,minor);

                bitmap index: 位图索引

    VFS:Virtual File System
                虚拟文件系统(VFS)

                Linux的文件系统:ext2, ext3, ext4, xfs, reiserfs, btrfs;
                光盘:iso9660
                网络文件系统:nfs, cifs
                集群文件系统:gfs2, ocfs2
                内核级分布式文件系统:ceph
                windows的文件系统:vfat, ntfs
                伪文件系统:proc, sysfs, tmpfs, hugepagefs
                unix的文件系统:UFS,FFS,JFS
                交换文件系统:swap
                用户空间的分布式文件系统:mogilefs, moosefs, glusterfs

文件系统管理工具:
创建文件系统的工具
mkfs:
mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ....
检测及修复文件系统的工具
fsck:
fsck,ext2, tune2fs
调整文件系统特性:
tune2fs

            链接文件:访问同一个文件不同路径;
                    硬链接:指向同一个inode的多个文件路径;
                                特性:
                                        1.目录不支持硬链接;
                                        2.硬链接不能跨文件系统;
                                        3.创建硬链接会增加inode引用计数;

                                    创建硬链接文件:    
                                        [root@itxuezhe ~]# ln fstab fstab.hello

                    符号链接:指向一个文件路径的另一个文件路径;
                                    特性:
                                            1.符号链接与文件是两个各自独立的文件,各有自己的inode;对原文件创建符号链接不会增加应用计数;
                                            2.支持对目录创建符号链接,可以跨文件系统;
                                            3.删除符号链接文件不影响原文件,但删除原文件,符号指定的路径即不存在,此时会变成无效链接;

                                            创建符号链接文件:
                                            [root@itxuezhe ~]# ln -s fstab fstab.file
                                                        -v:verbose
                实例:                         
                                        [root@itxuezhe ~]# ls -l
                                        total 40
                                        -rw-r--r-- 2 root root   330 Feb 25 19:38 fstab
                                        lrwxrwxrwx 1 root root     5 Feb 27 20:00 fstab.file -> fstab

                实例:
                                        [root@itxuezhe ~]# ln -sv fstab fstab.www
                                        ‘fstab.www’ -> ‘fstab’

            CentOS 6如何使用xfs文件系统:创建:mkfs.xfs

                                    [root@centos6 ~]# yum install xfsprogs
                                    [root@centos6 ~]# mkfs.xfs

                            创建:mkfs.xfs
                            检测:fsck.xfs

内核级文件系统的组成部分:
文件系统驱动:由内核提供
文件系统管理工具:由用户空间的应用空间的应用程序提供

        ext系列文件系统的管理工具:
                    mkfs.ext2   mkfs.ext3   mkfs.ext4

                    mkfs -t ext2 = mkfs.ext2

            ext系列文件系统专用管理工具:mke2fs

                    mke2fs命令:

                                        选项:
                                                -t {ext2 | ext3 | ext4}:指明要创建的文件系统类型
                                                            mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4
                                                -b {1024 | 2048 | 34096}:指明文件系统的块大小;
                                                -L LABEL:指明卷标;
                                                -j : 创建有日志功能的文件系统ext3;
                                                                mke2fs -j = mkfs.ext3 = mkfs -t ext3= mke2fs -t ext3
                                                -i  #:byte-per-inode,指明inode与字节的比率;即每多少字节创建一个indode;
                                                -N #:自接指明要给此文件系统创建的inode的数量;
                                                -m #:指定预留的空间,百分比;

                                                -O[^]FEATURE: 以指定的特性创建目标文件系统;

                            实例:
                                    [root@itxuezhe ~]# mke2fs -t ext3 -L MYDATA -b 1024 /dev/sda
                            查看:
                                    [root@itxuezhe ~]# blkid /dev/sda

e2label命令:卷标的查看与设定
查看:[root@itxuezhe ~]# e2label /dev/vda
设定:[root@itxuezhe ~]# e2label /dev/vda LABEL


tune2fs命令:查看或修改ext系列文件系统的某些属性
tunable filesystem parameters on ext2/ext3/ext4 filesystems

            注意:块大小创建后不可修改;

            [root@itxuezhe ~]# tune2fs -l /dev/vda

            选项:
                    -l : 查看超级块的内容;

                    修改指定文件系统的属性:
                            -j :ext2 --> ext3
                            -L LABEL:修改卷标;
                            -m # :调整预留空间百分比;
                            -O [^]FEATHER:开启或关闭某种特性;
                                            [root@itxuezhe ~]# tune2fs -O ^has_journal /dev/sda
                                            #关闭日志功能
                            -o [^] FEATHER:开启或关闭某中默认挂载选项;
                                                acl
                                                ^acl
                                            [root@itxuezhe ~]# tune2fs -o acl /dev/sda


dumpe2fs命令:显示ext系列文件系统的属性信息
dumpe2fs [-h] device

fsck命令:用于实现文件系统检测的工具

                            因进程意外中止或系统崩溃等原因导致定期操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统;建议,离线进行;

ext系列文件系统的专用工具:
check a Linux ext2/ext3/ext4 file system

            e2fsck [OPTIONS] device

                    选项:
                            -y:对所有问题自动回答为yes;
                            -f:即使文件系统处于clean状态,也要强制进行检测;

        实例:

                [root@itxuezhe ~]# e2fsck -f /dev/sda1

fsck命令:
check and repair a Linux filesystem

            选项:
                -t fstype:指明文件系统类型;
                        fsck -t ext4 = fsck.ext4
                -a:无需交互而自动修复所有错误;
                -r:交互式修复;

blkid 命令:
blkid device
blkid -L LABEL:根据LABEL定位设备
blkid -U LABEL:根据LABEL定位设备


swap文件系统:

                linux上的交换分区必须使用独立的文件系统;
                            且文件系统的sytem ID必须为82;

创建swap设备:mkswap命令
                        mkswap [OPTIONS] device

                        选项:
                                -L LABEL : 指明卷标
                                -f :强制

windows无法识别linux的文件系统:因此,存储设备需要两种系统之间交叉使用时,应该使用windows和linux同时支持的文件系统:fat32(vfat);
#mkfs.vfat device


        文件系统的使用:
                        首先要“挂载” : mount命令和umount命令

            根文件系统之外的其它文件系统要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载” ;此目录即为“挂载点”;

                挂载点:mount_point,用于作为另一个文件系统的访问入口;
                            1.事先存在;
                            2.应该使用未被或不会被其它

mount命令:

            选项:
                    -r : readonly,只读挂载;
                    -w: read and write, 读写挂载;
                    -n :默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中, -n用于禁止此特性;
                    -t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;

                    -L LABEL:挂载时以卷标的方式指明设备;
                                [root@itxuezhe ~]# mount -L LABEL /dev/sda

                    -U UUID: 挂载时以UUID的方式指明设备;
                            [root@itxuezhe ~]# mount -U d67c3b17-255b-4687-be04-f29190d37396 /mnt

                    -o options:挂载选项
                                sync/async :同步/异步操作;
                                atime/noatime: 文件或目录在被访问时是否更新其访问时间戳;
                                diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
                                remount:重新挂载;
                                acl:支持使用facl功能;
                                            [root@itxuezhe ~]# mount -o acl device
                                            [root@itxuezhe ~]# tune2fs -o acl device

                                    ro:只读
                                    rw:读写
                                    dev/nodev:此设备上是否允许创建设备文件;
                                    exec/noexec:是否允许运行此设备上的程序文件;
                                    auto/noauto:
                                    user/nouser:是否允许普通用户挂载此文件系统;
                                    suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;

            一个使用技巧:

                                可以实现将目录绑定至另一个目录上,作为其临时访问入口;
                                         ~]# moount -- 源目录 目标目录
                            [root@itxuezhe ~]# mount --bind /etc /mnt

查看当前系统所有已挂载的设备:
~]#mount
~]#cat /etc/mtab
~]#cat /proc/mounts

挂载光盘:
        ~]#mount -r /dev/cdrom  mount_point

        光盘设备文件:/dev/cdrom, /dev/dvd

        挂载U盘:
                    事先识别U盘的设备文件;

    挂载本地的回环设备:
                                                                                            挂载设备                    
                #mount  -o  loop  /PATH/TO/SOME_LOOP_FILE   MOUNT_POINT

umount命令:

            umount devic | dir

        注意:正在被进程访问到的挂载点无法被卸载;
                    查看被哪个或哪些进程所占用;
                                #lsof MOUNT_POINT
                                #fuser -v MOUNT_POINT

                    终止所有正在访问某挂载点的进程;
                    #fuser -km MOUNT_POINT

交换分区的启用和禁用:
创建交换分区的命令:mkswap

                启用:swapon
                        swapon [][]
                                -a : 定义在/etc/fstab文件中的所有swap设备;

                    禁用:swapoff
                                swapoff DEVCE

设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件
每行定义一个要挂载的文件系统及相关属性:
6个字段:
1.要挂载的设备:
设备文件:
LABEL
UUID
伪文件系统:如sysfs, proc, tmpfs等
2.挂载点
swap类型的设备的挂载点为swap;
3.文件系统类型;
4.挂载选项
defaults:使用默认挂载选项;
如果要同时指明多个挂载选项,彼此间以事先分隔;
defaults,acl,noatime,noexec
5.转储频率
0:从不备份;
1:每天备份;
2:每隔一天备份;
6.自检次序;
0:不自检;
1:首先自检,通常只能是根文件系统可用1;
2:次序自检;

                    mount  -a : 可自动挂载定义在此文件中的所支持自动挂载的设备;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章