N25-第七周作業

第七周作業

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

(0)
EasonEason
上一篇 2017-02-25 13:19
下一篇 2017-02-25 14:50

相關推薦

  • 重定向

    Linux下定義了三種I/O設備: 標準輸入(STDIN):用0表示,默認的標準輸入設備是鍵盤; 標準輸出(STDOUT):用1表示,默認的標準輸出設備是當前終端; 標準錯誤(STDERR):用2表示,默認的標準錯誤輸出設備是當前終端; I/O重定向即改變默認的位置 1 標準輸出重定向 (1)將標準輸出重定向到其他終端 /dev/pts/1代表偽終端1,在偽…

    Linux干貨 2017-07-31
  • 運維第一步

    學友分享各自工作經歷

    2018-03-26
  • vim、crontab、bash for循環練習

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中的以至少一個空白字符開頭的行的行首加#。 vim中支持全文查找替換功能且在查找時支持正則表達式,在替換時進行引用。先使用vim /tmp/functions,然后在vim編輯模式中輸入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系統運維 2016-12-03
  • yum與rpm生產中最頻繁使用

    yum 命令 使用方法: yum [選項] [包名稱] 常用選項: install #安裝軟件,后面跟包名稱,例如:yum install wget 安裝wget軟件包list #列出所有軟件,一般和grep一起使用,例如:yum list | grep java ,查看所有java安裝包,一般情況下不使用search,grep可以更大范圍搜索包,例如只記得…

    Linux干貨 2017-04-18
  • 系統自動化安裝

    本章內容 系統安裝過程配置anaconda自動化安裝系統 安裝程序 CentOS系統安裝 系統啟動流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系統安裝程序 tui: 基于圖形庫curses的文本窗口 gui:圖形窗口 安裝程序啟動過程 MBR…

    Linux干貨 2016-09-19
  • 實戰自制Linux操作系統

    實戰自制Linux操作系統 自制linux系統 步驟概述: 1、新建一個硬盤2、在該新硬盤上新建兩個分區,一個當boot分區,一個當/分區3、格式化并且掛載兩個分區4、安裝grub至目標磁盤5、為grub提供配置文件6、復制內核文件和initrd文件7、創建目標主機根文件系統8、移植bash命令和其庫文件到根文件系統9、裝載模塊,實現網絡功能10、啟動測試 …

    Linux干貨 2016-09-19
欧美性久久久久