磁盤分區

 

1、創建一個10G分區,并格式化為ext4文件系統;

   (1)要求其block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl;
   (2)掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳

第一步:創建一個10G的分區
    [root@localhost ~]# fdisk /dev/sdb    //管理分區sdb    
    命令(輸入 m 獲取幫助):n    //輸入命令n創建一個新分區
    Select (default p): p        //設置分區類型為主分區
    分區號 (1-4,默認 1):1        //設置分區號
    起始 扇區 (2048-41943039,默認為 2048):    //設置起始扇區,因為這里是sdb上第一個分區所以不輸入任何信息,從默認起始扇區開始
    Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+10G     //設置分區大小
    分區 1 已設置為 Linux 類型,大小設為 10 GiB
    命令(輸入 m 獲取幫助):w    //輸入w保存并退出

第二步:設置分區文件系統類型
    [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1      //設置文件系統類型、塊大小及預留空間百分比
    mke2fs 1.42.9 (28-Dec-2013)
    文件系統標簽=MYDATA
    OS type: Linux
    塊大小=2048 (log=1)
    分塊大小=2048 (log=1)
    Stride=0 blocks, Stripe width=0 blocks
    655360 inodes, 5242880 blocks
    104857 blocks (2.00%) reserved for the super user
    第一個數據塊=0
    Maximum filesystem blocks=273678336
    320 block groups
    16384 blocks per group, 16384 fragments per group
    2048 inodes per group
    Superblock backups stored on blocks: 
        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
        2048000, 3981312

    Allocating group tables: 完成                            
    正在寫入inode表: 完成                            
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成 

第三步:掛載分區  
    [root@localhost ~]# mount -o acl,noatime,noexec -L MYDATA /data/mydata/ 

    [root@localhost ~]# mount | grep sdb1    //查看sdb1分區是否掛載
    /dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered)

2、創建一個大小為1G的swap分區,并創建好文件系統,啟用之;

第一步:創建一個大小為1G的swap分區
    [root@localhost ~]# fdisk /dev/sdb    //管理分區sdb
    命令(輸入 m 獲取幫助):n        //輸入命令n創建一個新分區
    Select (default p): p            //設置分區類型為主分區
    分區號 (2-4,默認 2):2            //設置分區號
    起始 扇區 (20973568-41943039,默認為 20973568):    //直接按回車從默認起始扇區開始
    將使用默認值 20973568
    Last 扇區, +扇區 or +size{K,M,G} (20973568-41943039,默認為 41943039):+1G    //設置分區大小
    命令(輸入 m 獲取幫助):t        //修改分區類型
    分區號 (1,2,默認 2):2            //輸入要修改的分區號
    Hex 代碼(輸入 L 列出所有代碼):82        //修改為swap類型,類型代碼為82
    已將分區“Linux”的類型更改為“Linux swap / Solaris”
    命令(輸入 m 獲取幫助):w        //輸入w保存退出


    [root@localhost ~]# partx -a /dev/sdb       //強制重讀磁盤分區表

第二步:掛載swap分區
    [root@localhost ~]# mkswap /dev/sdb2         //創建swap設備
    正在設置交換空間版本 1,大小 = 1048572 KiB
    無標簽,UUID=06f2a16f-9705-4b94-bdb6-05e164ff31c1

    [root@localhost ~]# free    //掛載前swap分區大小
                  total        used        free      shared  buff/cache   available
    Mem:        1001364      247388      422308        7208      331668      563088
    Swap:       2098172           0     2098172

    [root@localhost ~]# swapon /dev/sdb2        //將分區sdb2啟用為交換分區

    [root@localhost ~]# free        //啟用之后swap分區大小
                  total        used        free      shared  buff/cache   available
    Mem:        1001364      248148      421368        7208      331848      562288
    Swap:       3146744           0     3146744

 

3、寫一個腳本

    (1)獲取并列出當前系統上的所有磁盤設備
    (2)顯示每個磁盤設備上每個分區相關的空間使用信息;

        #!/bin/bash
        #
        fdisk -l | grep "^/.*"
        echo " "
        df -lh

