日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Linux Shell腳本攻略

系統(tǒng) 2307 0

-Linux Shell腳本攻略

總結(jié)的來(lái)說(shuō),這本書(shū)很實(shí)踐性和實(shí)用性強(qiáng),都是給的具體的例子,直接可以在終端操作實(shí)踐,比單純只看不動(dòng)手務(wù)實(shí)多了,另外就是,這本書(shū)涵蓋的內(nèi)容也比較廣,從文本操作到服務(wù)器管理到遠(yuǎn)程ssh等等,都給出來(lái)作者挑選的一些比較經(jīng)驗(yàn)實(shí)用的shell命令和shell腳本,不過(guò)也可以看出來(lái),這本書(shū)是作者從自身實(shí)用的角度來(lái)挑選shell命令和腳本,所以覆蓋面比較全,但是會(huì)感覺(jué)有點(diǎn)零碎,比如對(duì)于shell的基本語(yǔ)法就不會(huì)展開(kāi)講,只是會(huì)提到,需要有基本的shell底子,另外就是像sed、awk這種大神級(jí)別的shell命令,講解的相對(duì)不是很完整,略零碎,特別是awk,可能需要另外找資料看。總的來(lái)說(shuō)是一本值得入手的書(shū),讓你對(duì)linux各個(gè)方面的命令和shell腳本有個(gè)不錯(cuò)的認(rèn)識(shí)。

貼上記錄的筆記,ps,筆記用markdown記錄的,markdown絕逼做筆記記錄的神器,沒(méi)有之一!

Linux Shell腳本攻略

第一章 小試牛刀

運(yùn)行shell腳本的兩種方式:

  • sh test.sh 用sh命令
  • 賦予可執(zhí)行權(quán)限,chmod a+x tesh.sh,然后執(zhí)行./test.sh

echo

  • 不帶引號(hào)的echo,如echo hi google,沒(méi)法在echo后面的文本中使用分號(hào),因?yàn)榉痔?hào)在bash里是命令界定符,比如echo hi;google只會(huì)輸出hi
  • 帶單引號(hào)的echo,bash不會(huì)對(duì)單引號(hào)中的變量入$var求值,會(huì)原樣輸出
  • 帶雙引號(hào)的echo,不會(huì)打印感嘆號(hào)。echo “hi!google”會(huì)報(bào)錯(cuò)

printf

  • printf命令也可以用于輸出,特別適合用于格式化輸出,但是printf不會(huì)像echo那樣默認(rèn)換行,需要手動(dòng)添加\n換行

