馬哥教育網絡班21期-第七周課程練習

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

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

# mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
# mount -o acl /dev/sdb1 /mydata/

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

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

  

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

# mkswap -L MYSWAP  /dev/sdb2
#swapon -L MYSWAP

3、寫一個腳本

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

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

#!/bin/bash
# fdisk
for disk in $(fdisk -l | grep -E -o "/dev/[[:lower:]]{3}\>") ;do 
    echo $disk 
    df -h $disk
    
done

 

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

# 級別:
RAID-0: 0,條帶卷,strip; 
RAID-1: 1,鏡像卷,mirro; 
RAID-2
...
RAID-5
RADI-6
RAID-01
RAID-10
         
RAID-0:
讀、寫性能提升;
可用空間;N*min(S1,S2,...)
無容錯能力
最少磁盤數:2,2+
RAID-1:
讀性能提升
寫性能略有下降;
可用空間 1*min(s1,s2,....)
有冗余能力
至少磁盤數:2,2+
RAID-5 
讀寫性能提升
可用空間:(N-1)*min(S1,S2...)
有容錯能力:1塊磁盤
至少磁盤數:3,3+
RAID-6:
讀、寫性能提升
可用空間:(N-2)*min(S1,S2...)
有容錯能力:2塊磁盤
至少磁盤數:4,4+
混合 
RAID-10: 
讀、寫性能提升
可用空間:N*MIN(S1,S2...)/2
有容錯能力:每一組鏡像最多只能壞一塊;
至少磁盤數:4,4+

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

# mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 1 -c 128 /dev/sdb{1,2,3}

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

#mdadm -C /dev/md0 -n 3 -l 5 -a yes -c 256 -x 1 /dev/sdb{1,2,3,4}

7、寫一個腳本

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

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

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

#!/bin/bash
if [ $# -eq 0 ];then
  echo "please give a file name!"
  exit 3
fi 
  for i in $@;do 
 echo "$i have $(wc -l $i | cut -d" " -f1) lines."
done
echo "The total of $# file their statistics the number of rows"

8、寫一個腳本

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

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

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

#!/bin/bash
declare -i usersum=0
if [ $# -le 1 ];then
 echo "please enter two or more users."
exit 3
fi
for i in $@;do
 if [ `id -u` -ne 0 ];then
 echo "only root can Add users."
elif 
 id &> /dev/null $i;then
echo "$i exists."
else 
  useradd $i 
  echo $i | passwd --stdin $i &> /dev/null
  let usersum++
fi 
done
echo "to create a total of $usersum users."

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

#!/bin/bash
adduser() {
local j=visitor
if [ `id -u` -ne 0 ];then
   echo "only root can Add users."
exit 1
elif id $j$i &> /dev/null ;then
   echo "$j$i exists."
else useradd $j$i && echo "Add $j$i finished." && return 0
fi 
}
for ((i=1;i<=20;i++));do
 adduser 
declare -i p=$(id visitor$i -u)
let sum+=$p
done
echo "SUM:$sum"

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

#!/bin/bash
for i in /etc/{passwd,rc.d/{init.d/functions,rc.sysinit}};do
 let sum1+=$(grep -c "^#" $i)
let sum2+=$(grep -c "^[[:space:]]*$" $i)
done 
echo "total # lines haves $sum1 lines."
echo "total space lines haves $sum2 lines. "

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

#!/bin/bash
for i in $(grep "bash$" /etc/passwd | cut -d: -f1);do
 uidnumber=$(id $i -u)
 echo $i baseshell is bash ,uid is $uidnumber 
 let uidsum+=$uidnumber
done
echo "uidsum:$uidsum"

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

#!/bin/bash
declare -i j=0
for i in $(grep "[^:]$" /etc/group | cut -d: -f1);do
echo $i  groups is `id $i`.
let j++
done
echo "A total of $j additional groups of users."

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

#pvcreate /dev/sdd{2,3}
#vgcreate -s 8M myvg /dev/sdd2 /dev/sdd3
#mkfs.ext4 /dev/myvg/mylv1
在/etc/fstab/中添加一行
/dev/mapper/myvg-mylv1  /users ext4 acl 0 0

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

#useradd -d /users/magedu magedu

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

#lvextend -L +4G /dev/myvg/mylv1
#resize2fs /dev/myvg/mylv1

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

#umount /dev/myvg/mylv1
#e2fsck -f /dev/myvg/mylv1
#lvreduce -L -2G /dev/myvg/mylv1 
#mount /dev/myvg/mylv1 /users/

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

#lvcreate -s -L 1M -n lv_magedu -p r /dev/myvg/mylv1 
#mount /dev/myvg/lv_magedu /backup/

原創文章,作者:哎喲喂,如若轉載,請注明出處:http://www.www58058.com/38850

(0)
哎喲喂哎喲喂
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • 學習宣言

    不妥協,不氣餒,朝著自己的目標前進。

    Linux干貨 2016-10-24
  • 第十七周作業

    1、結合圖形描述LVS的工作原理; 工作方式: LVS由前端的負載均衡器(Load Balancer,LB)和后端的真實服務器(Real Server,RS)群組成。RS間可通過局域網或廣域網連接。LVS的這種結構對用戶是透明的,用戶只能看見一臺作為LB的虛擬服務器(Virtual Server),而看不到提供服務的RS群。當用戶的請求發往虛擬服務器,LB根…

    2017-05-27
  • Linux基礎學習總結(五)

    1、顯示當前系統上root、fedora或user1用戶的默認shell; grep -E ‘^(root|fedora|user1)\>’ /etc/passwd | awk -F ‘:’ ‘{print $7}’ 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(); grep -E ‘…

    Linux干貨 2016-10-20
  • 集中管理利器-puppet快速入門-上

    帶著問題來學習 ?  從如下內容來看,如何自定義安裝用戶想要的東西呢?                                        …

    Linux干貨 2015-04-22
  • Centos圖形界面和命令行界面切換—-使用init

    1、從圖形界面切換到命令行界面      點擊Applications–System Tools–Terminal。    打開后輸入: su root(運行init需要管理員權限) 按回車,輸入init 3或者init 2都可以,然后回車就可以    進入命令行界…

    Linux干貨 2015-11-10

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-30 13:14

    腳本寫的很規范,排版還可以在漂亮一點,加油,

欧美性久久久久