Linux腳本基礎練習

馬哥教育網絡班+ 第7周課堂練習

Linux腳本基礎練習

練習:

1、創建一個10G分區,并格式為ext4文件系統;

(1)要求其block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl

(2)掛載至/data/mydata目錄 要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳

第一步,在虛擬機中掛載一塊20G的新硬盤

blob.png 
第二步,在這個硬盤上創建新的分區,分區大小是10G,并格式化為ext4文件系統 
blob.png

blob.png 

blob.png

blob.png

第三步 掛載至/data/mydata 目錄

blob.png

2、創建一個大小為1G的swap 分區,并創建好文件系統,并啟用之

先創建好分區:

blob.png 
分區為/dev/sdb2 
然后掛載分區

blob.png 
然后可以用free -m 查看

blob.png 
然后大家最好記住分區過后讓內核重新識別分區的命令,首先是查看

cat /proc/partitions
讓內核重讀分區表信息:
CentOS 5 : partprobe [device]
CentOS 6 ,7 : partx kpartx
partx -a [device]
kpartx -af [device]

3、寫一個腳本,

(1)獲取并列出當前系統上所有的磁盤設備

(2)顯示每個磁盤設備上每個分區相關的空間使用信息

blob.png

運行效果如下:

blob.png

4、總結RAID的各個級別及其組合方式和性能的不同

RAID-0:提供了IO 性能的擴展能力 
讀、寫性能提升 
可用空間 N*min(S1,S2,…) 比如說第一塊硬盤10G 第二塊硬盤20G 第三塊硬盤30G 我們真正能組成RAID 0 是 10G 10G 10G 一共30G 
無容錯能力 一塊硬盤出現問題,其他的硬盤都會受影響,因為數據在RAID 控制器中是平均給每塊硬盤分配的, 
最少磁盤數 2,2+ 
RAID-1: 
讀性能提升 寫性能略有下降 
可用空間 : 1*min(S1,S2,…) 就是最小的那塊硬盤的可硬空間,比如第一塊分10G 第二塊分20G 那么占用的可用空間按照最小的為標準,也就是10G 
有冗余能力 
最少磁盤數 2,2+ 
RAID-4: 
比如第一塊硬盤存的chuk 是1101 第二塊硬盤存的chuk 是0110 那么第三塊硬盤中存儲的是第一塊硬盤上的數據和第二塊硬盤上的數據按位去 異或的結果 
例: 1101 0110 => 1011 
如果說第2塊硬盤壞了 ,那么通過第三塊硬盤上的校驗碼可以找回第二塊硬盤的數據 也就是 讓1011 異或 1101 => 0110 
但是不能2塊硬盤同時壞掉,如果同時壞掉,那么就不能恢復了 
RAID-5: 
模式其實是RAID 0與RAID 1的結合,比RAID 4好的地方就是把校驗的 chuk 循環安置,每個硬盤都有chuk 
讀、寫性能提升 
可用空間: (N-1)*min(S1,S2,S3…) 
有冗余能力 1塊磁盤 
最少磁盤數3,3+ 
RAID-6: 
讀、寫性能提升 
可用空間:(N-2)*min(S1,S2,S3…) 
有容錯能力:2塊硬盤 
最少磁盤數 4,4+ 
混合類型 
RAID-10: 
說白了 就是先把數據切割,然后把切割的chuk 先做成RAID 0,就是給每個組(group兩兩一組)平均分配下去,然后再把這個chuk 在組里分成RAID 1 也就是把chuk 做了一個鏡像放到組里另一個設備上 
讀、寫性能都有提升 
可用空間:N*min(S1,S2,…)/2 
有容錯能力 每組鏡像最多只能壞一塊 
最少磁盤數:4

5、創建一個大小為10G的RAID1 要求有一個空閑盤 而且CHUNK大小為128k

6、創建一個大小為4G的RAID5設備 chunk 大小為256k 格式化為ext4文件系統 要求可開機自動掛載至/backup 目錄 而且不更新訪問時間戳 且支持acl功能

7、寫一個腳本

(1)接收一個以上文件路徑作為參數;

(2)顯示每個文件擁有的行數

(3)總結說明本次共為幾個文件統計了其行數

blob.png 
測試的結果:

blob.png

8、寫一個腳本

(1)傳遞兩個以上字符串當作用戶名

(2)創建這些用戶 且密碼同用戶名

(3)總結說明共創建了幾個用戶

blob.png

測試結果如下:

blob.png

9、寫一個腳本,新建20個用戶 visitor1-visitor20 計算他們的ID之和

