26期全程班-第七周博客作業

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

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

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

# fdisk /dev/sda

# mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sda5

# mount -o noexec,acl,noatime /dev/sda5 /data/mydata

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

# fdisk /dev/sda

# mkswap /dev/sda6

# swapon /dev/sda6

3、寫一個腳本

   (1)、獲取并列出當前系統上的所有磁盤設備;

   (2)、顯示每個磁盤設備上每個分區相關的空間使用信息;

#!/bin/bash
echo ” (1)、獲取并列出當前系統上的所有磁盤設備;”
devs=`ls /dev/[sh]d[a-z]`
echo $devs
echo ” (2)、顯示每個磁盤設備上每個分區相關的空間使用信息;”
for i in `fdisk -l $devs | grep -o “^/dev/[sh]d[a-z][[:digit:]]\>”`;do
        df -h $i
done

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

RAID0:將多塊硬盤組合成一塊硬盤使用,讀寫性能都有提升,磁盤利用率100%,無冗余能力,至少需要2塊硬盤;

RAID1:將數據存儲兩份,讀能力有提升,寫能力下降,磁盤利用率50%,有冗余能力,至少需要兩塊硬盤

RAID5:將數據拆分存儲并加入校驗碼技術,讀寫能力均有提升,磁盤利用率為 (磁盤數-1)/磁盤數,最多允許壞一塊硬盤,至少需要3塊硬盤;

RAID10:將磁盤先做raid1后再做raid0,讀寫能力均有提升,磁盤利用率為50%,每組最多允許壞一塊硬盤,至少需要4塊硬盤。

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

# fdisk /dev/sda

# mdadm -C /dev/md128 -n 2 -x 1 -c 128 -l 1 /dev/sda{5,6,7}

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

# fdisk /dev/sda

# mdadm -C /dev/md129 -n 3 -l 5 -c 256 /dev/sda{8,9,10}

# mkfs.ext4 /dev/md129

# mkdir -p /backup

# echo << EOF >> /etc/fstab 
> /dev/md129      /backup     ext4       acl,noatime,defaults    0 0
> EOF

7、寫一個腳本

   (1) 接受一個以上文件路徑作為參數;

   (2) 顯示每個文件擁有的行數;

   (3) 總結說明本次共為幾個文件統計了其行數;

