N25-第七周作業

第七周

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

(0)
N25-深圳-尋覓N25-深圳-尋覓
上一篇 2017-02-24 15:13
下一篇 2017-02-24 19:27

相關推薦

  • 德摩根定律

     德摩根定律: 非(P且Q) = (非P) 或 (非Q) 非(P或Q) = (非P) 且 (非Q) 德·摩根定律在數理邏輯的定理推演中,在計算機的邏輯設計中以及數學的集合運算中都起著重要的作用。他的發現影響了喬治·布爾從事的邏輯問題代數解法的研究。這鞏固了德摩根作為該規律的發現者的地位,盡管亞里士多德也曾注意到類似現象,且這也為古希臘與中世紀的邏輯…

    Linux干貨 2016-08-15
  • sed簡介及常見用法

    sed是一個文本流處理器,配合正則表達式用可以實現很多文本處理操作。 和grep一樣,sed是一行一行的處理的。sed處理文本時,首先會將源文件復制一份到內存中,然后將文本一行一行拿到模式空間內進行操作,最后輸出到標準輸出,即屏幕上。 在模式空間中,每一行都會根據用戶給的條件進行匹配,匹配到了進行編輯后輸出,沒有匹配到,直接輸出到標準輸出。sed除了模式空間…

    2018-01-04
  • 第二周

    3、(1)、  :  ~]# mkdir -p /tmp/{a_c,a_d,b_c,b_d}                  or     ~]# …

    Linux干貨 2016-08-22
  • Linux中正則表達式和grep的使用

    正則表達式在Linux經常配合grep,sed和awk等用于搜尋關鍵字。正則表達式分為正則表達式和擴展正則表達式: 一、正則表達式 1.1 元字符: .:匹配任意字符    []:匹配[]中的任意一個字符 [^]:匹配[]以外的任意字符 [:alpha:]大小寫英文字母 [:digit:]:十進制數字 [:xdigit…

    Linux干貨 2017-04-08
  • nginx初步

    一、知識整理 1、查看進程使用的cpu;ni查看nice值 [root@localhost html]# ps axo pid,comm,psr,ni  43769 nginx          &n…

    Linux干貨 2016-10-31
  • 重定向及tr命令詳解及其在管道中的使用簡述

    一、標準輸入和輸出及其重定向         1.標準輸入指的是來自鍵盤的輸入,通常用0來表示;標注輸出是默認輸出到當前終端窗口,用1來表示;標準錯誤輸出同樣默認輸出到當前終端窗口,用2來表示。除標準輸出之外,我們還可以通過重定向來更改默認的輸入和輸出方式。   &nb…

    Linux干貨 2016-08-11

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-15 01:19

    贊~~寫的比較認真,繼續加油~

欧美性久久久久