馬哥教育網絡班21期+第7周課程練習

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

    fdisk /dev/sdb    n p 1 +10G w

(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;

    mke2fs -b 1024 -L MYDATA /dev/sdb1 -t ext4
 
    tune2fs -o acl /dev/sdb1

(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;

    mount -o noatime,noexec  /dev/sdb1 /data/mydata

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

    fdisk /dev/sdb n l +G t 5 82 w 
    partx -a /dev/sdb5
 
    mkswap /dev/sdb5
    swapon /dev/sdb5

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

   #!/bin/bash
    #
    select a in 'All Disk' 'Disk Use';    do
    case $a in
    'All Disk')
            fdisk -l
    ;;    
    'Disk Use')
            df -Th
    ;;
    *)            exit
    ;;    esac
    done

4、總結RAID的各個級別及其組合方式和性能的不同;

    raid0  最少兩塊磁盤,數據切割成等量大小存放在每個磁盤上。 讀、寫性能提升但無容錯能力。
    raid1  最少兩塊磁盤,數據同時存儲在每個磁盤上。寫性能略有下降,讀性能提升,有容錯能力。
    raid5  最少三塊磁盤,數據切割存儲到每個磁盤,每個磁盤上會有同位檢查碼,允許有個磁盤損壞。讀、寫性能提升,有容錯能力(最多壞一塊磁盤)。
    raid10 最少四塊磁盤,先讓兩塊磁盤組成 RAID 1,共有兩組,將兩組 RAID 1 再組成一組 RAID 0。讀、寫性能提升,有容錯能力(每一組可壞一塊盤)

5、創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;

    創建磁盤分區/dev/sdb{6,7,8}
    創建raid   mdadm -C /dev/md0 -a yes -l 1 -c 128 -n 2  -x 1 /dev/sdb{6,7,8}

6、創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能;

