<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      1、總結(jié)學(xué)過(guò)的文本處理工具,文件查找工具,文本處理三劍客, 文本格式化命令(printf)的相關(guān)命令及選項(xiàng),示例。

      • cat
      -E:顯示行結(jié)束符$
      -A:顯示所有控制符
      -n:對(duì)顯示的每一行進(jìn)行編號(hào)
      -b:非空行編號(hào)
      -s:壓縮連續(xù)的空行成一行
      
      • nl
        相當(dāng)于cat -b
      • tac
        逆向顯示文本內(nèi)容
      • rev
        將同一行的內(nèi)容逆向顯示
      • head
        可以顯示文件或標(biāo)準(zhǔn)輸入的前面行
      -c #  指定獲取前#字節(jié)
      -n #  指定獲取前#行,#如果為負(fù)數(shù),表示從文件頭取到的倒數(shù)第#前
      -#     和-n #一樣
      
      • tail
        查看文件或標(biāo)準(zhǔn)輸入的倒數(shù)行
      -c #  指定獲取后#字節(jié)
      -n #  指定獲取后#行,#如果為負(fù)數(shù),表示從開(kāi)頭第#行到文件結(jié)束
      -#     和-n #一樣
      -f    跟蹤顯示文件fd新追加的內(nèi)容,常用于日志監(jiān)控,相當(dāng)于--follow=descriptor,當(dāng)文件刪除再新建同名文件,將無(wú)法繼續(xù)跟蹤文件
      -F    跟蹤文件,相當(dāng)于--follow=name --retry,當(dāng)文件刪除再新建同名文件,將可以繼續(xù)跟蹤文件
      
      • cut
      -d:指明分隔符
      -f:
         #:第#個(gè)字段,例如:3
         #,#:離散的多個(gè)字段,例如:1,3,6
         #-#:連續(xù)的多個(gè)字段,例如1-6
      -c:按字符切割
      --output-delimiter=string 指定輸出分隔符
      
      • paste
        合并多個(gè)文件同行號(hào)的到一行
      -d #分隔符:指定分割符,默認(rèn)用tab
      -s:所有行合成一行顯示
      
      • wc
        wc命令可以用于統(tǒng)計(jì)文件的行總數(shù),單詞總數(shù),字節(jié)總數(shù)和字符總數(shù),可以對(duì)文件或stdin中的數(shù)據(jù)統(tǒng)計(jì)
      -l:只記數(shù)行數(shù)
      -w:只計(jì)數(shù)單詞總數(shù)
      -c:只計(jì)數(shù)字節(jié)總數(shù)
      -m:只計(jì)數(shù)字符總數(shù)
      -L:顯示文件中最長(zhǎng)行的長(zhǎng)度
      
      • sort
        把整理過(guò)的文本顯示在stdout中,不改變?cè)嘉募?/li>
      -r 執(zhí)行反方向(右上到下)整理
      -R 隨機(jī)順序
      -n 執(zhí)行數(shù)字大小整理
      -h 按照人類(lèi)可讀排序如:2k 1G
      -f 選項(xiàng)忽略字符串中的字符大小寫(xiě)
      -u 合并重復(fù)項(xiàng),去重
      -t c 使用c做字段界定符
      -k # 按照使用c為字符分割的#列來(lái)整理,能夠使用多次
      
      • uniq
        從輸入中刪除前后相接的重復(fù)的行
      -c 顯示每行重復(fù)出現(xiàn)的次數(shù)
      -d 僅顯示重復(fù)過(guò)的行
      -u 僅顯示不曾重復(fù)的行
      
      • diff
        diff命令比較兩個(gè)文件中的區(qū)別
      -u 輸出統(tǒng)一的unified的格式文件,適用于補(bǔ)丁文件
      
      • grep
        常見(jiàn)選項(xiàng)
      --color=auto	對(duì)匹配到的文本著色顯示
      -m #            匹配#次后停止
      -v              顯示不被pattern匹配到的行
      -i              忽略大小寫(xiě)
      -n              顯示匹配的行號(hào)
      -c              統(tǒng)計(jì)匹配的行數(shù)
      -o              僅顯示匹配到的字符串
      -q              靜默模式,不輸出任何信息
      -A #            after,后#行
      -B #            before,前#行
      -C #            context,前后各#行
      -e              實(shí)現(xiàn)多個(gè)選項(xiàng)間的邏輯
      -w              匹配整個(gè)單詞
      -E              使用ERE,相當(dāng)于egrep
      -f file         根據(jù)模式文件處理,如:grep -f t1.txt t2.txt找出兩個(gè)文件相同的內(nèi)容
      -r              遞歸處理,但不處理軟鏈接
      -R              遞歸處理,但處理軟鏈接
      
      • sed
        常用選項(xiàng)
      -n          不輸出模式空間到屏幕,即不自動(dòng)打印
      -e          多點(diǎn)編輯
      -f file     從指定文件中讀取編輯腳本
      -r          使用擴(kuò)展正則表達(dá)式
      -i.bak      備份文件并原處編輯
      

      script命令格式 '地址命令'
      地址格式:

      1、不給地址,對(duì)全文進(jìn)行處理
      2、單地址:
      	#:指定的行
      	$:最后一行
      	/pattern/:被此模式所能夠匹配到的每一行
      3、地址范圍:
      	#,#            從#行到第#行,3,6 從第3行到第6行
      	#,+#           從#行到+#行,3,+4 表示從3行到第7行
      	/part1/,/part2/
      	#,/part/
      	/part/,#
      4、步進(jìn):~
      	1~2	奇數(shù)行
      	2~2	偶數(shù)行
      

      命令:

      p                  打印當(dāng)前模式空間內(nèi)容,追加到默認(rèn)輸出之后
      Ip                 忽略大小寫(xiě)輸出
      d                  刪除模式空間匹配的行,并立即啟用下一輪循環(huán)
      a [\]text          在指定行后面追加文本,支持使用\n實(shí)現(xiàn)多行追加
      i [\]text          在行前面插入文本
      c [\]text          替換行為單行或多行文本
      w file             保存模式匹配的行至指定文件
      r file             讀取指定文件的文本至模式空間中匹配到的行后
      =                  為模式空間中的行打印行號(hào)
      !                  模式空間中匹配行取反處理
      q                  結(jié)束或退出sed
      

      查找替換

      s/pattern/string/修飾符       查找替換,支持使用其它分隔符,可以是其它形式:s@@@,s###
      g                            行內(nèi)全局替換      
      p                            顯示替換成功的行
      w  /PATH/FILE                將替換成功的行保存至文件中
      I,i                          忽略大小寫(xiě)
      

      2、總結(jié)文本處理的grep命令相關(guān)的基本正則和擴(kuò)展正則表達(dá)式。

      • 基本正則

      字符匹配

      .	#匹配任意單個(gè)字符(除了\n)可以是漢字或其他國(guó)家文字
      []	#匹配指定范圍內(nèi)的任意單個(gè)字符,示例:[wang] [0-9] [a-z] [a-zA-Z]
      [^]	#匹配指定范圍外的任意單個(gè)字符,示例:[^wang]
      [:digit:]	#任意數(shù)字,相當(dāng)于0-9
      [:lower:]	#任意小寫(xiě)字母,表示a-z
      [:upper:]	#任意大寫(xiě)字母,表示A-Z
      [:alpha:]	#任意大小寫(xiě)字母
      [:alnum:]	#任意數(shù)字或字母
      [:blank:]	#水平空白字符
      [:space:]	#水平或垂直空白字符
      [:punct:]	#標(biāo)點(diǎn)符號(hào)
      [:print:]	#可打印字符
      [:cntrl:]	#控制(非打印)字符
      [:graph:]	#圖形字符
      [:xdigit:]	#十六進(jìn)制字符
      

      匹配次數(shù)
      要用在指定次數(shù)的字符后面,用于指定前面的字符要出現(xiàn)的次數(shù)

      *	    #匹配前面的字符任意次數(shù),包括0次,盡可能長(zhǎng)的匹配
      .*	    #任意長(zhǎng)度的任意字符
      \?	    #匹配其前面的字符出現(xiàn)0次或1次,即:可有可無(wú)
      \+	    #匹配其前面的字符出現(xiàn)最少1次,即>=1
      \{n\}   #匹配前面的字符n次
      \{m,n\}	#匹配前面的字符至少m次,至多n次
      \{,n\}	#匹配前面的字符至多n次,<=n
      \{n,\}	#匹配前面的字符至少n次,>=n
      

      位置錨定
      用于定位出現(xiàn)的位置

      ^	            #行首錨定,用于模式的最左側(cè)
      $		        #行尾錨定,用于模式的最右側(cè)
      ^PATTERN$	    #用于模式匹配整行
      ^$              #空行
      ^[[:space:]]*$	#空白行
      \<或\b          #詞首鎖定,用于單詞模式的左側(cè)
      \>或\b          #詞尾鎖定,用于單詞模式的右側(cè)
      \<PATTERN\>	    #匹配整個(gè)單詞
      

      分組
      分組:用()將多個(gè)字符捆綁在一起,當(dāng)作一個(gè)整體處理
      后向引用:分組括號(hào)中的模式匹配到的內(nèi)容會(huì)被正則表達(dá)式記錄在內(nèi)部的變臉中,這些變量的命名方式為:\1,\2,\3,.....
      注意:\0表示正則表達(dá)式中匹配所有的字符

      \(A\(B\)\)
      \1:A\(B\)
      \2:B
      

      或者
      或者:a\ |b
      示例:

      a\|b	#a或b
      C\|cat	#C或cat
      \(C\|c\)at	#Cat或cat
      
      • 擴(kuò)展正則表達(dá)式元字符

      字符匹配

      .	#匹配任意單個(gè)字符(除了\n)可以是漢字或其他國(guó)家文字
      []	#匹配指定范圍內(nèi)的任意單個(gè)字符,示例:[wang] [0-9] [a-z] [a-zA-Z]
      [^]	#匹配指定范圍外的任意單個(gè)字符,示例:[^wang]
      [:digit:]	#任意數(shù)字,相當(dāng)于0-9
      [:lower:]	#任意小寫(xiě)字母,表示a-z
      [:upper:]	#任意大寫(xiě)字母,表示A-Z
      [:alpha:]	#任意大小寫(xiě)字母
      [:alnum:]	#任意數(shù)字或字母
      [:blank:]	#水平空白字符
      [:space:]	#水平或垂直空白字符
      [:punct:]	#標(biāo)點(diǎn)符號(hào)
      [:print:]	#可打印字符
      [:cntrl:]	#控制(非打印)字符
      [:graph:]	#圖形字符
      [:xdigit:]	#十六進(jìn)制字符
      

      次數(shù)匹配

      *	    #匹配前面的字符任意次數(shù),包括0次,盡可能長(zhǎng)的匹配
      .*	    #任意長(zhǎng)度的任意字符
      ?	    #匹配其前面的字符出現(xiàn)0次或1次,即:可有可無(wú)
      +	    #匹配其前面的字符出現(xiàn)最少1次,即>=1
      {n}     #匹配前面的字符n次
      {m,n}	#匹配前面的字符至少m次,至多n次
      {,n}	#匹配前面的字符至多n次,<=n
      {n,}	#匹配前面的字符至少n次,>=n
      

      位置錨定

      ^	            #行首錨定,用于模式的最左側(cè)
      $		        #行尾錨定,用于模式的最右側(cè)
      ^PATTERN$	    #用于模式匹配整行
      ^$              #空行
      ^[[:space:]]*$	#空白行
      \<或\b          #詞首鎖定,用于單詞模式的左側(cè)
      \>或\b          #詞尾鎖定,用于單詞模式的右側(cè)
      \<PATTERN\>	    #匹配整個(gè)單詞
      

      分組其他

      ()		#分組
      |		#或者
      a|b		#a或b
      C|cat	#C或cat
      (C|c)at	#Cat或cat
      

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

      • 命名要求
        區(qū)分大小寫(xiě)不能使程序中的保留字和內(nèi)置變量:如:if,for
        只能使用數(shù)字、字母及下劃線,且不能以數(shù)字開(kāi)頭,不支持短橫線
        變量名大寫(xiě)
        局部變量小寫(xiě)
        函數(shù)名小寫(xiě)
        大駝峰StudentFirstName,由多個(gè)單詞組成,且每個(gè)單詞的首字母是大寫(xiě),其它小寫(xiě)
        小駝峰studentFirstName,由多個(gè)單詞組成,第一個(gè)單詞的首字母小寫(xiě),后續(xù)每個(gè)單詞的首字母是大寫(xiě),其它小寫(xiě)
        下劃線:student_name
      • 環(huán)境變量
        可以使子進(jìn)程(包括孫子進(jìn)程)繼承父進(jìn)程的變量,但是無(wú)法讓父進(jìn)程使用子進(jìn)程的變量一旦子進(jìn)程修改從父進(jìn)程繼承的變量,將會(huì)新的值傳遞給孫子進(jìn)程.
        export name=VALUE
      • 位置變量
        位置變量:在bash shell中內(nèi)置的變量,在腳本代碼中調(diào)用通過(guò)命令行傳遞給腳本的參數(shù)
        $1,$2, ….. 對(duì)應(yīng)第1個(gè)、第2個(gè)等參數(shù)
        $0命令本身,包括路徑
        $*傳遞給腳本的所有參數(shù),全部參數(shù)合為一個(gè)字符串
        $@傳遞給腳本的所有參數(shù),每個(gè)參數(shù)為獨(dú)立字符串
        $#傳遞給腳本的參數(shù)的個(gè)數(shù)
      • 只讀變量
        只讀變量:只能聲明定義,但后續(xù)不能修改和刪除,即常量
        聲明只讀變量:
        readonly name
        查看只讀變量:
        readonly -p
      • 局部變量
        定義在函數(shù)內(nèi)部的變量
      • 狀態(tài)變量
        進(jìn)程執(zhí)行后,將使用變量$?保存狀態(tài)碼的相關(guān)數(shù)字,不同的值反應(yīng)成功或失敗,$?取值范例0-255
        $?的值為0 #代表成功
        $?的值是1到255 #代表失敗
        在腳本中使用以下命令自定義退出狀態(tài)碼
        exit [n]

      4、通過(guò)shell編程完成,30雞和兔的頭,80雞和兔的腳,分別有幾只雞,幾只兔?

      答:rabbit=10 chicken=20

      #!/bin/bash
      foot=80
      head=30
      
      rabbit=$[$[foot-head-head]/2]
      chicken=$[head-rabbit]
      
      echo rabbit=$rabbit chicken=$chicken
      
      #!/bin/bash
      ch=2
      ra=4
      head=30
      feet=80
      
      for i in {1..29};do
      	if [ $[$[i*ra]+$[$[head-i]*ch]] -eq $feet ] ;then
      		echo rabbit=$i chicken=$[head-i]
      	fi
      done
      

      5、結(jié)合編程的for循環(huán),條件測(cè)試,條件組合,完成批量創(chuàng)建100個(gè)用戶(hù),

      1)for遍歷1..100
      2)先id判斷是否存在
      3)用戶(hù)存在則說(shuō)明存在,用戶(hù)不存在則添加用戶(hù)并說(shuō)明已添加。

      #!/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、磁盤(pán)存儲(chǔ)術(shù)語(yǔ)總結(jié): head, track, sector, sylinder.

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

      7、總結(jié)MBR,GPT結(jié)構(gòu)。

      • MBR: 使用32位表示扇區(qū)數(shù),分區(qū)不超過(guò)2T
        0磁道0扇區(qū):512bytes
        446bytes: boot loader 啟動(dòng)相關(guān)
        64bytes:分區(qū)表,其中每16bytes標(biāo)識(shí)一個(gè)分區(qū)
        2bytes: 55AA,標(biāo)識(shí)位
        MBR分區(qū)中一塊硬盤(pán)最多有4個(gè)主分區(qū),也可以3主分區(qū)+1擴(kuò)展(N個(gè)邏輯分區(qū))
        MBR分區(qū):主和擴(kuò)展分區(qū)對(duì)應(yīng)的1 -- 4,/dev/sda3,邏輯分區(qū)從5開(kāi)始,/dev/sda5
      • GPT: 支持128個(gè)分區(qū),使用64位,支持8Z(512Byte/block )- 64Z (4096Byte/block)
        使用128位UUID(Universally Unique Identifier)表示磁盤(pán)和分區(qū)GPT分區(qū)表自動(dòng)備份在頭和尾兩份,并有CRC檸驗(yàn)位

      8、總結(jié)學(xué)過(guò)的分區(qū),文件系統(tǒng)管理,SWAP管理相關(guān)的命令及選項(xiàng),示例fdisk,parted,mkfs,tune2fs,xfs_info,fsck,mount,umount,swapon,swapoff

      • fidk
        fdisk -l [-u] [device ... ] 查看分區(qū)
        fdisk [device ... ] 管理MBR分區(qū)
        gdisk [device ... ] 類(lèi)fdisk 的GPT分區(qū)工具
        子命令:
        p 分區(qū)列表
        t 更改分區(qū)類(lèi)型
        n 創(chuàng)建新分區(qū)
        d 刪除分區(qū)
        V 校驗(yàn)分區(qū)
        u 轉(zhuǎn)換單位
        w 保存并退出
        q 不保存并退出
        查看內(nèi)核是否已經(jīng)識(shí)別新的分區(qū)
        cat /proc/partitions
        CentOS 7,8同步分區(qū)表:
        partprobe
      • parted
        格式:
        parted [選項(xiàng)] ... [設(shè)備 [命令 [參數(shù)] ... ] ... ]
        范例:
        parted /dev/sdb mklabel gpt|msdos
        parted /dev/sdb print
        parted /dev/sdb mkpart primary 1 200(默認(rèn)M)
        parted /dev/sdb rm 1
        parted -1 列出所有硬盤(pán)分區(qū)信息
      • mkfs
        是分區(qū)創(chuàng)建文件格式 mkfs .ext4 /dev/sda mkfs .xfs /dev/sda
      • xfs_info 查看xfs文件信息
        mount -a 自動(dòng)掛載文件系統(tǒng) mount -r 只讀掛載
      • umount 卸載掛載點(diǎn)
      • swapon 啟用swap分區(qū)
      • swapoff 禁用swap分區(qū)
      posted on 2024-04-14 22:35  清泉長(zhǎng)嘯繞松風(fēng)  閱讀(35)  評(píng)論(0)    收藏  舉報(bào)

      主站蜘蛛池模板: 精品一区二区三区免费视频| 国产99在线 | 亚洲| 亚洲aⅴ男人的天堂在线观看| 亚洲区一区二区激情文学| 国产欧美亚洲精品第1页| 肥臀浪妇太爽了快点再快点| 人妻少妇久久中文字幕| 国产无遮挡又黄又爽不要vip软件 国产成人精品一区二区秒拍1o | 亚洲国产美女精品久久久| 换着玩人妻中文字幕| 日韩在线不卡免费视频一区| 国产99在线 | 免费| 蜜臀av黑人亚洲精品| 国产普通话对白刺激| 亚欧成人精品一区二区乱| 巨爆乳中文字幕爆乳区| 午夜大片免费男女爽爽影院| 成人av天堂男人资源站| 毛片久久网站小视频| 免费无码黄十八禁网站| 久久影院综合精品| 国产色悠悠综合在线观看| 日本一区二区三区专线| 换着玩人妻中文字幕| 无遮挡aaaaa大片免费看| 国产日韩精品欧美一区灰| 国产精品小视频一区二页| 大名县| 少妇人妻偷人免费观看| 亚洲婷婷综合色高清在线| 色噜噜噜亚洲男人的天堂| 成人网站国产在线视频内射视频| 亚洲欧美日本久久网站| 国内自拍第一区二区三区| 久女女热精品视频在线观看| 性一交一乱一伦| 无码伊人久久大杳蕉中文无码| 久久99九九精品久久久久蜜桃| 国产国拍精品av在线观看| 亚洲中文字幕久在线| 亚洲伊人精品久视频国产|