Linux初級運維(十二)——磁盤及文件系統管理

一、磁盤管理

       1、 機械式硬盤:

            U盤、光盤、軟盤、硬盤、磁帶

       2、 格式化:(Partition) 創建文件系統

        MBR:主引導記錄 (512byte)

             Master Boot Record

             Main Boot Record

                 446bye:BootLoader, 是一個程序。引導加載器

                  64bytes:

                     16bytes:標識一個分區

                   2bytes:Magic Number

                        標記MBR是否有效。

    3、硬連接和符號連接

        硬連接:是指兩個存儲塊指向一個引導號

        符號連接:(又叫軟連接)是指一個文件指向另外一個文件

        創建連接  :ln [-s -v]  SRC (源文件)  DEST(目標文件)

           ln SRC   DEST   硬連接

            ln -s SRC DEST  軟連接

        硬鏈接特點:    

                1、只能對文件創建,不能應用於目錄;

                2、不能跨文件系統;

                3、創建硬鏈接會增加文件被鏈接的次數;


        符號鏈接:

                1、可應用於目錄;

                2、可以跨文件系統;

                3、不會增加被鏈接文件的鏈接次數;

                4、其大小爲指定的路徑所包含的字符個數;

du:

    -s  查看文件的大小


    -sh  查看目錄的總容量


df : 顯示整個磁盤的分區情況

            image.png    

        image.png

        df -p -i

二、設備文件

        b:塊設備   按塊爲單位,隨機訪問的設備  (硬盤)

        c:字符設備   按字符爲單位,線性設備  (鍵盤)

        /dev 

            主設備號:(major number)   標識設備類型

            次設備號:(minor number)   標識同一種類型中不同設備


        mknod

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

            -m MODE


            硬盤設備的設備文件名:

            IDE,ATA: hd

            SATA:sd

            SCSI:sd

            USB:sd        

                    a,b,c,...  來區別同一類型下的不同設備

            IDE:

                    第一個IDE口:主、從

                            /dev/hda  , /dev/hdb

                    第二個IDE口:主、從

                            /dev/hdc , /dev/hdd


          hda:

                hda1:第一個分區

                hda2:第二個分區

                hda3:第三個分區

                hda4:

                hda5:第一個邏輯分區


查看當前系統識別了幾塊硬盤:  fdisk -l  [/dev/to/some_device_file]

        image.png

        

三、Linux支持的文件系統

     1、管理磁盤分區:

        fdisk /dev/sda

            p:顯示當前硬件的分區,包括沒有保存的改動

            n:創建新分區

                    e:擴展分區

                    p:主分區

            d:刪除一個分區

            w:保存退出

            q:不保存退出

            t:修改分區類型

                    L:

            l:顯示所有支持的所有類型

    2、文件系統管理

        格式化分區:重新創建文件系統會損壞原有文件


        mkfs:make file systemc

               -t FSTYPE 

            文件系統類型:

                    ext2

                    ext3

        cat /proc/filesystems:查看當前內核所支持文件系統類型:

        image.png

    3、專門管理ext系列文件:

        mke2fs:    

                -j:創建ext3 類型文件系統

                -b BLOCK_SIZE : 指定塊大小,默認爲 4096  可以取值爲 1024  或2048或4096

                -L  LABEL:指定分區卷標

                -m # :指定預留給超級用戶的塊數百分比

                - i   #:用於指定爲多少字節的空間創建一個 inode  默認爲 8192  ,這裏給出的數值應該爲塊大小的2^n 倍。     

                -N :指定inode個數;

                -F :強制創建文件系統

                -E:用戶指定額外文件系統屬性;         

        4、blkid:查詢或查看磁盤設備的相關屬性

                    UUID

                    TYPE

                    LABEL  :查看卷標

                image.png

                e2label :用於查看或定義卷標

                    e2label  設備文件 卷標 :設定卷標

        5、tune2fs:調整文件系統的相關屬性

                -j:不損害原有數據,將ext2 升級爲ext3;

                -L  LABEL:設定或修改卷標

                -m # :調整預留百分比

                -r # :指定預留多少塊

                -o :設定默認掛載選項;

                -c # :指定掛載次數達到#次之後進行自檢, 0或-1 表示關閉此功能

              -i  # :每掛載使用多少天后進行自檢,0或-1  表示關閉此功能

                -l: 顯示超級塊中的信息;


