shell之zsh
什么是shell
Shell是操作、访问Linxu\Unix系统的接口;或者说是提供访问系统内核服务的程序。
一张图定位shell的功能角色:

enable -a可以查看所有内部命令
常用的shell:cat /etc/shells 可以看到
root@debian:~# cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
而我们今天要介绍的是一个强大的shell,他就是zsh(号称终极shell)
选择zsh的理由
- zsh完全兼容bash
bash的语法可以用在zsh环境, 以前的运维脚本可以正常运行,不过我还是喜欢加上#!/bin/bash 去解释脚本。
- zsh 的补全模式更方便、智能
zsh 中按两下 tab 键可以触发 zsh 的补全,可以用方向键进行选择控制。</br> 支持路径、命令、参数等的补全。 如
kill emacs
# 按下 tab,变成:
kill 59683
- 增强了alias功能
不仅支持普通的alias,还可以支持文件类型的alias,如:</br> alias -s py=vi 在 zsh 下直接输入xxx.py,将自动使用vi打开。
- 强大的目录切换功能
输入d,会有意想不到的效果。。。
- 增强的历史记录
当你执行很多命令后,你可以只打出命令部分,如ls,然后上下方向键,就可以找到相关记录。
zsh安装
apt-get install zsh
或yum install zsh
zsh自定义配置
zsh的插件托管在git上https://github.com/robbyrussell/oh-my-zsh
支持各种私人定制,修改/root/.zshrc ,
个人比较喜欢ys主题(即ZSH_THEME=”ys”),所有主题在 /root/.oh-my-zsh/themes目录下。
注:修改完配置文件后, source /root/.zshrc即时生效