第七周作業
—
1、創建一個10G分區,并格式為ext4文件系統;
fdisk /dev/sda
n
p
2
enter
+10G
w
partx -a /dev/sda
(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;mke2fs -t ext4 -b 2018 -m 2 -L "MYDATA" /dev/sda2
(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;mkdir -p /data/mydata
mount -o noexec,noatime /dev/sda2 /data/mydata
2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;
fdisk /dev/sda
n
p
3
enter
+1G
t
3
82
w
mkswap /dev/sda3
swapon /dev/sda3
3、寫一個腳本
(1)、獲取并列出當前系統上的所有磁盤設備;
(2)、顯示每個磁盤設備上每個分區相關的空間使用信息;#!/bin/bash
fdisk -l | grep "^Disk /dev/[sh]d[a-z]"
fdisk -l | grep "^/dev/[sh]d[a-z]"
4、總結RAID的各個級別及其組合方式和性能的不同;
RAID-0:至少兩塊硬盤,每個文件分成N塊,分別放在每塊硬盤上,沒有冗錯功能;總容量和讀寫速度都為所有硬盤之和;
RIAD-1:至少兩塊硬盤,每塊硬盤內容相同,總容量為單塊硬盤容量最小的容量,讀寫為單塊硬盤的性能;
RAID-5:至少3塊硬盤,總容量為最小硬盤容量N倍減1,有一塊硬盤的容量用來做校驗;讀性能較好,寫性能(要寫入校驗)稍差;
RAID-10:至少需要4塊硬盤,總容量為最小硬盤的N/2倍,先兩個硬盤之間做RAID1,在這個基礎上再做RAID0;讀寫性能較好為N/2;
5、創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;
[root@zf ~]# fdisk /dev/sdb
[root@zf ~]# fdisk /dev/sdc
[root@zf ~]# fdisk /dev/sdd
依次創建大小為10G的sdb1、sdc1、sdd1分區(更改分區類型為Linux raid autodetect)
[root@zf ~]# mdadm -C /dev/md0 -n 2 -l 1 -a yes -c 128K -x 1 /dev/sd{b,c,d}1
-C是創建,-a 自動回答yes -n 用2塊磁盤創建,-x 用一塊磁盤做空閑, -l 是級別RAID-1 , -c 指定chunk 為128k
6、創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能;
[root@zf ~]# fdisk /dev/sdb
[root@zf ~]# fdisk /dev/sdc
[root@zf ~]# fdisk /dev/sdd
依次創建大小為1G的sdb2,3、sdc2,3、sdd2分區(更改分區類型為Linux raid autodetect)
[root@zf ~]# mdadm -C /dev/md1 -n 5 -l 5 -a yes -c 256K /dev/sd{b,c,d}2 /dev/sd{b,c}3
-C是創建,-a 自動回答yes -n 用5塊磁盤創建,-x 用一塊磁盤做空閑, -l 是級別RAID-5 , -c 指定chunk 為256k
[root@zf ~]# mke2fs -t ext4 /dev/md1 -L MYDATA2
[root@zf ~]# vi /etc/fstab
LABEL=MYDATA2 /backup ext4 noatime,acl 0 0
開機掛載
7、寫一個腳本
(1) 接受一個以上文件路徑作為參數;
(2) 顯示每個文件擁有的行數;
(3) 總結說明本次共為幾個文件統計了其行數;#!/bin/bash
#顯示每個文件擁有的行數,總結說明本次共為幾個文件統計了其行數;
daclare -i sum=0
if [ $# -lt 1 ];then
echo "At least enteh one file path."
exit 1
fi
for file in $*;do
if [ -d $file ];then
echo "$file is directory."
exit 2
else
lines=$(wc -l $file | cut -d' ' -f1)
echo "$file has $lines."
let sum++
fi
done
echo "Total $sum files."
8、寫一個腳本
(1) 傳遞兩個以上字符串當作用戶名;
(2) 創建這些用戶;且密碼同用戶名;
(3) 總結說明共創建了幾個用戶;#!/bin/bash
#腳本傳遞兩個以上的字符串當做用戶,創建這些用戶,且密碼和用戶名相同,總結說明共創建了幾個用戶;
sum=0
if [ $# -lt 3 ];then
echo "Enter three username,please."
exit 1
fi
for username in $*;do
if id $username &> /dev/null;then
echo "User existed."
else
useradd $username
echo "$username" | passwd --stdin $username &> /dev/null
echo "User: $username add finished."
let sum++
fi
done
echo "Total $sum users add."
9、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和;
#!/bin/bash
#寫一個腳本,新建20個用戶,vistor1-vistor20;計算他們的ID之和;
for un in {1..20};do
if id visitor$un &> /dev/null;then
echo "User visitor$un is had."
exit 2
else
useradd visitor$un;then
idu=$(id -u visitor$un)
echo "User visitor$un is added."
let sum=$sum+$idu
fi
done
echo "sum id is $sum ."
原創文章,作者:Eason,如若轉載,請注明出處:http://www.www58058.com/70018