dumpe2fs:顯示文件屬性信息

        -h :只顯示超級塊的信息


fsck :檢查並修復Linux文件系統

        -t FSTYPE :指定文件系統類型

        -a :自動修復

e2fsck :專用於修復ext2/ext3 文件系統

        -f :強制檢查;

        -p:自動修復

        

        

四、掛載與卸載

        掛載:將新的文件系統關聯至當前根文件系統

        卸載:將新的文件系統從當前根文件系統中移除。

        mount:掛載    

            mount 設備 掛載點

            設備:

                設備文件: /dev/sda5

                卷標:LABEL=“”

                UUID: UUID=“”

            掛載點:目錄

                1、此目錄沒有被其他進程使用

                2、目錄得事先存在

                3、目錄中的原有的文件將會被暫時隱藏。

mount:顯示當前系統已經掛載的設備及掛載點

mount [options] [-o options] DEVICE MOUNT_POINT

        -a:表示掛載/etc/fstab文件中定義的所有文件系統

        -n:默認情況下,mount命令每掛載一個設備,都會把掛載的設備信息保存至/etc/mtab文件;使用-n選項意味着掛載設備時,不把信息寫入此文件。

        -t FSTYPE:指定正在掛載設備上的文件系統的類型;不適用此選項事, mount會調用blkid命令獲取對應文件系統的類型;

        -r:只讀掛載,掛載光盤時,常用此選項。

        -w:讀寫掛載,一般默認是讀寫掛載

        -o:指定額外的掛載選項,也既指定文件系統啓用的屬性;

            remount:重新掛載當前文件系統

            ro:掛載爲只讀

            rw:讀寫掛載      


