当您整天使用计算机时,找到可重复的命令并标记它们以便以后使用很容易。 他们都坐在那里,藏在〜/ .bashrc (或Zsh用户的 〜/ .zshrc )中,等待着帮助改善您的生活!
在本文中,我分享了我最喜欢的这些帮助程序命令中的一些我忘记了的事情,希望它们随着时间的流逝也能为您节省一些心痛。
说完了
当我使用运行时间更长的命令时,我经常会执行多任务,然后必须返回并检查操作是否已完成。 但是现在不再有用了,有了这个有用的话语提示 (这是在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"
GNU Privacy Guard(GPG)签名
我不得不在没有扩展名或应用程序的情况下签署GPG电子邮件,这时我掉进了命令行并使用了这些令人讨厌的别名:
alias
gibson =
"gpg --encrypt --sign --armor"
alias
ungibson =
"gpg --decrypt"
码头工人
Docker命令很多,但还有更多docker compose命令。 我曾经忘记了--rm标志,但是不再使用这些有用的别名了:
alias
dc =
"docker-compose"
alias
dcr =
"docker-compose run --rm"
alias
dcb =
"docker-compose run --rm --build"
Google Cloud的gcurl助手
对我来说,这是一个相对较新的东西,但是有大量文献记录 。 gcurl是一个别名,可确保在与Google Cloud API一起使用带有身份验证标头的本地curl命令时,确保获得所有正确的标志。
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-ville的另一个帮助器是全局忽略文件。 在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存储库中找到其他建议。
轮到你
您最喜欢的帮助程序命令是什么? 请在评论中分享它们。
翻译自: https://opensource.com/article/20/1/bash-scripts-aliases