變量

  • var=value,這是給變量賦值
  • var = value,這是判斷兩個(gè)變量相等
  • 計(jì)算變量長(zhǎng)度:length={#var}

重定向

  • $echo "test" > temp.txt會(huì)先清空temp.txt然后再寫(xiě)入
  • $echo "test" >> temp.txt會(huì)以追加的方式寫(xiě)入

第二章 命令之樂(lè)

cat

  • cat file1 file2 file3...讀取多個(gè)文件
  • cat -s file 壓縮空白行,把文本的多個(gè)空行壓縮成一個(gè)
  • cat -n file 顯示行號(hào)

find

  • find base_path列出當(dāng)前目錄和子目錄下的所有文件和文件夾
  • find path -name '*txt' 根據(jù)文件名或者正則表達(dá)式匹配搜索
  • find path -iname '*txt' 同上,忽略大小寫(xiě)
  • find path ! -name '*txt' 對(duì)上面的搜索結(jié)果取反
  • find path -type d 根據(jù)文件類(lèi)型搜索,d文件夾,f普通文件,etc
  • find path -type f -size +2k 根據(jù)文件大小搜索,+2k大于2k的文件,-2k小于2k的文件,2k等你2k的文件
  • find path -type f -name '*txt' -delete 刪除匹配到的文件

md5sum

  • 用來(lái)計(jì)算文件md5值,校驗(yàn)文件完整性
  • md5sum filename 生成文件的md5值
  • md5sum filename > file_sum.md5 把生成的md5值重定向到文件中
  • md5sum file1 file2 file3校驗(yàn)這三個(gè)文件的md5值,比較是否相同
  • md5sum -c file_sum.md5 檢查md5值是否匹配

第三章 以文件之名

權(quán)限設(shè)置

  • 第一個(gè)代表類(lèi)型,-表示普通文件,d表示目錄,etc
  • 后面三個(gè)三個(gè)一組,分別代表用戶(hù)、用戶(hù)組、其他用戶(hù)的權(quán)限
  • 三個(gè)一組的值基本都是rwx和-,-表示沒(méi)有權(quán)限,r代表讀權(quán)限,w代表寫(xiě)權(quán)限,x代表執(zhí)行權(quán)限,對(duì)于目錄,x代表可以訪問(wèn)目錄中的文件和子目錄
  • chmod u=rwx g=rwx o=rwx filename設(shè)置權(quán)限,u=用戶(hù)權(quán)限g=用戶(hù)組權(quán)限o=其他用戶(hù)權(quán)限
  • chmod o+x filename 給其他用戶(hù)增加可執(zhí)行權(quán)限
  • chmod a+x filename 給所有權(quán)限類(lèi)別(all)加上執(zhí)行權(quán)限
  • chmod a-x filename 給所有權(quán)限類(lèi)別刪除執(zhí)行權(quán)限
  • 還可以使用八進(jìn)制來(lái)設(shè)置權(quán)限,比如chmod 764 filename
  • chmod a+x . -R 遞歸的方式修改當(dāng)前目錄下所有文件和子目錄的權(quán)限

head

  • head filename 打印文件前10行
  • head -n 5 filename 打印文件前5行

tail

  • tail filename 打印文件后10行
  • tail -n 5 filename 打印文件后5行
  • tail -f filename 不斷打印文件的新增內(nèi)容

wc

  • wc -l filename 統(tǒng)計(jì)行數(shù)
  • cat filename | wc -l 同上
  • wc -w filename 統(tǒng)計(jì)單詞數(shù)
  • wc -c filename 統(tǒng)計(jì)字符數(shù)

tree

  • tree ./ 用圖形化的樹(shù)狀結(jié)構(gòu)打印文件和目錄

第四章 讓文本飛

正則表達(dá)式

grep

  • grep "text" . -R -n 從當(dāng)前目錄開(kāi)始對(duì)文本遞歸搜索,linux下查找源碼的利器
  • grep -i "text" 忽略大小寫(xiě)
  • grep "text" filename -A 3 打印匹配結(jié)果之后的3行
  • grep "text" filename -B 3 打印匹配結(jié)果之前的3行
  • grep "text" filename -C 3 打印匹配結(jié)果前后各3行

sed

sed用來(lái)替換給定文本中的字符串,可以用正則表達(dá)式進(jìn)行匹配。

  • $sed 's/pattern/replace_string/' file 或者 $cat file | sed 's/pattern/replace_string/'
  • $sed -i 's/pattern/replace_string/' file 將替換結(jié)果寫(xiě)入到原文件
  • 上面這種替換只會(huì)將每一行的第一個(gè)匹配替換,如果需要替換所有的,需要加上參數(shù)g,這樣:$sed 's/pattern/replace_string/g' file
  • sed '/^$/d' file 移除空白行,/pattern/d會(huì)移除匹配樣式的行,在空白行中,行尾標(biāo)記緊隨著行首標(biāo)記
  • sed表達(dá)式通常用單引號(hào),也可以用雙引號(hào),雙引號(hào)可以引用變量,比如:
          
                $text=hello

    $echo hello world | sed "s/$text/HELLO"

    HELLO world
          
        

awk

awk過(guò)于牛逼了,這本書(shū)里關(guān)于awk命令的講解太碎不夠系統(tǒng),需要另外找資料系統(tǒng)的看下

第五章 一團(tuán)亂麻?沒(méi)這回事

主要講解curl、wget等幾個(gè)在命令行下求情遠(yuǎn)程URL的命令

第六章 B計(jì)劃

tar

tar命令用來(lái)歸檔文件

  • tar -cf output.tar file1 file2 file3... -c代表創(chuàng)建文件,-f代表指定文件名
  • tar -rvf output.tar file1... -r代表添加文件,向已存在的tar包中添加文件
  • tar -tf archive.tar 列出歸檔文件中的內(nèi)容
  • tar -tvf archive.tar 列出歸檔文件中內(nèi)容的詳細(xì)信息
  • tar -xf archive.tar 提取歸檔文件到當(dāng)前目錄
  • tar -xf archive.tar -C path 提取歸檔文件到指定目錄
  • tar -Af file1.tar file2.tar 將file2.tar合并到file1.tar中
  • tar -f archive.tar --delete file1 file2...從歸檔文件中刪除文件

第七章 無(wú)網(wǎng)不利

主要講解ssh命令,利用ssh-keygen -t rsa可以生成ssh公鑰和私鑰,實(shí)現(xiàn)免輸密碼的ssh登陸

第八章 當(dāng)個(gè)好管家

du

du命令查看磁盤(pán)占用空間情況

  • du file1 file2 查看各個(gè)file的大小
  • du -h file1 file2用更友好的方式展示file大小
  • du -ak source_dir | sort -nrk 1 | head 查找指定目錄中最大的10個(gè)文件

df

df輸出磁盤(pán)空間使用情況,df -h更友好的展示空間使用情況

第九章 管理重任

ps

查看進(jìn)程信息

uptime

查看系統(tǒng)load和系統(tǒng)運(yùn)行時(shí)間

top

默認(rèn)輸出一個(gè)占用cpu最多的進(jìn)程列表

kill

  • kill -9 process_id 強(qiáng)殺進(jìn)程

wall

這個(gè)命令可以向所有當(dāng)前登錄用戶(hù)的終端發(fā)送信息,這個(gè)還挺好玩,不過(guò)沒(méi)試過(guò)

cron

一個(gè)很有用的調(diào)度命令,寫(xiě)過(guò)時(shí)間程序的應(yīng)該都對(duì)這個(gè)很有印象

以上。

?
?
分類(lèi):? linux

Linux Shell腳本攻略


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 开江县| 克什克腾旗| 盖州市| 临颍县| 巨鹿县| 安平县| 云阳县| 双辽市| 郯城县| 长岭县| 铁力市| 浠水县| 武强县| 宜都市| 象山县| 隆德县| 汾西县| 泽普县| 左贡县| 连江县| 钟祥市| 阳泉市| 乐安县| 定兴县| 准格尔旗| 仙游县| 玉田县| 汝州市| 永善县| 吴堡县| 图们市| 萝北县| 沅江市| 昌图县| 舟曲县| 浦江县| 阜南县| 靖安县| 涟水县| 馆陶县| 永吉县|