第七周作業
1、創建一個10G分區,并格式為ext4文件系統;
~]#fdisk -l #查看已有分區 設備 Boot Start End Blocks Id System /dev/sda1 * 2048 8194047 4096000 83 Linux /dev/sda2 8194048 24578047 8192000 82 Linux swap / Solaris ~]# fdisk /dev/sda #由于空間不夠大,故只創建了2G ~]# cat /proc/partitions #查看分區情況,可以看到還沒有 major minor #blocks name 8 0 20971520 sda 8 1 4096000 sda1 8 2 8192000 sda2 11 0 7587840 sr0 ~]# partx -a /dev/sda #多輸入兩遍,重新加載磁盤分區 ~]# cat /proc/partitions #有了,sda5就是我們創建的一個新分區 major minor #blocks name 8 0 20971520 sda 8 1 4096000 sda1 8 2 8192000 sda2 8 3 1 sda3 8 5 2096128 sda5 11 0 7587840 sr0
(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;
~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sda5
(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;
~]# mkdir /data/mydata -pv ~]# mount -o noexec,noatime,acl /dev/sda5 /data/mydata
2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;
fdisk /dev/sda #創建一個swap分區 mkswap /dev/sda* #創建swap文件系統 swapon /dev/sda* #啟用swap swapon -s 查看
3、寫一個腳本
(1)、獲取并列出當前系統上的所有磁盤設備; (2)、顯示每個磁盤設備上每個分區相關的空間使用信息;
#!/bin/bash # fdisk -l echo "please write the one you want to look " if [ -e "$1" ];then df -h $1 else echo "$1 is not exit" exit 2 fi
4、總結RAID的各個級別及其組合方式和性能的不同;
博客總結過。第五題,第六題沒有練過,不會。馬哥說理解每種raid的就組成和性能,實際生產中用不到配軟raid,我就沒配過。
7、寫一個腳本
(1) 接受一個以上文件路徑作為參數; (2) 顯示每個文件擁有的行數;(3) 總結說明本次共為幾個文件統計了其行數;
#!/bin/bash # if [ $# -lt 1 ];then echo "at least one file path " exit 2 fi for i in $*;do line=$(wc -l $i) echo "the line of file $i is $line" done echo "the total is $# "
8、寫一個腳本:
(1) 傳遞兩個以上字符串當作用戶名; (2) 創建這些用戶;且密碼同用戶名;(3) 總結說明共創建了幾個用戶;
#!/bin/bash # if [ $# -lt 2 ];then echo "at least two string " exit 2 fi if grep "^$#\>" /etc/passwd &> /dev/null ;then echo "User $# exits" else useradd $# echo $# | passwd --stdin $# &> /dev/null echo "add finished" fi echo "the total is $#"
9、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和;
#!/bin/bash # sum=0 for i in {1..20};do if id visitor$i &> /dev/nulil;then echo "visitor$i已存在" && exit 0 else useradd visitor$i && echo "visitor$i創建成功" fi done for i in {1..20};do id=$(grep -E "visitor$i" /etc/passwd | cut -d: -f3) let sum+=$id done echo $sum
10、寫一腳本,分別統計/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#號開頭的行數之和,以及總的空白行數;
以#開頭的行數之和:grep -E “^#" /etc/rc.d/init.d/functions |wc -l 總空白行:cat /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab |egrep "^$" |wc -l
11、寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名、UID以及此類所有用戶的UID之和;
#!/bin/bash # awk -F: '$NF=="/bin/bash"{print $1,$3}' /etc/passwd for i in $(awk -F: '$NF=="/bin/bash"{print $3}' /etc/passwd);do let sum+=$i done echo $sum
12、寫一個腳本,顯示當前系統上所有,擁有附加組的用戶的用戶名;并說明共有多少個此類用戶;
#!/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 "$num"
13、創建一個由至少兩個物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl;
創建兩個8e分區 /dev/sda6 29366272 50337791 10485760 8e Linux LVM /dev/sda7 50339840 71311359 10485760 8e Linux LVM #pvcreate /dev/sda6 /dev/sda7 #vgcreate -s 8m myvg /dev/sda6 /dev/sda7 Volume group "myvg" successfully created #lvcreate -L 5G -n mylv1 myvg Logical volume "mylv1" created. #mke2fs -t ext4 /dev/mapper/myvg-mylv1 #echo "/dev/mapper/myvg-mylv1 /users ext4 acl 0 0" >> /etc/fstab
14、新建用戶magedu;其家目錄為/users/magedu,而后su切換至此用戶,復制多個文件至家目錄;
root@bogon[18:26:57]:~ $ useradd -d /users/magedu magedu root@bogon[18:29:26]:~ $ su - magedu magedu@localhost[18:29:36]:~ $ cp -r /etc/httpd/conf/* ~ magedu@localhost[18:32:54]:~ $ ll ~ 總用量 28 -rw-r--r--. 1 magedu magedu 11772 12月 12 18:32 httpd.conf -rw-r--r--. 1 magedu magedu 13077 12月 12 18:32 magic
15、擴展mylv1至9G,確保擴展完成后原有數據完全可用;
lvextend -L +4G /dev/mapper/myvg-mylv1 resize2fs /dev/mapper/myvg-mylv1
16、縮減mylv1至7G,確??s減完成后原有數據完全可用;
# umount /dev/myvg/mylv1 # e2fsck -f /dev/myvg/mylv1 # resize2fs /dev/myvg/mylv1 7G # lvreduce -L 7G /dev/myvg/mylv1 # mount /dev/myvg/mylv1 /users/
17、對mylv1創建快照,并通過備份數據;要求保留原有的屬主屬組等信息;"
$ lvcreate -s -L 512M -n mylv-snap -p r /dev/myvg/mylv1 Logical volume "mylv-snap" created.
原創文章,作者:N24_yezi,如若轉載,請注明出處:http://www.www58058.com/63362
博客完成的非常好,理論與命令的結合,加油!