掛載完成後,要通過掛載點訪問對應文件系統上的文件。

    umount:卸載某文件系統

        umount 設備

        umount  掛載點

        卸載注意事項:

            掛載的設備沒有進程使用;

    練習題:

     1、調整其預留百分比爲3%

            tune2fs -m 3 -L DATA /dev/sda7

    2、以重新掛載的方式掛載此文件系統爲不更新訪問時間戳,並驗證其效果

            stat /backup/inittab

            cat /backup/inittab

            stat

            

            mount -o remount,noatime /backup

            cat

            stat

    3、對此文件系統強行做一次檢測

            e2fsck -f /dev/sda7

    4、刪除複製而來的所有文件,並將此文件系統重新掛載爲同步(sync);而後在此複製/etc目錄中的所有文件至此掛載點,體驗其性能變化:

            rm -rf /dev/sda7

            mount -o remount,sync /backup

            cp -r /etc/* /backup

五、swap分區

        free -m

    fdisk命令中,調整分區類型爲82:

    創建交換分區:

     mkswap /dev/sda8

          -L  LABEL

     swapon /dev/sda8  :啓用這個分區的swap

     swapoff /dev/sda8 :停用這個分區的swap


迴環設備:

    loopback:使用軟件來模擬實現硬件

  

dd命令:轉化並複製一個文件

    if=輸入數據的來源

    of=數據存儲目標

    bs-1

    count=2

    seek=# :創建數據文件時,跳過的空間大小;


dd if=/dev/sad 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  製作鏡像


mount命令:可以掛載iso鏡像:

mount  DEVICE MOUNT_POINT

        -o loop: 掛載本地迴環設備,因此可以掛載鏡像


mount /dev/sda5 /mnt/test


文件系統的配置文件: /etc/fstab

image.png

    os在初始時,會自動掛載此文件中定義的每個文件系統

要掛載的設備    掛載點   文件系統類型   掛載選項   轉儲頻率(每多少天做一次完全備份)   文件系統檢測次序(只有根可以爲1,0表示不檢查)

/dev/sda5       /mnt/test     ext3          defaults    0     0


mount -a :掛載/etc/fstab 文件中定義的所有文件系統


fuser:驗證進程正在使用的文件或套接字文件

        -v:查看某文件上正在運行的進程

        -k:

        -m

        

        fuser -km MOUNT_POINT :終止正在訪問此掛載點的所有進程。

        

    練習:

    1、創建一個5G的分區,文件系統爲ext3,卷標爲MYDATA,塊大小爲 1024,預留管理空間爲磁盤分區的3%,要求開機後可以自動掛載至/data目錄,並且自動掛載的設備要使用卷標進行引用:

    2、創建一個本地迴環文件/var/swaptemp/swapfile來用於swap,要求大小爲 512MB,卷標爲SWAP—FILE ,且開機自動啓用此交換設備:

        mkdir /var/swaptemp

        dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512

        mkswap LABLE=SWAP-FILE /var/swaptemp/swapfile

        /etc/fstab

        /var/swaptemp/swapfile     swap   swap    defaults   0   0

    3、上述第一問,如何讓其自動掛載的同時啓用ACL功能:

        /etc/fstab

        LABEL=‘MYDATA’     /data    ext3    defaults,acl   0   0


六、壓縮、解壓縮命令

    壓縮格式:gz ,bz2 ,xz ,zip ,Z

    壓縮算法:算法不同,壓縮比也會不同

    

    gzip: .gz

            gzip  /PATH/TO/SOMEFILE : 壓縮完成後會刪除原文件

                -d:表示解壓縮,相當於 gunnzip 

                -# :1-9 ,指定壓縮比,默認是6

    gunzip:

            gunzip  /PATH/TO/SOMEFILE.gz :解壓完成後會刪除原文件

    zcat /PATH/TO/SOMEFILE.gz  : 不解壓的情況下,查看文件的內容


    bzip2 : .bz2

            比gzip有着更大壓縮比的壓縮工具,使用格式近似

                    bzip2 /PATH/TO/SOMEFILE

                        -d:解壓縮

                        -#:1-9,默認是6

                        -k:壓縮時保留原文件

                    bunzip2 /PATH/TO/SOMEFILE.bz2

            bzcat /PATH/TO/SOMEFILE.bz2 :不解壓的情況下,查看文件的內容

    

xz:  .xz

        xz  /PATH/TO/SOMEFILE

                -d:表示解壓縮

                -# :1-9,默認是6

                -k :壓縮時保留原文件

            unxz:表示解壓縮

        xzcat:表示不解壓查看文件內容

        

zip:既歸檔又壓縮的工具

        zip FILENAME.zip  FILE1  FILE2 ... : 壓縮後不刪除源文件

        unzip FILENAME.zip


archive: 歸檔,歸檔本身並不意味着壓縮

    

tar:歸檔工具, .tar

        -c:創建歸檔文件

        -f FILE.tar  :操作的歸檔文件

        -x :展開歸檔,還原歸檔

        --xattrs :歸檔時,保留文件的擴展性信息

        -t :不展開歸檔,直接查看歸檔了哪些文件

        -zcf:歸檔並調用gzip壓縮

        -zxf:調用gzip解壓縮並展開歸檔


練習:寫一個腳本

    從鍵盤讓用戶輸入幾個文件,腳本能夠將此幾個文件歸檔壓縮成一個文件:

        read:

            -p “PROMPT”:給出提示

        image.png   


七、while語句

    腳本編程:

            順序結構

            選擇結構

                if

                case

            循環結構

                for

                while    

                until

    while循環: 適用於循環次數未知的場景

        語法:

            while CONDITION;do

                statement

                ...

             done


  練習: 顯示一個菜單給用戶:

d|D) show disk usages。

m|M) show memory usages。

s|S) show swap usages。

*)quit

    當用戶給定選項後顯示相應的內容:

    image.png


擴展:當用戶選擇完成,顯示相應信息後,不推出,而讓用戶再一次選擇,再次顯示相應內容;除了用戶使用quit:

image.png

        

    



    


    

 



    

        


        


                

        

        

        

         

        

        

            

            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章