#!/bin/bash
if [ $# -le 0 ] ;then
        echo “請輸入至少一個文件路徑作為參數!”
        echo
else
        for i in $*;do
                echo “文件 `basename $i` 擁有 `wc -l $i| cut -d’ ‘ -f1`  行”
        done
echo
echo “總共為 $# 個文件統計了其行數。”
fi

8、寫一個腳本

   (1) 傳遞兩個以上字符串當作用戶名;

   (2) 創建這些用戶;且密碼同用戶名;

   (3) 總結說明共創建了幾個用戶;

#!/bin/bash
if [ $# -le 2 ] ;then
        echo “請在$0后面傳遞兩個以上字符串當作用戶名”
        echo
else
        for i in $*;do
                useradd $i &> /dev/null
                echo $i | passwd –stdin $i &> /dev/null
        done
echo
echo “總結說明共創建了$#個用戶”
fi

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

#!/bin/bash
uidsum=0
for i in {1..20};do
        username=visitor$i
        useradd $username &> /dev/null
        uid=`id -u ${username}`
        uidsum=$[$uidsum+$uid]
done
echo $uidsum

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

#!/bin/bash
chf1=”/etc/rc.d/rc.sysinit”
chf2=”/etc/rc.d/init.d/functions”
chf3=”/etc/fstab”
h1=`grep “^#” $chf1 | wc -l | cut -d’ ‘ -f1`
k1=`grep “^$” $chf1 | wc -l | cut -d’ ‘ -f1`
h2=`grep “^#” $chf2 | wc -l | cut -d’ ‘ -f1`
k2=`grep “^$” $chf2 | wc -l | cut -d’ ‘ -f1`
h3=`grep “^#” $chf3 | wc -l | cut -d’ ‘ -f1`
k3=`grep “^$” $chf3 | wc -l | cut -d’ ‘ -f1`
sumh=$((${h1}+${h2}+${h3}))
sumk=$((${k1}+${k2}+${k3}))
echo “#號開頭的行數之和是$sumh;總的空白行數是$sumk”

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

#!/bin/bash
#grep “bash$” /etc/passwd | awk -F: ‘{print $1,$3}’
uidsum=0
for i in $(grep “bash$” /etc/passwd | cut -d’:’ -f1);do
        uid=`id -u $i`
        uidsum=$(($uidsum+$uid))
done
echo “默認shell為bash的用戶的UID之和是$uidsum”

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

#!/bin/bash
echo “以下用戶擁有附加組”
grep “[^:]$” /etc/group|cut -d: -f 4
echo
echo “`grep “[^:]$” /etc/group|cut -d: -f 4 | wc -l | cut -d’ ‘ -f1`個擁有附加組的用戶”

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

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

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

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

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

 

原創文章,作者:N26-深圳-城市蝸牛,如若轉載,請注明出處:http://www.www58058.com/68217

(0)
N26-深圳-城市蝸牛N26-深圳-城市蝸牛
上一篇 2017-03-16
下一篇 2017-03-17

相關推薦

  • linux入門第二課

    **linux入門基礎** linux 命令類別 內部命令和外部命令 首先我們可以用echo $SHELL 來查詢shell 里面會顯示我們當前在用的shell 上圖是echo $SHELL 也可以用cat /etc/shells來查詢系統里面的shell bash其實是一個文件是一個程序 存在于 /bin/bash 目錄,這是真是存在的文件,是一個可以執行…

    Linux干貨 2017-05-20
  • 馬哥教育網絡班21期+第12周課程練習

    1、請描述一次完整的http請求處理過程; 建立或處理請求:接受請求或拒絕請求; 接收請求:接收來自于網絡的請求報文中對某資源的一次請求的過程; 處理請求:對請求報文進行解析,并獲取請求的資源及請求方法等相關信息; 訪問資源:獲取請求報文中請求的資源; 構建相應報文; 發送響應報文; 記錄日志 2、httpd所支持的處理模型有哪些,他們分別適用于哪些環境。 …

    Linux干貨 2016-10-24
  • 馬哥教育網絡班20期第3周課程練習

    答: 1、 [root@totooco ~]# who | cut -c1-9 | sort -u 2、 [totooco@totooco ~]$ who | cut -c1-9 | head -1 3、 [root@totooco ~]# cat /etc/passwd | cut -d: -f7 | grep -v /sbin/nologin | sor…

    Linux干貨 2016-06-23
  • linux程序包管理

    對第五周學習的內容進行總結

    2018-01-01
  • dd命令詳解及實戰應用

    dd簡述 dd在linux中是 一個強大的命令,常用于拷貝大量數據,測試讀寫效能 ,清空硬盤數據(慎用),不僅如此,由于dd 允許以二進制方式讀寫,所以特別適合在原始設備上輸入、輸出。 dd與cp的區別 這里有必要說明一下,兩個命令都可用于拷貝,但是級別卻完全不一樣:cp是文件級別的讀取方式,而dd更底層,可以數據塊級別去讀取硬盤,由此可看出在效率…

    Linux干貨 2017-04-04
  • Package Manager

    Package Manager Package 管理工具的分類 rpm yum Source Code Install 管理工具的分類 前段管理工具:Debian:debRedhat,Suse…:rpm 前端管理工具:Debian:apt-getRedhat:yum,dnf RPM RPM是什么?RPM全稱是RPM Package Manager…

    2016-03-27

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-30 14:30

    測試了部分代碼,腳本功能基本都已實現,但與此同時,作為博客,一定要注意代碼的可讀性,再接再勵。

欧美性久久久久