一. shell
shell是什么?壳?其实就是操作系统包含一个外壳,然后让用户通过这个壳来操作OS,而shell的版本有很多,比如bash(这个一般是系统默认的shell),zsh等。
终端查看已安装shell:
cat /etc/shells
二. .bashrc(系统默认的配置文件)或者.zshrc(zsh这个shell的配置文件)
这两个文件就是保存个人的一些配置,如命令别名,路径等。每次修改后,要用source ~/.bashrc就可以立即加载修改后的设置,使之生效。
一般会在.bash_profile文件中显示调用.bashrc
。登录linux启动bash时首先会去读取~/.bash_profile文件,这样.bashrc就得到了执行,设置也就生效了。
用户登录后加载profile和bashrc的流程如下:
1)/etc/profile-------->/etc/profile.d/*.sh
2)$HOME/.bash_profile-------->$HOME/.bashrc---------->/etc/bashrc
说明:
bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh
随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,
而.bashrc脚本会执行/etc/bashrc脚本
至此,所有的环境变量和初始化设定都已经加载完成.
bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定.
三. .zshrc部分文件解读(参考一介布衣文章 )
ZSH_THEME="robbyrussell" //用来指定zsh 样式
ZSH_THEME="robbyrussell" //用来指定zsh 样式,
lugins=(git autojump osx brew node npm) //zsh 使用的插件
git插件如图:
上面这个 zsh 从红箭头表示 zsh 开始位置, 接着是绝对路径 ,后面跟着显示 git(dev) x 是上面意思?
git 表示此目录被git 仓库托管.
(dev) 表示当前目录内容所在git 分支 是 dev
x 号表示,当前文件中有内容变动,并且没有提交到代码库,如果提交以后,会变成绿色√号
上面关于git 的一系列功能就是 zsh 中我开启了git 插件(这个插件是 oh-my-zsh 项目自带的,并且默认开启的插件)
zsh另外一个功能,别名设置:
.oh-my-zsh/plugins/git/git.plugin.zsh这个文件就是对应的别名设置,部分设置如下:
alias g='git'
alias ga='git add'
alias gaa='git add --all'
alias gapa='git add --patch'
alias gb='git branch'
alias gba='git branch -a'
alias gbda='git branch --merged | command grep -vE "^(\*|\s*master\s*$)" | command xargs -n 1 git branch -d'
alias gbl='git blame -b -w'
alias gbnm='git branch --no-merged'
alias gbr='git branch --remote'
alias gbs='git bisect'
alias gbsb='git bisect bad'
alias gbsg='git bisect good'
alias gbsr='git bisect reset'
alias gbss='git bisect start'
比如查看文件状态命令,git status 可以用gst代替
git commit -a -m "提交信息" 可以用gcam "提交信息"代替
四. 大招来了,zsh安装(参考此文章 参考此文章2 )
1.检查zsh是否存在,其实mac里边本来就有,其他的我也不知道,终端输入:
有版本号说明存在,跳过第二步。
2.zsh安装,终端输入:
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
3.安装oh-my-zsh(这个是什么鬼,因为zsh太难配置,所有外国小哥搞的类似一键配置的工具,安装即可),终端输入:
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
4.将当前用户的默认shell改成zsh,终端输入:
chsh -s /bin/zsh
重新打开看看吧。
5.设置命令别名
vi ~/.zshrc
英文状态下按i键进入修改模式,到最后添加 alias cls="clear"
然后按esc取消修改模式,按shift+:键。左下角会出现一个冒号,输入wq保存退出。然后终端输入:
source ~/.zshrc
此命令是使shell立即加载修改过得配置文件,懒得输入的话把终端重启也行,因为重启终端会重新加载配置文件。
然后试试cls就可以清屏了
例如:清屏用clear 好烦的 上边设置后清屏可以用cls了。
我设置的一些别名:
# 清屏
alias cls="clear"
# 更改zsh配置
alias vzrc="vi ~/.zshrc"
# 立即重新加载配置文件
alias szrc="source ~/.zshrc"
6.启动命令纠错功能,终端输入
vi ~/.zshrc
找到
# ENABLE_CORRECTION="true"
然后改成
ENABLE_CORRECTION="true"
改的过程和上边设置别名一样。
然后来看看效果如何吧!
上边gst是zsh设置的git status的别名
当我输入gstt时,提示我是否改成gst,输入y即可。
PS:参考文章中的手动安装中
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
~/.oh-my-zsh/templates/zshrc.zsh-template其实是zsh的一个配置模板,这句命令意思是按照配置模板来拷贝一份文件并命名为.zshrc,然后放在根目录下。
看下我的效果
有没有感觉很炫?看下边文章自己设置吧。