如果你還沒(méi)有充分利用Shell縮寫,那么你正在浪費(fèi)寶貴的時(shí)間。一遍又一遍地重復(fù)輸入相同的內(nèi)容是無(wú)聊、單調(diào)而且效率低下的。為什么要花時(shí)間記住冗長(zhǎng)的命令,當(dāng)你可以簡(jiǎn)化它們呢?
縮寫是給命令、一串命令或一小段文本起個(gè)名字的方法。你可以將多個(gè)命令鏈接在一起,或者將一長(zhǎng)串參數(shù)傳遞給經(jīng)常使用的命令,并給它起一個(gè)更短的名字。如果你經(jīng)常輸入相同的內(nèi)容并希望給它起一個(gè)更容易記住的名字,這非常有用。使用縮寫可以減少運(yùn)行常用命令的時(shí)間。而且,你再也不會(huì)忘記正確的參數(shù),因?yàn)槟憧梢詫⑺鼈儤?gòu)建到縮寫中。如果設(shè)置得當(dāng),你可以通過(guò)縮寫實(shí)現(xiàn)一些真正神奇的事情。在這篇文章中,我想告訴你一些作為工程師我每天都在使用的縮寫。這些縮寫是絕對(duì)的生命救星。它們已經(jīng)成為了肌肉記憶,老實(shí)說(shuō),我無(wú)法沒(méi)有它們生活。1、Git status
alias gg='git status'
簡(jiǎn)單,是的。高效?你無(wú)法想象。如果你計(jì)算一下每天調(diào)用git status的次數(shù),你可能會(huì)有些震驚。在Git存儲(chǔ)庫(kù)中,這是一個(gè)非常常見(jiàn)的命令。它顯示了哪些文件已準(zhǔn)備提交,你處于哪個(gè)分支上,以及許多其他有價(jià)值的信息。輸入 git status 可能看起來(lái)并不太瘋狂,但看看它需要多長(zhǎng)時(shí)間?看看你的手指在鍵盤上跳舞的方式。有一個(gè)空格,字符本身以特定的模式間隔開(kāi),容易出錯(cuò)。一旦搞砸了,你就需要重新開(kāi)始。浪費(fèi)了這么多時(shí)間。只需要縮寫它。輸入gg要快得多,如果你輸入錯(cuò)誤,那么也許考慮一下打字課程...2、運(yùn)行Pylint
alias pll='pylint -f colorized'
無(wú)論你喜歡還是討厭,代碼檢查器都是必不可少的。不管你喜不喜歡,沒(méi)有一個(gè)工程師是完美無(wú)缺的。我們都會(huì)在某個(gè)時(shí)刻犯錯(cuò)誤。你需要對(duì)代碼進(jìn)行檢查,因此讓它變得簡(jiǎn)單易行是至關(guān)重要的。我寫了很多Python代碼,所以我非常依賴Pylint進(jìn)行代碼檢查。我也喜歡以帶顏色的輸出方式運(yùn)行Pylint,有時(shí)還使用其他自定義參數(shù)。一遍又一遍地鍵入這些內(nèi)容并不有趣。將其設(shè)置為一個(gè)簡(jiǎn)短的縮寫,現(xiàn)在就更有趣了。你可以傳遞不同的格式類型、忽略文件、檢查器以及不同的.rc文件。基本上,任何你可以傳遞給正常命令的東西都可以放在縮寫中。這就是它的強(qiáng)大之處,因?yàn)槟憧梢愿鶕?jù)自己的喜好設(shè)置代碼檢查器,而無(wú)需記住或重新輸入所有這些選項(xiàng)。3、登錄ECR
alias ecr_login='aws ecr get-login-password --region | docker login --
username AWS --password-stdin '
如果你經(jīng)常使用Docker鏡像并且還使用ECR,那么這個(gè)別具一格的命令將會(huì)比面包更好。登錄ECR非常繁瑣。你必須將所有這些命令連接在一起,并使用特定的憑據(jù)讓Docker登錄。如果你不記得該命令,那真是一大痛苦。然后你還得去查找,浪費(fèi)很多時(shí)間。只需將登錄命令設(shè)置為一個(gè)簡(jiǎn)潔明了的別名。如果你在多個(gè)ECR區(qū)域工作,甚至可以根據(jù)區(qū)域別名。為東海岸、西海岸甚至更遠(yuǎn)的地方都設(shè)置一個(gè)登錄別名。世界就是你的海蠣,現(xiàn)在你可以快速輕松地登錄。不要忘記在上述命令中添加你自己的區(qū)域和ECR URI,以使其正常工作。4、運(yùn)行Ansible
alias apb='cd <repo> && ansible-playbook -i <inventory_file>
對(duì)我來(lái)說(shuō),運(yùn)行Ansible playbooks是日常工作。我每天運(yùn)行多個(gè)play,并且經(jīng)常重復(fù)執(zhí)行。尤其是當(dāng)我正在構(gòu)建新的角色或與Ansible中的條件邏輯作斗爭(zhēng)時(shí)。誰(shuí)不喜歡將YAML作為代碼呢?能夠使用我需要的基本標(biāo)志運(yùn)行Ansible非常重要。重新輸入一長(zhǎng)串參數(shù)需要很長(zhǎng)時(shí)間。當(dāng)然,你可以按上箭頭重用之前執(zhí)行的命令,但這并不總是最方便的選項(xiàng)。如果你轉(zhuǎn)而切換到編輯文件,現(xiàn)在又要按兩次上箭頭。這很容易在開(kāi)發(fā)過(guò)程中被忽略,然后你又得重新輸入一遍。只需給它取個(gè)別名。這還可以讓你有機(jī)會(huì)確保你是否在使用ansible.cfg文件(如果有的話)。在上面的命令別名中,我們進(jìn)入了我們的倉(cāng)庫(kù)并在該上下文中運(yùn)行。這是因?yàn)槲覀兊腁nsible配置位于那里。一旦你進(jìn)入那個(gè)目錄,它會(huì)自動(dòng)使用該配置。如果有其他的清單文件,你也可以傳入它們。如果你有一些跨多個(gè)環(huán)境的全局清單,這將非常有幫助。5、縮短常用命令
alias tf='terraform'
alias k='kubectl'
這是我最近開(kāi)始實(shí)施的最后一個(gè)建議。起初我覺(jué)得這并不是必要的,但一旦你開(kāi)始使用一兩個(gè)字母的命令而不是七八個(gè)字母的命令,就會(huì)有很大的不同。我每天都經(jīng)常使用terraform和kubectl。這些命令是另一個(gè)例子,它們的名稱很煩人。它們?nèi)菀壮鲥e(cuò),而將它們?cè)O(shè)為別名非常簡(jiǎn)單。給自己一個(gè)方便,現(xiàn)在就將它們縮短,這樣你就可以忘記它們的拼寫。我還鼓勵(lì)你查看其他你經(jīng)常輸入的單詞命令。可能有一些你一遍又一遍地輸入的命令可以從縮短中受益。現(xiàn)在,去給命令設(shè)置別名吧!
-
Linux
+關(guān)注
關(guān)注
87文章
11231瀏覽量
208937 -
python
+關(guān)注
關(guān)注
56文章
4782瀏覽量
84466 -
Shell
+關(guān)注
關(guān)注
1文章
363瀏覽量
23297
原文標(biāo)題:在 Linux 上使用的5個(gè)超級(jí)神奇的 Shell 別名
文章出處:【微信號(hào):Linux迷,微信公眾號(hào):Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論