mdadm -C /dev/md5 -a yes -n 5 -l 5 -c 256 /dev/sdb{6,7,8,9,10}
 
    vim /etc/fstab
 
    mount –a

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

    #!/bin/bash
    #
    sum=0
    [ $# -eq 0 ] && echo "Usage:$0 dirpath" && exit
    for i in $@ ;do
        if [ ! -d $i ] ;then
            echo "$i is not a dirpath"
            exit
        else
        cd $i
    
            for j in `ls $i`; do
                if [ -f $j ];then
                    echo $j > /tmp/tj.txt
                    wc -l $j
                    let sum=$sum+1
                fi
            done
            echo "There $sum files are counted rownumber "
        fi
    done

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

    #!/bin/bash
    #
    [ $# -eq 0 ] && echo "Usage:$0 string" && exit
    [ $# -lt 2 ] && echo "Args must greater then 2" && exit
    declare -i a=0
    for i in $@ ;do
            id $i >> /dev/null 2>&1
            if [ $? -eq 0 ];then
                echo "$i is already exit"
            else    
                useradd $i
                sleep 3
                echo "$i" | passwd --stdin $i >> /dev/nul 2>&1
                let a++            fi      
    done
    echo "$a users added"

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

    #!/bin/bash
    #
    sum=0
    for i in {1..20};do
    id visitor$i >> /dev/null 2>&1
    if [ $? -eq 0 ];then
        echo "visitor$i is already exit"
    else
        useradd visitor$i
        echo "visitor$i" | passwd --stdin visitor$i >> /dev/nul 2>&1
    fi
    tail -1 /etc/passwd    let sum+=`tail -1 /etc/passwd | awk -F: '{print $3}'`    done
    echo "the id sum is $sum"

10、寫一腳本,分別統計/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#號開頭的行數之和,以及總的空白行數;

    #!/bin/bash
    #
    ##'#'start
    dirpath='/etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions  /etc/fstab'
    ssum=`grep '^#' $dirpath |wc -l`    echo "#start row number is $ssum"
    ##'blank'
    bsum=`grep '^$' $dirpath |wc -l`    echo "blank row number is $bsum"

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

    #!/bin/bash
    #    sum=0
    grep '/bin/bash$' /etc/passwd | awk -F: 'BEGIN{printf "%-10s,%s\n","USER","UID"}{printf "%-10s,%s\n",$1,$3}'
    ss=`awk -F: '{print $3}' /etc/passwd`    for i in $ss;do
    let sum+=$i
    done
    echo "the uid sum is $sum"

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

    #!/bin/bash
    #
    #declare -a bb
    bb=`awk -F: '{ if( $NF != NULL )  printf "%-15s%s\n",$1,$NF}' /etc/group | awk '{print $1}'`
    ss=`awk -F: '{ if( $NF != NULL )  printf "%-15s%s\n",$1,$NF}' /etc/group | awk '{print $1}'| wc -l`
    echo "user name is :"
    for i in $bb;do
    echo -n "  $i"
    done
    echo ""
    echo "user number is: $ss"

13、創建一個由至少兩個物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl;
創建可用分區,設置為lvm

pvcreate /dev/sdc{1,2}
vgcreate -s 8M myvg /dev/sdc{1,2}
lvcreate -L 5G -n mylv1 myvg
mkfs.ext4 /dev/myvg/mylv1
mkdir /users 
vim /etc/fstab
 
mount  –a

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

    #!/bin/bash
    if [ $UID -eq 0 ] ;then
    
    [ -d /users/magedu ] || mkdir -p /users/magedu
    
        id magedu >> /dev/null    
            if [ $? -eq 0 ];then
                    echo "user is exist"
                    userdel -r magedu                    exit
            else
                    useradd  -d /users/magedu magedu
                    sleep 3
                    chown -R magedu:magedu /users/magedu
                    chmod -R 700 /users/magedu            fi
    else
        echo "user is not root "
        exit
    fi
    sleep 3
    echo "now su to magedu"
    su -  magedu <<EOF
    cp /etc/skel/.* ~/
    EOF    exit
    echo "copy is done"

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

    lvresize -L +4G /dev/myvg/mylv1
    resize2fs /dev/myvg/mylv1

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

    umount  /dev/myvg/mylv1
    e2fsck /dev/myvg/mylv1
    resize2fs -f /dev/myvg/mylv1 7G
    lvreduce -L 7G /dev/myvg/mylv1

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

lvcreate -L 1G -s -n myss /dev/myvg/mylv1
創建快照掛載目錄
mkdir /snap
掛載快照
mount  /dev/myvg/myss /snap
備份
tar –zcvpf /tmp/backup.tar.gz /snap/*

原創文章,作者:hhaa0352,如若轉載,請注明出處:http://www.www58058.com/38321

(0)
hhaa0352hhaa0352
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • N25_第十二周作業

    1、請描述一次完整的http請求處理過程;     1)建立或者處理連接:建立請求或拒絕請求     2)接收請求:接收來自于網絡上的主機請求報文中對特定資源的一次請求的過程;     3)處理請求:對請求報文進行解析,主要獲取客戶端請求的…

    Linux干貨 2017-03-06
  • N22-℡浮生.若夢 ╮第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]# cp -r /etc/skel/ /home/tuser1 ~]# chmod -R 700 /home/tuser1 ~]#&nbsp…

    Linux干貨 2016-09-19
  • 利用nginx實現基于傳輸層的四層負載均衡

    nginx利用ngx_stream_core_module實現四層的負載均衡服務。作為四層負載均衡nginx和lvs的區別在于: lvs工作于內核層,相對來說效率更高,性能更強; nginx工作于用戶空間; lvs不會受到套接字數量的限制; nginx作為四層負載均衡也需要監聽套接字來和客戶端,后臺服務器進行連接,會受到套接字數量限制,不過這個問題可以通過k…

    2017-07-03
  • 軟件包管理rpm和yum基本使用

    RPM是RedHat Package Manager(RedHat軟件包管理工具)類似Windows里面的“添加/刪除程序”因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易于安裝,升級,間接提升了Linux的適用度。 rpm 執行安裝包 二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,…

    Linux干貨 2016-08-29
  • linux基礎之lvm操作流程

    linux基礎之lvm基本操作流程    LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝L…

    2017-03-19
  • 如何修改linux系統主機名稱及自動登錄圖形化界面

    編輯器:gedit(圖形化編輯器)在圖形界面編輯開機自動登錄圖形化界面(在工作中不能使用)Centos6  第一步:ls /etc/gdm/custom.conf第二步:nano /etc/gdm/custom.conf第三步:[daemon]第四步:AutomaticLoginEnable=trueAutomaticLogin=root第五步:按…

    Linux干貨 2017-07-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-22 14:49

    寫的很好,排版也很棒,加油

欧美性久久久久