本篇内容主要讲解“Bash使用技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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 cluttervenv/ # I never want to commit my virtualenv*.egg-info/* # ... nor any locally compiled packages__pycache__ # ... or source*.swp # ... nor any files open in vim
到此,相信大家对“Bash使用技巧有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!