第二週-雲端計算運維作業

TestAL4193發表於2024-04-13
  1. 總結學過的文字處理工具,檔案查詢工具,文字處理三劍客, 文字格式化命令(printf)的相關命令及選項,示例。

     grep: 用於在文字中搜尋指定模式的工具。它支援使用正規表示式進行高階搜尋。
      例子:grep '/sbin' test.txt
     sed: 流編輯器,用於在文字流中進行文字替換、刪除、插入等操作。它可以在不修改原始檔案的情況下對文字進行修改。
      例子:sed 's/\/sbin/print/' test.txt
     awk: 用於對文字進行處理和報告的強大工具。它支援自定義的文字處理規則和操作。
      例子:awk -F ":" '{print $1}' /etc/passwd
     cut: 用於從文字中剪下出指定欄位或列的工具。
      例子:ip addr|grep 'link'|head -1|cut -d':' -f2
     sort: 對文字進行排序的工具,可以按行、按欄位等進行排序。
      例子:echo "5 3 1 4 2" | tr ' ' '\n' | sort -n
     uniq: 用於從排序後的文字中刪除重複的行。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n' | sort -n|uniq
     tr: 用於轉換或刪除文字中的字元。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n'
     head 和 tail: 分別用於顯示文字的開頭幾行和末尾幾行。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n'| head -1
     cat: 將檔案連線到標準輸出或檔案的工具,通常用於檢視檔案內容。
      例子:cat test.txt
     wc: 統計文字檔案的行數、字數和字元數。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n'|wc -l
     find: find 命令用於在檔案系統中查詢檔案和目錄。雖然它主要用於查詢檔案,但也可以結合其他命令和管道來搜尋檔案內容。
      例子:find / -name xx.sh
     which:查詢檔案,多用於查詢命令來源
      例子:which ls
     whereis:查詢工具速度最快的,只能查詢二進位制程式、文件和原始碼
      例子:whereis touch  
      printf:一個用於格式化輸出文字的命令。它可以按照指定的格式將文字輸出到標準輸出或指定的檔案中
      例子:printf "Name: %s\tAge: %d\n" "John" 25
    
  2. 總結文字處理的grep命令相關的基本正則和擴充套件正規表示式。
    基本正規表示式(:

     .: 匹配任意單個字元,除了換行符。
     []: 匹配括號內的任意一個字元。
     ^: 匹配行首的位置。
     $: 匹配行尾的位置。
     *: 匹配其前面的字元出現 0 次或多次。
     \: 跳脫字元,用於匹配特殊字元。
    

擴充套件正規表示式 :

	+: 匹配其前面的字元出現 1 次或多次。
	?: 匹配其前面的字元出現 0 次或 1 次。
	|: 或操作,匹配兩個或多個模式中的一個。
	(): 分組,用於限制或擴充套件模式的範圍。
	{}: 限定符,用於指定重複次數。
	[]: 字元類,用於匹配括號內的任意一個字元。
  1. 總結變數命名規則,不同型別變數(環境變數,位置變數,只讀變數,區域性變數,狀態變數)如何使用。

變數命令規則:

1.以字母或下劃線開頭2.只能包含字母、數字和下劃線
3.區分大小寫4.不能使用關鍵字5.推薦使用小寫字母
6.避免使用特殊字元7.使用有意義的名稱
  1. 透過shell程式設計完成,30雞和兔的頭,80雞和兔的腳,分別有幾隻雞,幾隻兔?

for i in {1..30}
do
if (( i2+(30-i)4 == 80 )); then
echo "雞的數量為: $i"
echo "兔子的數量為:" $((30-i))
fi
done

  1. 結合程式設計的for迴圈,條件測試,條件組合,完成批次建立100個使用者,
    1)for遍歷1..100'
    2)先id判斷是否存在
    3)使用者存在則說明存在,使用者不存在則新增使用者並說明已新增。

     for i in {1..100}
     do
     	   grep T$i /etc/passwd
     	   # if [ $? -eq 0 ]; then
     	     if [ ! $? -eq 0 ]; then
     	        useradd -M T$i
     		  #  userdel T$i
     	       echo "使用者以新增"
     	     else
     	       echo "使用者已經存在"        
     	   fi
    
     done
    
  2. 磁碟儲存術語總結: head, track, sector, sylinder.

     磁頭(Head): 磁頭是磁碟驅動器上的一個元件,用於讀取和寫入資料。每個磁碟表面上都有一個或多個磁頭,它們可以在磁碟的不同磁軌(track)上移動,從而實現資料的讀取和寫入。
     磁軌(Track): 磁軌是磁碟表面上的一個圓形軌道,沿著磁碟的半徑方向延伸。磁碟上的資料儲存在多個磁軌上,每個磁軌被劃分為一個或多個扇區(sector)。磁頭可以沿著磁碟的半徑方向在不同的磁軌之間移動,以讀取或寫入資料。
     扇區(Sector): 扇區是磁碟上的最小資料儲存單位,通常儲存一個固定大小的資料塊(例如 512 位元組)。磁碟的表面被劃分為多個同心圓狀的磁軌,每個磁軌由多個扇區組成。資料可以透過磁頭讀取或寫入磁碟的扇區。
     柱面(Cylinder): 柱面是垂直穿過所有磁碟表面的一個虛擬圓柱體,由相同半徑的各個磁軌組成。柱面號通常用來表示位於磁碟的不同磁軌上的扇區的物理位置。在定址中,柱面號可以用來定位資料的儲存位置。
    
  3. 總結MBR,GPT結構。

