文件系統管理及相關命令

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 : 可自動掛載定義在此文件中的所支持自動掛載的設備;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章