4、寫一個腳本

    (1) 接受一個以上文件路徑作為參數;
    (2) 顯示每個文件擁有的行數;
    (3) 總結說明本次共為幾個文件統計了其行數;

        #!/bin/bash
        #
        if [ $# -lt 1 ];then
            echo "At least one filesname "
            exit 2
        fi

        for i in $*;do
            line=$(cat $i | wc -l)
            echo "Number of rows in $i is $line"
        done 

        echo "total of $#  files"

5、寫一個腳本

    (1) 傳遞兩個以上字符串當作用戶名;
    (2) 創建這些用戶;且密碼同用戶名;
    (3) 總結說明共創建了幾個用戶;

        #!/bin/bash
        #
        if [ $# -lt 1 ];then
            echo "At least one username"
            exit 2
        fi

        for i in $*;do
            if grep "^$i\>" /etc/passwd &> /dev/null;then
                echo "user $i exists"
            else
                useradd $i
                echo $i | passwd --stdin $i &> /dev/null
                echo "Add user $i finished"
            fi
        done

        echo "Created $# users"

6、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和

        #!/bin/bash
        #
        num=0

        for i in {1..20};do
            if id visitor$i &> /dev/null;then
                    echo "visitor$i exists"
                else
                    useradd visitor$i
                id=$(grep "^visitor$i\>" /etc/passwd | cut -d: -f 3)
                let num+=$id
                fi
        done

        echo $num

7、寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名,UID以及此類所有用戶的UID之和。

    #!/bin/bash
    #
    while read line;do
        userid=$(echo $line | cut -d : -f 3)
        username=$(echo $line | cut -d : -f 1)
        usershell=$(echo $line | cut -d : -f 7)

        if [ $usershell == /bin/bash ];then
            echo "$username:$userid:$usershell"
        fi

    done < /etc/passwd


    for i in $(grep "/bin/bash" /etc/passwd | cut -d : -f 3);do
        let uid+=$i
    done

    echo "The UID total is $uid"

8、寫一個腳本,顯示當前系統上所有擁有附加組的用戶的用戶名,并說明共有多少個此類用戶。

    #!/bin/bash
    #
    cat /etc/group | cut -d: -f1,4 | grep -E ".*:[^[:space:]]"

    num=$(cat /etc/group | cut -d: -f1,4 | grep -E ".*:[^[:space:]]" | wc -l)

    echo "There are such users $num"

9、創建一個有至少兩個物理卷組成的大小為20G的卷組,要求PE大小為8M,而后在卷組中創建一個大小為5G的邏輯卷mylv1,格式花為ext4文件系統,開機自動掛載至/users目錄,支持acl。

    第一步:創建2個大小為10G分區類型為8e的分區
               設備 Boot      Start         End      Blocks   Id  System
        /dev/sdb1            2048    20973567    10485760   8e  Linux LVM
        /dev/sdb2        20973568    41945087    10485760   8e  Linux LVM
    第二步:創建pv
    [root@localhost ~]# pvcreate /dev/sdb[1,2]
      Physical volume "/dev/sdb1" successfully created
      Physical volume "/dev/sdb2" successfully created
    第三步::創建vg
    [root@localhost ~]# vgcreate testvg1 -s 8m /dev/sdb[1,2]
      Volume group "testvg1" successfully created
    第四步:創建大小為5G的lv卷
    [root@localhost ~]# lvcreate -L 5G -n mylv1 testvg1
      Logical volume "mylv1" created.
    第五步:格式化為ext4文件系統
    [root@localhost ~]# mke2fs -t ext4 /dev/mapper/testvg1-mylv1 
    第六步:設置開機掛載
    [root@localhost ~]# mkdir /users
    [root@localhost ~]# echo  "/dev/mapper/testvg1-mylv1 /users ext4 acl 0 0" >> /etc/fstab

10、新建用戶magedu,其家目錄為/users/magedu,而后su切換至次用戶,復制多個文件至家目錄。

    [root@localhost ~]# mkdir -pv /user/magedu

    [root@localhost ~]# useradd -d /uers/magedu magedu

11、擴展mylv1至9G,確保擴展完成后原有數據完全可用。

    [root@localhost ~]# lvextend -L 9G /dev/mapper/testvg1-mylv1
      Size of logical volume testvg1/mylv1 changed from 5.00 GiB (640 extents) to 9.00 GiB (1152 extents).
      Logical volume mylv1 successfully resize

    [root@localhost ~]# lvs
      LV    VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      mylv1 testvg1 -wi-a----- 9.00g

12、縮減mylv1至7G,確??s減完成后原有數據完全可用。

    [root@localhost ~]# umount /dev/mapper/testvg1-mylv1

    [root@localhost ~]#  e2fsck -f /dev/mapper/testvg1-mylv1

    [root@localhost ~]#  resize2fs /dev/mapper/testvg1-mylv1 7G

    [root@localhost ~]#  lvreduce -L 7G /dev/mapper/testvg1-mylv1

    [root@localhost ~]#  mount /dev/mapper/testvg1-mylv1 /users/

13、對mylv1創建快照,并通過備份數據,要求保留原有的屬主屬組等信息。

    [root@localhost ~]# lvcreate -s -L 512M -n mylv-snap -p r /dev/mapper/testvg1-mylv1

 

原創文章,作者:641348038@qq.com,如若轉載,請注明出處:http://www.www58058.com/62972

(0)
641348038@qq.com641348038@qq.com
上一篇 2016-12-18
下一篇 2016-12-18

相關推薦

  • grep的使用,正則表達式

    文本處理grep ? ? grep :根據模式去搜索文本,并將匹配到的文本顯示出來 pattern(模式):文本字符和正則表達式的元字符組合而成的匹配條件 正則表達式:(REGular EXPression)正則表達式就是處理字符串的方法,通過一些特殊字符的輔助,讓用戶輕松方便的達到查找、刪除、修改特定字符串的處理程序 grep 的用法 ? ? name: …

    Linux干貨 2017-11-25
  • ansible基礎應用

    ansible基礎 一、運維主要工作 ansible聚集以上功能于一身,能夠完整輕易的實現應用部署和批量命令功能,適用于主機數量不太多,再大的用puppet。 二、ansible特性 (1)模塊化:調用特定的模塊,完成特定任務; (2)基于python語言實現,由paramiko,PYYAML和JINJa2三個關鍵模塊組成 (3)部署簡單:agentless…

    Linux干貨 2017-01-04
  • gawk 語法介紹及其實例

    gawk 語法介紹及其實例  §·awk介紹 Linux文本處理三劍客:grep  sed 和 awk 。其中grep是一種文本過濾工具,sed是文本行編輯器,而awk是一種報表生成器,就是對文件進行格式化處理的,這里的格式化不是文件系統的格式化,而是對文件的內容進行的各種排版,進而格式化顯示。 在linux之上我們使用awk是GUN a…

    Linux干貨 2016-09-22
  • 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件

    在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。 ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S) ~]# tree /tmp 查看輸出結果 復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。 …

    Linux干貨 2016-11-06
  • Linux用戶與組之權限管理

    權限(rwx、sst、umask) chown chmod ACL(見下篇) 試驗環境:CentOS 7.2 與CentOS 6.8,具體會在應用場景明確指出 權限 Linux系統對用戶與組的管理,其具體操作手段就是對于權限的分配,而常見的權限分配工具有 rwx, sst, umask, ACL. 跟用戶與組有uid和gid一樣,權限也有…

    Linux干貨 2016-08-07
  • 內核參數修改 內核編譯 第14天

    Linux內核:單內核,模塊化 內核的某些模塊 編譯進內核本體 [*] 編譯成內核模塊 [M] 不選擇使用     [ ] 內核的組成部分 /boot/vmlinuz-VERSION /lib/modules/VERSION/ *.ko 模塊間有可能有依賴關系 內核模塊管理 lsmod:顯…

    Linux干貨 2016-01-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-23 12:34

    基本上可以,有些題目沒有按照要求來寫不太好~~~繼續加油~

欧美性久久久久