第七周
1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;
[root@zf ~]# fdisk /dev/sdb Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (1307-2610, default 1307): Using default value 1307 Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): +1024M Command (m for help): w The partition table has been altered! [root@zf ~]# mkfs -t ext4 -b 2048 -L MYDATA -m2 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) 文件系統標簽=MYDATA 操作系統:Linux 塊大小=2048 (log=1) 分塊大小=2048 (log=1) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 5241190 blocks 104823 blocks (2.00%) reserved for the super user ... [root@zf ~]# tune2fs -o acl /dev/sdb1 [root@zf ~]# tune2fs -l /dev/sdb1 tune2fs 1.41.12 (17-May-2010) Filesystem volume name: MYDATA Last mounted on: <not available> Filesystem UUID: 87fcd186-1115-4f84-8dad-b171e380771f Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: acl ... (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@zf ~]# mount -o noexec,noatime /dev/sdb1 /data/mydata/ [root@zf ~]# mount /dev/sda2 on / type ext4 (rw) ... /dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime)
2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;
[root@zf ~]# fdisk /dev/sdb Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (1307-2610, default 1307): Using default value 1307 Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): +1024M Command (m for help): p ... Device Boot Start End Blocks Id System /dev/sdb1 1 1306 10490413+ 83 Linux /dev/sdb2 1307 1438 1060290 83 Linux Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap / Solaris) Command (m for help): p ... Device Boot Start End Blocks Id System /dev/sdb1 1 1306 10490413+ 83 Linux /dev/sdb2 1307 1438 1060290 82 Linux swap / Solaris Command (m for help): w The partition table has been altered! [root@zf ~]# partx -a /dev/sdb [root@zf ~]# mkswap /dev/sdb2 Setting up swapspace version 1, size = 1060284 KiB no label, UUID=3ca73dc3-92f9-4fcf-8098-76d21f5e81c3 [root@zf ~]# free -m total used free shared buffers cached Mem: 980 412 568 0 18 100 -/+ buffers/cache: 293 687 Swap: 2047 0 2047 [root@zf ~]# swapon /dev/sdb2 [root@zf ~]# free -m total used free shared buffers cached Mem: 980 413 567 0 18 100 -/+ buffers/cache: 294 686 Swap: 3083 0 3083
3、寫一個腳本 (1)、獲取并列出當前系統上的所有磁盤設備; (2)、顯示每個磁盤設備上每個分區相關的空間使用信息;
#!/bin/bash # fdisk -l /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 # sum=0 if [ $# -lt 1 ]; then echo "please iput /PATH/TO/SOMEFILE." exit 2 fi for file in $*; do if [ -d $file ]; then echo "$file is directory." exit 3 else lines=$(wc -l $file | cut -d' ' -f1) echo "$file has $lines." let sum++ fi done echo "count $sum files."
8、寫一個腳本 (1) 傳遞兩個以上字符串當作用戶名; (2) 創建這些用戶;且密碼同用戶名; (3) 總結說明共創建了幾個用戶;
#!/bin/bash # sum=0 if [ $# -lt 1 ]; then echo "please input username1 username2." exit 2 fi for i in $*; do if id $i &> /dev/null; then echo "user existed." else useradd $i echo "$i" | passwd --stdin $i &> /dev/null echo "useradd $i finished." let sum++ fi done echo "create $sum users."
9、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和;
#!/bin/bash # for n in {1..20}; do if grep "^visitor$n\>" /etc/passwd &> /dev/null; then echo "user existed." exit 2 else useradd visitor$n fi done sum=0 uid=$(grep "^visitor" /etc/passwd | cut -d: -f3) for i in $uid; do let sum+=$i let i++ done echo $sum
原創文章,作者:N25-深圳-尋覓,如若轉載,請注明出處:http://www.www58058.com/69942
贊~~寫的比較認真,繼續加油~