第二周作業(yè)

1. 總結學過的文本處理工具,文件查找工具,文本處理三劍客, 文本格式化命令(printf)的相關命令及選項,示例。


grep: 用于在文本中搜索指定模式的工具。它支持使用正則表達式進行高級搜索。

?例子:grep '/sbin' test.txt

?sed: 流編輯器,用于在文本流中進行文本替換、刪除、插入等操作。它可以在不修改原始文件的情況下對文本進行修改。

?例子:sed 's/\/sbin/print/' test.txt?

?awk: 用于對文本進行處理和報告的強大工具。它支持自定義的文本處理規(guī)則和操作。

?例子: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: 統(tǒng)計文本文件的行數、字數和字符數。?

?例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n'|wc -l?

?find: find 命令用于在文件系統(tǒng)中查找文件和目錄。雖然它主要用于查找文件,但也可以結合其他命令和管道來搜索文件內容。?

?例子: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 次。

|: 或操作,匹配兩個或多個模式中的一個。

(): 分組,用于限制或擴展模式的范圍。

{}: 限定符,用于指定重復次數。

[]: 字符類,用于匹配括號內的任意一個字符。


3. 總結變量命名規(guī)則,不同類型變量(環(huán)境變量,位置變量,只讀變量,局部變量,狀態(tài)變量)如何使用。

變量命令規(guī)則:


命名要求

區(qū)分大小寫不能使程序中的保留字和內置變量:如:if,for

只能使用數字、字母及下劃線,且不能以數字開頭,不支持短橫線

變量名大寫

局部變量小寫

函數名小寫

大駝峰StudentFirstName,由多個單詞組成,且每個單詞的首字母是大寫,其它小寫

小駝峰studentFirstName,由多個單詞組成,第一個單詞的首字母小寫,后續(xù)每個單詞的首字母是大寫,其它小寫

下劃線:student_name

環(huán)境變量

可以使子進程(包括孫子進程)繼承父進程的變量,但是無法讓父進程使用子進程的變量一旦子進程修改從父進程繼承的變量,將會新的值傳遞給孫子進程.

export name=VALUE

位置變量

位置變量:在bash shell中內置的變量,在腳本代碼中調用通過命令行傳遞給腳本的參數

$1,$2, ….. 對應第1個、第2個等參數

$0命令本身,包括路徑

$*傳遞給腳本的所有參數,全部參數合為一個字符串

$@傳遞給腳本的所有參數,每個參數為獨立字符串

$#傳遞給腳本的參數的個數

只讀變量

只讀變量:只能聲明定義,但后續(xù)不能修改和刪除,即常量

聲明只讀變量:

readonly name

查看只讀變量:

readonly -p

局部變量

定義在函數內部的變量

狀態(tài)變量

進程執(zhí)行后,將使用變量$?保存狀態(tài)碼的相關數字,不同的值反應成功或失敗,$?取值范例0-255

$?的值為0 #代表成功

$?的值是1到255 #代表失敗

在腳本中使用以下命令自定義退出狀態(tài)碼

exit [n]

?4. 通過shell編程完成,30雞和兔的頭,80雞和兔的腳,分別有幾只雞,幾只兔??

for i in {1..30}

do

if (( i2+(30-i)4 == 80 )); then

echo "雞的數量為: $i"

echo "兔子的數量為:" $((30-i))

fi

done

5. 結合編程的for循環(huán),條件測試,條件組合,完成批量創(chuàng)建100個用戶, 1)for遍歷1..1002)先id判斷是否存在3)用戶存在則說明存在,用戶不存在則添加用戶并說明已添加。

1)for遍歷1..100'

2)先id判斷是否存在

3)用戶存在則說明存在,用戶不存在則添加用戶并說明已添加。 ?

#!/bin/bash

name=user

for i in {1..100};do id $name$i &> /dev/null

if [ $? -eq 0 ];then

?echo "$name$i已存在"

else

?useradd -d /home/$name$i -s /bin/bash $name$i && echo "$name$i已創(chuàng)建"

fi

done

6. 磁盤存儲術語總結: head, track, sector, sylinder.?

head-磁頭 track-磁道 sector-扇區(qū) sylinder-柱面

7. 總結MBR,GPT結構。


MBR: 使用32位表示扇區(qū)數,分區(qū)不超過2T

0磁道0扇區(qū):512bytes

446bytes: boot loader 啟動相關

64bytes:分區(qū)表,其中每16bytes標識一個分區(qū)

2bytes: 55AA,標識位

MBR分區(qū)中一塊硬盤最多有4個主分區(qū),也可以3主分區(qū)+1擴展(N個邏輯分區(qū))

MBR分區(qū):主和擴展分區(qū)對應的1 -- 4,/dev/sda3,邏輯分區(qū)從5開始,/dev/sda5

GPT: 支持128個分區(qū),使用64位,支持8Z(512Byte/block )- 64Z (4096Byte/block)

使用128位UUID(Universally Unique Identifier)表示磁盤和分區(qū)GPT分區(qū)表自動備份在頭和尾兩份,并有CRC檸驗位

?8. 總結學過的分區(qū),文件系統(tǒng)管理,SWAP管理相關的命令及選項,示例fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff

fidk

fdisk -l [-u] [device ... ] 查看分區(qū)

fdisk [device ... ] 管理MBR分區(qū)

gdisk [device ... ] 類fdisk 的GPT分區(qū)工具

子命令:

p 分區(qū)列表

t 更改分區(qū)類型

n 創(chuàng)建新分區(qū)

d 刪除分區(qū)

V 校驗分區(qū)

u 轉換單位

w 保存并退出

q 不保存并退出

查看內核是否已經識別新的分區(qū)

cat /proc/partitions

CentOS 7,8同步分區(qū)表:

partprobe

parted

格式:

parted [選項] ... [設備 [命令 [參數] ... ] ... ]

范例:

parted /dev/sdb mklabel gpt|msdos

parted /dev/sdb print

parted /dev/sdb mkpart primary 1 200(默認M)

parted /dev/sdb rm 1

parted -1 列出所有硬盤分區(qū)信息

mkfs

是分區(qū)創(chuàng)建文件格式 mkfs .ext4 /dev/sda mkfs .xfs /dev/sda

xfs_info 查看xfs文件信息

mount -a 自動掛載文件系統(tǒng) mount -r 只讀掛載

umount 卸載掛載點

swapon 啟用swap分區(qū)

swapoff 禁用swap分區(qū)

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、. 總結學過的文本處理工具,文件查找工具,文本處理三劍客, 文本格式化命令(printf)的相關命令及選項,示...
    周泰民ztm閱讀 138評論 0 0
  • 1. 總結學過的文本處理工具,文件查找工具,文本處理三劍客, 文本格式化命令(printf)的相關命令及選項,示例...
    14fed2575abf閱讀 100評論 0 0
  • 1. 總結linux安全模型 認證:驗證用戶身份 授權:不同用戶設置不同權限 審計 2. 總結學過的權限,屬性及A...
    渾樹閱讀 218評論 0 0
  • 一、總結vim的三種模式的切換,配置vimrc實現寫腳本自動生成注釋. 答:vim的三種模式有命令模式、插入模式和...
    早日開除老板閱讀 85評論 0 0
  • 親愛的小伙伴們,作業(yè)來一波吧 ###第一周作業(yè),請同學們完成作業(yè)后,將本周博客作業(yè)提交地址:https://www...
    散步的獅子閱讀 223評論 0 0

友情鏈接更多精彩內容