我珍藏的 Bash 祕籍
通過別名和其他捷徑來提高你經常忘記的那些事情的效率。
要是你整天使用計算機,如果能找到需要重複執行的命令並記下它們以便以後輕鬆使用那就太棒了。它們全都呆在那裡,藏在 ~/.bashrc
中(或 zsh 使用者的 ~/.zshrc
中),等待著改善你的生活!
在本文中,我分享了我最喜歡的這些助手命令,對於我經常遺忘的事情,它們很有用,也希望這可以幫助到你,以及為你解決一些經常頭疼的問題。
完事吱一聲
當我執行一個需要長時間執行的命令時,我經常採用多工的方式,然後就必須回頭去檢查該操作是否已完成。然而通過有用的 say
命令,現在就不用再這樣了(這是在 MacOS 上;請根據你的本地環境更改為等效的方式):
function looooooooong {
START=$(date +%s.%N)
$*
EXIT_CODE=$?
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
RES=$(python -c "diff = $DIFF; min = int(diff / 60); print('%s min' % min)")
result="$1 completed in $RES, exit code $EXIT_CODE."
echo -e "\n⏰ $result"
( say -r 250 $result 2>&1 > /dev/null & )
}
這個命令會記錄命令的開始和結束時間,計算所需的分鐘數,並“說”出呼叫的命令、花費的時間和退出碼。當簡單的控制檯鈴聲無法使用時,我發現這個超級有用。
安裝小助手
我在小時候就開始使用 Ubuntu,而我需要學習的第一件事就是如何安裝軟體包。我曾經首先新增的別名之一是它的助手(根據當天的流行梗命名的):
alias canhas="sudo apt-get install -y"
GPG 簽名
有時候,我必須在沒有 GPG 擴充套件程式或應用程式的情況下給電子郵件簽署 GPG 簽名,我會跳到命令列並使用以下令人討厭的別名:
alias gibson="gpg --encrypt --sign --armor"
alias ungibson="gpg --decrypt"
Docker
Docker 的子命令很多,但是 Docker compose 的更多。我曾經使用這些別名來將 --rm
標誌丟到腦後,但是現在不再使用這些有用的別名了:
alias dc="docker-compose"
alias dcr="docker-compose run --rm"
alias dcb="docker-compose run --rm --build"
Google Cloud 的 gcurl 助手
對於我來說,Google Cloud 是一個相對較新的東西,而它有極多的文件。gcurl
是一個別名,可確保在用帶有身份驗證標頭的本地 curl
命令連線 Google Cloud API 時,可以獲得所有正確的標頭。
Git 和 ~/.gitignore
我工作中用 Git 很多,因此我有一個專門的部分來介紹 Git 助手。
我最有用的助手之一是我用來克隆 GitHub 儲存庫的。你不必執行:
git clone git@github.com:org/repo /Users/glasnt/git/org/repo
我設定了一個克隆函式:
clone(){
echo Cloning $1 to ~/git/$1
cd ~/git
git clone git@github.com:$1 $1
cd $1
}
即使每次進入 ~/.bashrc
檔案看到這個時,我總是會忘記和傻笑,我也有一個“重新整理上游”命令:
alias yoink="git checkout master && git fetch upstream master && git merge upstream/master"
給 Git 一族的另一個助手是全域性忽略檔案。在你的 git config --global --list
中,你應該看到一個 core.excludesfile
。如果沒有,請建立一個,然後將你總是放到各個 .gitignore
檔案中的內容填滿它。作為 MacOS 上的 Python 開發人員,對我來說,這些內容是:
.DS_Store # macOS clutter
venv/ # I never want to commit my virtualenv
*.egg-info/* # ... nor any locally compiled packages
__pycache__ # ... or source
*.swp # ... nor any files open in vim
你可以在 Gitignore.io 或 GitHub 上的 Gitignore 儲存庫上找到其他建議。
輪到你了
你最喜歡的助手命令是什麼?請在評論中分享。
via: https://opensource.com/article/20/1/bash-scripts-aliases
作者:Katie McLaughlin 選題:lujun9972 譯者:wxy 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- Bash祕籍無私分享
- 消失的遊戲祕籍遊戲
- 所謂的職場祕籍
- Pycharm使用祕籍PyCharm
- React面試祕籍React面試
- sql server dba大牛的祕籍SQLServer
- Google大牛分享的面試祕籍Go面試
- 前端構建祕籍前端
- 前端新手祕籍丶前端
- HTML5祕籍HTML
- GOOGLE搜尋祕籍Go
- 我這有本祕籍:如何短時間學好微服務微服務
- 我為什麼要推薦《JavaScript 忍者祕籍(第2版)》JavaScript
- 【題解】A18537.我心中珍藏的遊戲遊戲
- 英語背單詞祕籍
- JavaScript手寫程式碼無敵祕籍JavaScript
- Java內功祕籍-線性表Java
- SAP HANA資料建模祕籍XV
- 橋本和久 魂鬥羅祕籍之外的故事
- 神經網路的菜鳥入門祕籍神經網路
- 祕籍 | 機器學習資料集網址大全機器學習
- 書單 | 深度學習修煉祕籍深度學習
- [效率] HHKB鍵盤 + Autohotkey 配置祕籍
- 系統維護開發核心祕籍
- DBA一族九陽神功祕籍
- App推廣祕籍之渠道為王APP
- 最佳效能祕籍:SAP HANA資料建模
- Origami五分鐘入門祕籍GAM
- 讓JS程式碼Level提升的忍者祕籍(實用)JS
- 開發祕籍——單元測試的迷惑與思考
- 我從LongAdder中窺探到了高併發的祕籍,上面只寫了兩個字...
- Emacs 除錯祕籍之 GUD 偵錯程式Mac除錯
- 2019前端基礎面試祕籍前端面試
- SpringBoot開發祕籍 - 整合Graphql QuerySpring Boot
- 吳恩達:諸位CEO,我有一本「AI轉型祕籍」傳授給你吳恩達AI
- 活動| 白帽子雙十一清空購物車的祕籍...
- 打造抖音私域流量,站點月賺百萬的祕籍
- JS忍者祕籍中的定時器機制詳解JS定時器