天天看點

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

一、磁盤管理

       1、 機械式硬碟:

            U盤、CD光牒、軟碟、硬碟、錄音帶

       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 : 顯示整個磁盤的分區情況

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

        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]

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

三、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:檢視目前核心所支援檔案系統類型:

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

    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  :檢視卷标

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

                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:隻讀挂載,挂載CD光牒時,常用此選項。

        -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

    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

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

    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功能:

        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”:給出提示

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

七、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

    當使用者給定選項後顯示相應的内容:

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

擴充:當使用者選擇完成,顯示相應資訊後,不推出,而讓使用者再一次選擇,再次顯示相應内容;除了使用者使用quit:

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

繼續閱讀