第四周作業


1、描述GPT是什麼,應該怎麼使用。
2、創建一個10G的分區,並格式化爲ext4文件系統。要求:
(1)block大小爲2048,預留空間20%,卷標爲MYDATA,
(2) 掛載至/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳。
(3)可開機自動掛載。
3、創建一個大小爲1G的swap分區,並啓用。
4、編寫腳本計算/etc/passwd文件中第10個用戶和第20個用戶id號之和。
5、將當前主機名保存至hostName變量中,主機名如果爲空,或者爲localhost.localdomain則將設置爲www.magedu.com
6、編寫腳本,通過命令行參數傳入一個用戶名,判斷id號是偶數還是奇數。
7、lvm基本應用以及擴展縮減實現。

壹、描述GPT是什麼,應該怎麼使用。

GUID磁盤分區表(GUID Partition Table,縮寫:GPT)其含義爲“全局唯一標識磁盤分區表”,是一個實體硬盤的分區表的結構佈局的標準。它是可擴展固件接口(EFI)標準(被Intel用於替代個人計算機的BIOS)的一部分,被用於替代BIOS系統中的一64bits來存儲邏輯塊地址和大小信息的主開機紀錄(MBR)分區表。MBR分區表不支持容量大於2TB的分區,GPT分區表支持最多128PB的硬盤和分區。GPT 磁盤能夠實現巨大的容量。GPT 磁盤上的分區數量不受臨時方案(比如 MBR Extended Boot Record (EBR) 定義的容器分區)的限制。GPT 磁盤分區定義明確並能夠完全自動識別。平臺操作的關鍵數據被放置在分區中而不是未分區或“隱藏”扇區中。GPT 磁盤使用原始的、備份的分區表存儲冗餘和 CRC32 字段,以提高分區數據結構的完整性。GPT 分區格式使用版本號和容量字段支持進一步的擴展。每個 GPT 分區都有獨特的標識 GUID 和分區內容類型,所以不需要協調即可防止分區標識符衝突。每個 GPT 分區都有一個 36 字符的 Unicode 名稱,這意味着任何軟件都能夠呈現一個人工可讀的分區名稱,而無需瞭解分區的其他內容。

對於總容量大於2TB的硬盤,必須選擇GPT分區表,才能識別所有的硬盤容量。分區表必須是UEFI BIOS環境。


貳、創建一個10G的分區,並格式化爲ext4文件系統。要求:

(1)block大小爲2048,預留空間20%,卷標爲MYDATA,
(2) 掛載至/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳。
(3)可開機自動掛載。

步驟如下: 先分區,後格式化

------分區------

新增一個硬盤 並查看新增硬盤信息:

~]# fdisk -l sdb爲新添加的硬盤:

fdisk /dev/sdb對新加硬盤分區
輸入m可以查看幫助
新建10G磁盤空間 ,再輸入 w 保存配置

------格式化------

mkfs 用於在設備上(通常爲硬盤)創建Linux文件系統。mkfs本身並不執行建立文件系統的工作,而是去調用相關的程序來執行。

【語法】

mkfs(選項)(參數)

【選項】

fs:指定建立文件系統時的參數;
-t<文件系統類型>:指定要建立何種文件系統,文件系統是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等;
-v:顯示版本信息與詳細的使用方法;
-V:顯示簡要的使用方法;
-c:在製做檔案系統前,檢查該partition是否有壞軌。

mkfs.ext4(選項)(參數)

【選項】
-c 壞塊測試
-L 設置volume 標籤,最長爲16個byte
-m 指定保留空間百分比,爲root用戶
-M 設置最後掛載目錄
-n 不真正創建文件系統,只是顯示創建的信息
-S 只寫超級塊和塊組描述符。(當超級塊和備份超級塊錯誤後,可以用來恢復數據。因爲它不會touching inode表和bitmap)

掛載至/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳。
可開機自動掛載

ls -l /dev/disk/by-uuid 查詢新增硬盤uuid
/etc/fstab 中添加以下內容

UUID=bd6e7c18-1071-4962-a071-febddabc4d49 /mydata                 ext4    defaults,noatime,noexec   0 0  


叄、創建一個大小爲1G的swap分區,並啓用。

採用分區創建

此時/dev/下沒有新增的分區,運行 partprobe 即可. partprobe-----用於重讀分區表,當出現刪除文件後,出現仍然佔用空間。可以partprobe在不重啓的情況下重讀分區。

=====================================

採用文件創建

肆、編寫腳本計算/etc/passwd文件中第10個用戶和第20個用戶id號之和。

#!/bin/bash
users1=$(cat /etc/passwd|wc -l)
[ $users1 -lt 20 ] && echo "less than 20users" && exit 2
userid10=$(head -n 10 /etc/passwd | tail -n 1 | cut -f 3 -d ":")
userid20=$(head -n 20 /etc/passwd | tail -n 1 | cut -f 3 -d ":")
usersum=$[$userid10+$userid20]

echo "the 10th user id is $userid10"
echo "the 20th user id is $userid20"
echo "the sum is $usersum"

運行結果如下



伍、將當前主機名保存至hostName變量中,主機名如果爲空,或者爲localhost.localdomain則將設置爲www.magedu.com

#!/bin/bash
hostName=$(hostname)
[ "$hostName" == "localhost.localdomain" -o -z "hostName" -o -n "hostname" ] && hostnamectl set-hostname www.magedu.com;echo 'hostName='$hostName || echo "nothing to be change"

陸、編寫腳本,通過命令行參數傳入一個用戶名,判斷id號是偶數還是奇數。

#!/bin/bash  
#第四周陸、編寫腳本,通過命令行參數傳入一個用戶名,判斷id號是偶數還是奇數。
read -p "Enter a username: " usename
id=$(cat /etc/passwd |grep $username |cut -f3 -d:)
echo "The user \"$username\" id is $id"
[ `expr $id % 2` -eq 0 ] && echo "this id is even number" || echo "this id is odd number"   

柒、lvm基本應用以及擴展縮減實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章