MBR:
容量限制: MBR 方案最多支援 2TB 的硬碟容量。
分割槽限制: MBR 方案最多支援 4 個主分割槽,或者 3 個主分割槽和 1 個擴充套件分割槽(可以包含多個邏輯分割槽)。
引導方式: MBR 採用傳統的引導方式,由 446 位元組的引導程式碼、64 位元組的分割槽表和 2 位元組的標識組成。
主要用途: MBR 格式通常用於 BIOS(基於傳統 BIOS 的計算機)引導的硬碟。

GPT:
容量限制: GPT 方案支援最多 18EB的硬碟容量。
分割槽限制: GPT 方案支援最多 128 個分割槽條目,不再受到主分割槽和擴充套件分割槽的限制。
引導方式: GPT 採用更現代的 EFI引導方式,引導資料儲存在備份的分割槽表中。
主要用途: GPT 格式通常用於 UEFI引導的計算機硬碟,它更適用於較大容量的硬碟和更靈活的分割槽管理需求。

  1. 總結學過的分割槽,檔案系統管理,SWAP管理相關的命令及選項,示例
    fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff

     fdisk:用於對磁碟進行分割槽。
     例子:fdisk /dev/sdb
     parted:磁碟分割槽工具,功能比fdisk更加強大,支援更多檔案系統型別
     例子:parted /dev/sdb 
     mkfs:用於在檔案系統上建立新檔案系統。
     例子: mkfs.ext4 /dev/sdb1
     tune2fs:用於調整 ext2/ext3/ext4 檔案系統的引數和屬性。
     例子: tune2fs -L mydata /dev/sdb1
     xfs_info:用於顯示 XFS 檔案系統的資訊。
     例子:xfs_info /dev/sdb1
     fsck:用於檢查和修復檔案系統
     例子 fsck.ext4 -y /dev/sdb1
     mount:用於將檔案系統掛載到檔案系統層次結構中的指定位置。
     例子 mount /dev/sdb1 /mnt/data
     umount:用於解除安裝已經掛載的檔案系統。
     例子:umount /mnt/data
     swapon:用於啟用交換分割槽或檔案。
     例子 swapon /dev/sdb2
     swapoff:用於關閉交換分割槽或檔案。
     例子 swapoff /dev/sdb2
    

相關文章