<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這幾個(gè)常用 alias,帶你高效做事(下)

          共 3422字,需瀏覽 7分鐘

           ·

          2022-08-06 15:15



          點(diǎn)擊上方“AirPython”,選擇“置頂公眾號(hào)”第一時(shí)間獲取 Python 技術(shù)干貨!


          d3c092a4a179492560a69e997db002b2.webp


          大家好,我是安果!
          上一篇文章,我們聊到幾個(gè)常用的 Alias,通過它們可以幫助我們高效辦公
          這幾個(gè)常用 alias,帶你高效做事

          本篇文章我將繼續(xù)介紹更多 Alias 的使用場(chǎng)景


          1、系統(tǒng)相關(guān)命令
          系統(tǒng)的內(nèi)存、CPU、磁盤、系統(tǒng)版本,這些常用命令我們定義為 Alias 別名
          這里以 CentOS 為例
          #?查看系統(tǒng)內(nèi)存狀態(tài)
          alias?mem="free?-h"

          #?查看CPU信息
          alias?cpu="lscpu"

          #?磁盤信息
          alias?disk="df?-h"

          #?系統(tǒng)版本(以RH系統(tǒng)為例)
          alias?os="cat?/etc/redhat-release"


          更新系統(tǒng)、安裝軟件也是常用的命令,通過在 Alias 別名中設(shè)置變量,我們可以快速安裝某個(gè)軟件程序


          #?更新系統(tǒng)
          alias?update="sudo?yum?update?-y"

          #?安裝軟件命令
          alias?install="sudo?yum?install?$1?-y"

          #?使用
          #?比如安裝:wget
          install?wget

          類似的,系統(tǒng)端口、防火墻管理,都可以為這些命令定義 Alias 別名


          2、生成依賴和安裝


          在開發(fā)完成?Python 項(xiàng)目時(shí),我們一般都會(huì)先生成依賴文件
          然后在部署項(xiàng)目時(shí),使用 pip 命令一鍵安裝依賴
          這些操作我們都可以定義為 Alias 別名
          #?安裝依賴
          pip?install?pipreqs

          #?配置alias
          #?生成依賴(定義alias)
          echo?'alias?po="pipreqs?.?--encoding=utf8?--force"'?>>?~/.bash_profile

          #?使用下面命令生成依賴文件
          po

          #?生效
          source?~/.bash_profile

          #?安裝依賴
          echo?'alias?pi="pip3?install?-r?requirements.txt"'?>>?~/.bash_profile

          #?使用下面命令安裝依賴文件
          pi


          3、Bash 函數(shù)及參數(shù)
          這里以通過某個(gè)端口號(hào)獲取進(jìn)程 ID 為例,聊聊 Alias 配置 Bash 函數(shù)、參數(shù)的使用過程
          #?獲取某個(gè)端口所屬的進(jìn)程信息
          gpid()?{
          ????#?$1:參數(shù),端口號(hào)
          ????lsof?-i?tcp:$1
          }

          #?查看端口號(hào)所屬進(jìn)程
          alias?gpid=gpid

          #?使用?
          #?比如,查看端口號(hào)「8080」端口號(hào)所屬的進(jìn)程
          gpid?8080

          4、K8s


          日常使用 K8s 時(shí),頻繁輸入命令都是重復(fù)性的工作
          這時(shí)候,利用 Alias 別名可以很好地幫助我們節(jié)省時(shí)間
          #?k8s命令
          alias?k8s='kubectl'

          #?獲取所有pod的詳情信息
          alias?k8sp='kubectl?get?po?-o?wide'

          #?獲取所有namespace下的運(yùn)行的所有pod
          alias?k8spa='kubectl?get?po?--all-namespaces'

          #?其他
          alias?k8sd='kubectl?describe'
          alias?k8sd='kubectl?get?deploy'
          alias?k8sp='kubectl?get?pods'
          alias?k8sc='kubectl?get?cm'
          alias?k8ss='kubectl?get?svc'
          ...

          5、實(shí)戰(zhàn)一下
          這里以公司內(nèi)部的「?前端項(xiàng)目打包?」為例進(jìn)行講解
          具體步驟包含:
          5.1? 定義兩個(gè)參數(shù),分別代表打包環(huán)境、項(xiàng)目類型
          5.2??通過項(xiàng)目類型,獲取項(xiàng)目名及打包后文件夾名稱

          5.3??通過打包環(huán)境參數(shù),獲取要打包應(yīng)用的分支名

          5.4? 使用 cd 命令進(jìn)入本地項(xiàng)目文件夾下,拉取遠(yuǎn)程分支下的代碼
          5.5? 使用 nrm 命令切換本地鏡像源,安裝組件庫
          5.6 ?切換第三方源,比如:淘寶,使用 npm 命令安裝其他依賴組件
          5.7? 使用 npm run build 打包應(yīng)用
          5.8? 使用 zip 命令壓縮打包后的文件夾
          利用 Bash 函數(shù),可以更加靈活地對(duì)別名 Alias 進(jìn)行參數(shù)化
          具體實(shí)現(xiàn)如下:
          #?vim?~/.bash_profile

          #?定義打包Bash函數(shù)
          #?參數(shù)1:指定打包環(huán)境??0-環(huán)境1 1-環(huán)境2
          #?參數(shù)2:項(xiàng)目?0-proj1 1-proj2 2-proj3 3-proj4
          function?build_project(){
          ????branch_name="默認(rèn)分支名"
          ????cmd=""
          ????proj_name="proj1-fe"
          ????build_name="proj1"

          ????#?替換配置文件(Python腳本實(shí)現(xiàn))
          ????#?可以根據(jù)需要使用
          ????#?rp="python3?replace_config.py?--e?$1?--p?$2"

          ????#?判斷項(xiàng)目參數(shù)值
          ????if?[?$2?=?0?];
          ????then
          ???????proj_name="proj1-fe"
          ???????build_name="proj1"
          ????elif?[?$2?=?1?];?
          ????then
          ???????proj_name="proj2-fe"
          ???????build_name="proj2"?
          ????elif?[?$2?=?2?];
          ????then
          ???????proj_name="proj3-fe"
          ???????build_name="proj3"
          ????elif?[?$2?=?3?];
          ????then
          ???????proj_name="proj4-fe"
          ???????build_name="proj4"
          ????else
          ???????proj_name="其他項(xiàng)目"
          ???????build_name=”其他“
          ????fi?

          ????#?根據(jù)參數(shù)1獲取分支名
          ????if?[?$1?=?0?];
          ????then
          ???????branch_name="分支1"
          ????elif?[?$1?=?1?];
          ????then
          ???????branch_name="分支2"
          ????else
          ???????branch_name="其他分支"
          ????fi

          ????echo?$rp
          ????echo?$branch_name

          ????#?要拉取代碼的分支(遠(yuǎn)程分支)
          ????branch_name_origin="origin/$branch_name"

          ????echo?$branch_name_origin

          ????#?打包命令
          ????#?nrm?use?yl??切換本地倉庫源
          ????cd?/Users/*/Desktop/temp/$proj_name&&git?checkout?-f?$branch_name?&&?git?reset?--hard?$branch_name_origin&&git?pull&&cd?/Users/*/Desktop/source/py/pack_tool&&?eval?$rp?&&cd?/Users/*/Desktop/temp/$proj_name?&&?nrm?use?yl?&&?npm?install?本地組件名?&&?nrm?use?taobao?&&?npm?install?&&npm?run?build&&zip?-r?/Users/*/Desktop/$build_name.zip?./$build_name/*?-x?"*/.*"?-x?".*"????
          }

          #?設(shè)置Alias別名
          alias?bp=build_project

          定義好 Alias 后,我們使用 source?命令使配置文件生效,最后就可以使用命令打包前端項(xiàng)目了
          #?使配置文件生效
          source?~/.bash_profile

          #?使用
          #?打包環(huán)境1,項(xiàng)目1
          bp?0?0

          #?打包環(huán)境2,項(xiàng)目2
          bp?1?1



          推薦閱讀


          女朋友背著我,用 Python 偷偷隱藏了她的行蹤

          實(shí)戰(zhàn) | 如何用 Python 統(tǒng)計(jì) Jira 數(shù)據(jù)并可視化
          實(shí)戰(zhàn) | 如何用 Python 自動(dòng)化監(jiān)控文件夾完成服務(wù)部署!



          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久黄色小视频 | 亚洲中文字幕影院 | 亚洲日韩第一页 | 欧美性爱久久 | 国内精品久久久久久久久变脸 |