blob.png

測試結果如下:

blob.png

10、寫一個腳本,分別統計/etc/rc.d/rc.sysinit、 /etc/rc.d/init.d/functions 和 /etc/fstab 文件中以#開頭的行數之和 以及總的空白行數

blob.png

測試結果:

blob.png

11、寫一個腳本 顯示當前系統上所有默認shell 為bash 的用戶的用戶名,UID 以及所有用戶的UID之和

blob.png

測試結果:

blob.png

12、寫一個腳本、顯示當前系統上所有 擁有附加組的用戶的用戶名、并說明共有多少個此類用戶

blob.png

測試結果:

blob.png

13、創建一個由兩個物理卷組成的大小為20G的卷組 要求 PE 大小為8M 而在卷組中創建一個大小為5G的邏輯卷 mylv1 格式化為ext4 文件系統 開機自動掛載至/users 目錄 支持acl

第一步,創建分區,或者修改分區類型為lvm

blob.png 
從圖中可以發現,有2個物理卷設備 /dev/sdb3 和/dev/sdc1 一個為8G 一個為12G 類型都是LVM

第二步,創建PV

blob.png

第三步,創建VG 并且指定pe 大小 
注意 只有在創建VG的時候,才能更改PE大小

blob.png

第四步 創建LV

blob.png

第五步 格式化為ext4 文件系統 開機掛載至/users 目錄 支持acl

blob.png

如果想要開機自動掛載,那么需要修改/etc/fstab

blob.png

最后保存退出即可

14、創建用戶magedu 其家目錄為/users/magedu 而后su 切換至此用戶,復制多個文件至家目錄

blob.png

15、擴展mylv1 至9G 確保擴展完成后原有的數據完全可用

blob.png

驗證數據是否可用

blob.png

16、縮減mylv1 至7G確??s減完成后原有數據完全可用

第一步,先卸載/dev/myvg/mylv1 這個邏輯卷

blob.png

卸載完畢之后,第二步 檢查這個邏輯卷是否有錯誤

blob.png

第三步,定義縮減mylv1 的大小

blob.png

第四步,重新定義mylv1 大小生效

blob.png

第五步,重新掛載分區,查看源文件

blob.png

17、對mylv1 創建快照 并通過備份數據 要求保留原有的屬主屬組信息

第一步,創建好快照卷:

blob.png 
第二步掛載這個快照卷

blob.png 
第三步 驗證快照卷是否起作用 
這個是快照卷的內容

blob.png

下面我們把/users中的fstab刪除,看看快照卷中是否還有

blob.png

然后切換到快照卷中,查看fstab文件

blob.png

我們發現fstab文件還是存在的 
我們可以ll 查看下fstab 的原有屬主和屬組的信息:

blob.png 
我們會發現屬主和屬組都沒有改變

原創文章,作者:luobo3692003,如若轉載,請注明出處:http://www.www58058.com/57897

(0)
luobo3692003luobo3692003
上一篇 2016-11-09
下一篇 2016-11-09

相關推薦

  • Hello World, Hello Linux.

    文筆不好,請見諒。

    2018-03-26
  • N25第九周博客作業

    1、 寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/sh lg=0 nlg=0 while read line;do   if [[ “${line}” =~“/sbin/nol…

    Linux干貨 2017-03-06
  • 描述計算機的組成及其功能

    CPU:計算器,控制器,寄存器內存輸入輸出設備

    Linux干貨 2016-08-15
  • SHELL腳本基礎速覽

    變量的賦值: Shell變量賦值從右到左進進行賦值 格式:NAME=value 變量的聲明: export 變量名  export NAME=value declare –x 變量名 declare –x NAME=value   readonly 變量名  特定情況下需要使用到只讀變量 readonly NAME=v…

    2017-04-15
  • TIME_WAIT引起Cannot assign requested address報錯

    1.  問題描述      有時候用redis客戶端(php或者java客戶端)連接Redis服務器,報錯:“Cannot assign requested address。”      原因是客戶端頻繁的連接服務器,由于每次連接都在很短時間內結束,導致很多的TIME_WAIT。所以新的連…

    Linux干貨 2016-03-09
  • vim常用快捷鍵

    1、vim /etc/vimrc進入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 來查看 set nu      #行號 set tabstop=4  #一個tab為4個空格長度 set ai  #設置自動縮進 syntax on   #高亮   2、基本 空格鍵 向右移動一格 x 刪除后面…

    2017-09-05
欧美性久久久久