mac终端命令小技巧

shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。

hello伙伴们,作为忠实的mac骨灰级别的粉丝,它真的给我带来了很多效率上的提升。那作为接触的最多的软件之一------终端,其实shigen每天80%的时间都在终端上倒腾的,运行我的各种脚本工具。那效率肯定得提上上去了,shigen的电脑终端就很丝滑。

首先,答应我;不要再使用系统的终端了,使用 iterm2吧,它的功能很强大,而且支持很多自定义的配置。

当然,为了酷炫,实际的并没有这么的花哨。

好了工具有了,那怎么提升效率呢?今天的分享主要是alias有关,也是shigen在实习的时候,跟着我的运维伙伴学到的。

我的alias

ini 复制代码
 alias mci="mvn clean install"
 ​
 # some alias
 alias g=git
 alias ga='git add'
 alias gaa='git add --all'
 alias gap='git add --patch'
 alias gb='git branch'
 alias gba='git branch -a'
 alias gbr='git branch --remote'
 alias gc='git commit -v'
 alias gca='git commit -v -a'
 alias gcl='git config --list'
 alias gclean='git reset --hard && git clean -dfx'
 alias gcm='git checkout master'
 alias gcmsg='git commit -m'
 alias gco='git checkout'
 alias gcount='git shortlog -sn'
 alias gcp='git cherry-pick'
 alias gcs='git commit -S'
 alias gd='git diff'
 alias gdc='git diff --cached'
 alias gdt='git difftool'
 alias gg='git gui citool'
 alias gga='git gui citool --amend'
 alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
 alias ggpull='git pull origin $(current_branch)'
 alias ggpur='git pull --rebase origin $(current_branch)'
 alias ggpush='git push origin $(current_branch)'
 alias gignore='git update-index --assume-unchanged'
 alias gignored='git ls-files -v | grep "^[[:lower:]]"'
 alias gk='gitk --all --branches'
 alias gl='git pull'
 alias glg='git log --stat --max-count=10'
 alias glgg='git log --graph --max-count=10'
 alias glgga='git log --graph --decorate --all'
 alias glo='git log --oneline --decorate --color'
 alias globurl='noglob urlglobber '
 alias glog='git log --oneline --decorate --color --graph'
 alias glp=_git_log_prettily
 alias gm='git merge'
 alias gmt='git mergetool --no-prompt'
 alias gp='git push'
 alias gpoat='git push origin --all && git push origin --tags'
 alias gr='git remote'
 alias grba='git rebase --abort'
 alias grbc='git rebase --continue'
 alias grbi='git rebase -i'
 alias grep='grep  --color=auto --exclude-dir={.bzr,.cvs,.git,.hg,.svn}'
 alias grh='git reset HEAD'
 alias grhh='git reset HEAD --hard'
 alias grmv='git remote rename'
 alias grrm='git remote remove'
 alias grset='git remote set-url'
 alias grt='cd $(git rev-parse --show-toplevel || echo ".")'
 alias grup='git remote update'
 alias grv='git remote -v'
 alias gsd='git svn dcommit'
 alias gsps='git show --pretty=short --show-signature'
 alias gsr='git svn rebase'
 alias gss='git status -s'
 alias gst='git status'
 alias gsta='git stash'
 alias gstd='git stash drop'
 alias gstp='git stash pop'
 alias gsts='git stash show --text'
 alias gts='git tag -s'
 alias gunignore='git update-index --no-assume-unchanged'
 alias gunwip='git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1'
 alias gup='git pull --rebase'
 alias gvt='git verify-tag'
 alias gwc='git whatchanged -p --abbrev-commit --pretty=medium'
 alias gwip='git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m "--wip--"'
 alias history='fc -l 1'
 alias l='ls -lah'
 alias la='ls -lAh'
 alias ll='ls -lh'
 alias ls='ls -G'
 alias lsa='ls -lah'
 alias po=popd
 alias pu=pushd
 alias v='f -e vim'

别小看短短的82行,可以实现的效率简直是提升了很多,下边shigen演示一下。

  • 查看文件的列表信息
  • 查看git历史

就先选取两个作为参考的案例啦,当然,还有很多实际的操作,这里偏重的是gitls命令的封装。

其实shigen也自定义了脚本的命令,来一起看看吧。


那我常用的python脚本查看IP地址为例,我用的时候只需要一个命令即可:

but,我要是使用python命令去敲就麻烦了!

那具体咋设置的呢,分享出来:

~/.bash_profile中添加如下的命令即可:

ini 复制代码
 alias ip-util="python3 ~/PycharmProjects/shigen-util/iputil/xdbSearcher.py"

接下来执行这个命令:

bash 复制代码
 source ~/.bash_profile

怎么查看ip-util是啥呢?

bash 复制代码
 which ip-util

这样你就可以高效的操作命令了,接下来效率直接拉满。

最后,最后再分享一个shigen觉得很有意思的命令:

swift 复制代码
 history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[ a ]" " CMD[ a ]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t |sort -nr | nl | head -n10

将这一行命令粘贴到控制台就可以看出我们使用的历史命令的top榜。

这样,就可以把我们常用的命令再次alias一下,我们的效率就提升啦。


以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。同时,shigen在多个平台都有文章的同步,也可以同步的浏览和订阅:

平台 账号 链接
CSDN shigen01 shigen的CSDN主页
知乎 gen-2019 shigen的知乎主页
掘金 shigen01 shigen的掘金主页
腾讯云开发者社区 shigen shigen的腾讯云开发者社区主页
微信公众平台 shigen 公众号名:shigen

shigen一起,每天不一样!

相关推荐
Rverdoser1 小时前
RabbitMQ的基本概念和入门
开发语言·后端·ruby
Tech Synapse2 小时前
Java根据前端返回的字段名进行查询数据的方法
java·开发语言·后端
.生产的驴2 小时前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
微信-since811922 小时前
[ruby on rails] 安装docker
后端·docker·ruby on rails
代码吐槽菌4 小时前
基于SSM的毕业论文管理系统【附源码】
java·开发语言·数据库·后端·ssm
豌豆花下猫4 小时前
Python 潮流周刊#78:async/await 是糟糕的设计(摘要)
后端·python·ai
YMWM_4 小时前
第一章 Go语言简介
开发语言·后端·golang
码蜂窝编程官方4 小时前
【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的虎鲸旅游攻略网的设计与实现
java·vue.js·spring boot·后端·spring·旅游
hummhumm5 小时前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
J老熊5 小时前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程