没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。
Shell是Linux/Unix的一个外壳,你理解成衣服也行。它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序。
其实 Linux/Uinx 提供了很多种Shell,常用的Shell 有这几种 sh、bash、csh 。如果你想知道你的linux/Uninx 的系统有哪些Shell 可以输入下面的命令去查看:
1 | cat /etc/shells |
显示如下:1
2
3
4
5
6
7
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
目前常用的 Linux、OS X 系统的默认 Shell 都是 bash,但是最牛逼的还是 zsh, 称为 终极 Shell,由于配置过于复杂,所以初期无人问津。有一天,国外有程序员开发出了一个能够让你快速上手的zsh项目,(oh-my-zsh),Github 网址是:(https://github.com/robbyrussell/oh-my-zsh ) 。从此zsh 就变得如此简单和高效。如果你掌握了zsh 这个shell 你在linux 上的使用效率会大大提高,废话不多说,下面我们看看如何安装、配置和使用 zsh。
Redhat、Centos:
1 sudo yum install zshUbuntu :
1 sudo apt-get install zshOSX :系统默认安装了zsh 所以不用安装
Windows : 呵呵,一边玩去。
1 | chsh -s /bin/zsh |
自动安装:
1 wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh手动安装
下载源码
1 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh拷贝配置文件
1 cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc退出重启终端你会看到不一样的效果哦
废话不多说 先看我的zsh效果吧 😎
设置别名
1 |
|
设置主题
oh-my-zsh 安装后里面内置了许多主题供你选择 只需要修改 ~/.zshrc 文件的 ZSH_THEME 的属性值即可
相关主题文件在~/.oh-my-zsh/themes目录下,你可以随意选择,也可以编辑主题满足自己的变态需求。
我选择的是 cloud 主题 不过cloud 的图标太难看了 所以我打算改造一下哈哈😄
1 |
|
重启一下终端见效果 😻
配置插件
oh-my-zsh 项目提供了完善的插件体系,相关的文件在~/.oh-my-zsh/plugins目录下,默认提供了100多种,大家可以根据自己的实际学习和工作环境采用,想了解每个插件的功能,只要打开相关目录下的 zsh 文件看一下就知道了。插件也是在.zshrc里配置,找到plugins关键字,你就可以加载自己的插件了,系统默认加载 git ,你可以在后面追加想要的插件内容 我用了以下这些插件。
1 | plugins=(git authojump zsh-autosuggestions incr osx) |
简单介绍下面几个插件
git:
当你处于一个 git 项目目录下时,zsh会明确显示 「git」和 branch分支情况,还有 git还有 很多命令进行了简化,例如 gco=’git checkout’、gd=’git diff’、gst=’git status’、g=’git’等等,熟练使用可以大大减少 git 的命令长度,命令内容可以参考
~/.oh-my-zsh/plugins/git/git.plugin.zsh
authojump:
这个东西是个zsh 的神器。 他是基于大数据去跳转到你经常切换的目录。 由于这个东西非常强大。这个以后再说
zsh-autosuggestions:
这是一个通过历史记录自动关联出你想要执行的命令。此插件需要通过github去安装。
参考地址 https://github.com/zsh-users/zsh-autosuggestions
osx:
如果你的电脑是Mac 用这个就对了
tab - 在一个新标签打开当前目录
cdf - cd到当前Finder目录
quick-look - 快速浏览特殊的文件
man-preview - 在Preview应用打开特定的man page
trash - 将特定的文件移到垃圾桶
好了 你的 zsh 打造的已经非常强悍了。到时候在其他不知道zsh的程序员面前秀一下展现你逼格。哈哈 😃