(1) 要求其block大小爲2048, 預留空間百分比爲2, 卷標爲MYDATA, 默認掛載屬性包含acl;linux
[root@bj-1-142 ~]# mke2fs -t ext4 -m3 -L MYDATA -b 2048 /dev/sdb1 # 配置默認掛在屬性啓用acl [root@bj-1-142 ~]# tune2fs -o acl /dev/sdb1
(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;shell
[root@bj-1-142 ~]# mount -o noatime,noexec /dev/sdb1 /data/mydata/
二、建立一個大小爲1G的swap分區,並建立好文件系統,並啓用之;vim
[root@bj-1-142 ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 命令(輸入 m 獲取幫助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p 分區號 (2-4,默認 2):2 起始 扇區 (20973568-167772159,默認爲 20973568): 將使用默認值 20973568 Last 扇區, +扇區 or +size{K,M,G} (20973568-167772159,默認爲 167772159):+1G 分區 2 已設置爲 Linux 類型,大小設爲 1 GiB 命令(輸入 m 獲取幫助):t 分區號 (1,2,默認 2):2 Hex 代碼(輸入 L 列出全部代碼):82 已將分區「Linux」的類型更改成「Linux swap / Solaris」 # 格式化swap分區並啓用之 [root@bj-1-142 ~]# swapon /dev/sdb2 [root@bj-1-142 ~]# free -m total used free shared buff/cache available Mem: 977 244 139 11 593 560 Swap: 3072 0 3072
(1)、獲取並列出當前系統上的全部磁盤設備;bash
(2)、顯示每一個磁盤設備上每一個分區相關的空間使用信息;性能
[root@bj-1-142 ~]# cat disk.sh #!/bin/bash # Filename: disk.sh # Author: enzhi.wang # Date: 2017-02-15 # chkconfig: # discription: # print current system all disks echo "print disk list." fdisk -l | grep -o "/dev/sd[a-z]"| uniq # print all disk partition echo "file system disk space usage" df -h |grep "/dev/sd[a-z]"
RAID0特性:ui
一、讀寫性能提高;this
二、可用空間,N*minspa
三、無容錯能力;3d
四、最小磁盤數2,2+code
RAID1特性:
一、讀性能提高,寫性能略有降低,同一份數據要存兩份;
二、可用空間,1*min,磁盤總空間的一半;
三、有冗餘能力;
四、最少磁盤數,2,2+;
RAID5特性:
一、讀寫性能提高;
二、可用空間,N-1*min;
三、有冗餘能力;
四、最少磁盤數,3,3+;
RAID10特性:
一、讀寫性能提高;
二、可用空間,N*min/2;
三、有冗餘能力,每組鏡像最多隻能壞一塊;
四、最少磁盤數,4,4+;
[root@bj-1-160-enzhi ~]# mdadm -C /dev/md0 -a yes -l 1 -c 128 -n 2 /dev/sd[b,c]1 mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
[root@bj-1-160-enzhi ~]# mdadm -C /dev/md0 -c 256 -l 5 -n 3 /dev/sd[b,c,d]1 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@bj-1-160-enzhi ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Feb 15 21:11:09 2017 Raid Level : raid5 Array Size : 4204544 (4.01 GiB 4.31 GB) Used Dev Size : 2102272 (2.00 GiB 2.15 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Wed Feb 15 21:11:20 2017 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 256K Name : bj-1-160-enzhi.com:0 (local to host bj-1-160-enzhi.com) UUID : 93d0b6f4:43f15ed3:8d289e89:bd0dea44 Events : 18 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 3 8 49 2 active sync /dev/sdd1 [root@bj-1-160-enzhi ~]# mkfs.ext4 /dev/md0 [root@bj-1-160-enzhi ~]# mkdir /backup [root@bj-1-160-enzhi ~]# vim /etc/fstab /dev/md0 /backup ext4 defaults,noatime,acl 0 0 [root@bj-1-160-enzhi ~]# mount -a [root@bj-1-160-enzhi ~]# mount |grep "/dev/md0" /dev/md0 on /backup type ext4 (rw,noatime,acl)
(1) 接受一個以上文件路徑做爲參數;
(2) 顯示每一個文件擁有的行數;
(3) 總結說明本次共爲幾個文件統計了其行數;
#!/bin/bash # -*- coding: utf-8 -*- # Filename: files.sh # Author: enzhi.wang # Date: 2017-02-15 # Description: if [ $# -lt 1 ];then echo "Usage: $0 /path/to/somefile ..." exit 2 fi count=0 # 若是參數爲目錄文件則提示用戶不是文件 for f in $*;do if [ -d $f ];then echo "error $f is a directory." exit 4 else lines=$(wc -l $f|awk '{print $1}') echo "$f line sum = $lines" let count++ fi done echo "本次共爲$count個文件統計了行數."
(1) 傳遞兩個以上字符串看成用戶名;
(2) 建立這些用戶;且密碼同用戶名;
(3) 總結說明共建立了幾個用戶;
#!/bin/bash # -*- coding: utf-8 -*- # Filename: adduser1.sh # Author: enzhi.wang # Date: 2017-02-15 # Description: if [ $# -lt 1 ];then echo "Usage: $0 username1 username2 ..." exit 2 fi count=0 for u in $*;do if id $u &>/dev/null;then echo "error user $u is exists." else useradd $u echo "$u"|passwd --stdin $u &>/dev/null echo "useradd $u is finished." let count++ fi done echo "create $count users."
#!/bin/bash # -*- coding: utf-8 -*- # Filename: adduser2.sh # Author: enzhi.wang # Date: 2017-02-15 # Description: uid_sum=0 for i in {1..20};do useradd visitor$i uid=$(id -u visitor$i) uid_sum=$[$uid_sum + $uid] done echo "UID sum $uid_sum"