1 zsh 介绍1.1 linux shelllinux/unix 提供了很多种 shell,为毛要这么多 shell?
难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了,而且程序员往往负责把复杂的事情搞简单,简单的事情搞复杂。牛程序员看到不爽的 shell,就会自己重新写一套,慢慢形成了一些标准,常用的 shell 有这么几种,sh、bash、csh 等,想知道你的系统有几种 shell,可以通过以下命令查看:
cat /etc/shells显示如下:
1.2 zsh 简介zsh 是一个 linux 下强大的 shell, 由于大多数 linux 产品安装,以及默认使用bash shell, 但是丝毫不影响极客们对 zsh 的热衷, 几乎每一款 linux 产品都包含有 zsh,通常可以用 apt-get、urpmi 或 yum 等包管理器进行安装
zsh 具有以下主要功能
开箱即用、可编程的命令行补全功能可以帮助用户输入各种参数以及选项在用户启动的所有 shell 中共享命令历史通过扩展的文件通配符,可以不利用外部命令达到 find 命令一般展开文件名改进的变量与数组处理在缓冲区中编辑多行命令多种兼容模式,例如使用 / bin/sh 运行时可以伪装成 bourne shell可以定制呈现形式的提示符;包括在屏幕右端显示信息,并在键入长命令时自动隐藏可加载的模块,提供其他各种支持:完整的 tcp 与 unix 域套接字控制,ftp 客户端与扩充过的数学函数完全可定制化1.3 zsh 与 oh-my-zsh 终极配置之前是因为看到这篇文章:终极 shell——zsh 才选择使用 zsh,被它的自动完成、补全功能吸引了。官网:www.zsh.org
选择 oh-my-zsh, oh-my-zsh 是基于 zsh 的功能做了一个扩展,方便的插件管理、主题自定义,以及漂亮的自动完成效果。
在 github 上找关于 zsh 的项目时发现的,试用了一下觉得很方便,不用像上面文章里面提到的那么复杂,配置一些插件的名称即可使用相应的功能。
官网:https://github.com/robbyrussell/oh-my-zsh
2 安装 zsh2.1 安装 zsh对于一般的 ubuntu 系统,配置好正确的源之后,就能直接键入以下命令安装:
sudo apt-get install zsh2.2 配置 zshzsh 的配置是一门大学问,这里不赘述,直接给出一个配置文件,大家可以下载后放入 zsh 配置文档直接使用。(我的一个法国朋友手配的,相当顺手)
把. zshrc 拷贝到相应用户的 home 目录即可 (也可以把你的 bash 的配置文件 ( /.bash_prorile 或者 /.profile 等) 给拷贝到 zsh 的配置文件~/.zshrc 里,因为 zsh 兼容 bash)
2.3 取代 bash,设为默认 shellsudo usermod -s /bin/zsh username或者
chsh -s /bin/zshchsh -s `which zsh`如果要切换回去 bash:
chsh -s /bin/bash当然你实在不愿意把 zsh 当成默认的 shell, 而又想使用它, 那么你可以每次进入是都使用zsh进入, 而输入exit退出
2.4 安装 oh-my-zsh直接用 zsh 会很蛋疼,因为 zsh 功能很强大但是太复杂,所以需要 oh-my-zsh 来将它简单化
直接用 git 从 github 上面下载包
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh备份已有的 zshrc, 替换 zshrc
cp ~/.zshrc ~/.zshrc.origcp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc直接使用脚本安装
cd oh-my-zsh/tools./install.sh你可以直接直接使用如下命令安装
curl
sh -c $(curl -fssl https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)wget
sh -c $(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -o -)其本质就是下载并执行了 github 上的 install.sh 脚本, 该脚本位于oh-my-zsh/tools/install.sh
配置主题
oh-my-zsh 集成了大量的主题, 位于 oh-my-zsh/theme
配置主题, 可以通过修改~/.zshrc中的环境变量zsh_theme来完成
zsh_theme=agnoster # (this is one of the fancy ones)如果你觉得主题太多你可以选择使用随机模式, 来由系统随机选择
zsh_theme=random # (...please let it be pie... please be some pie..)
详细的主题信息, 可以参见 zsh 主题介绍
配置插件
修改~/.zshrc中plugins
plugins=(git bundler osx rake ruby)详细的插件信息, 可以参见 zsh 插件 plugins 介绍
更新 oh-my-zsh
默认情况下, 您将被提示检查每几周的升级. 如果你想我 zsh 自动升级本身没有提示你, 修改 `~/.zshrc
disable_update_prompt = true禁用自动升级, 修改~/.zshrc
disable_auto_update = true当然你也可以选择手动更新
如果你想在任何时间点升级(也许有人刚刚发布了一个新的插件,你不想等待一个星期?) 你只需要运行:
upgrade_oh_my_zsh卸载 oh-my-zsh
如果你想卸载oh-my-zsh, 只需要执行uninstall_oh_my_zsh zsh, 从命令行运行. 这将删除本身和恢复你以前的 bash 或者 zsh 配置.
uninstall_oh_my_zsh zsh
英媒:中国厂商欲在5G芯片上跟高通再决雌雄
基于Wanchain 4.0跨链T-Bridge框架的工作原理解析
自主的无线充电系统可提高车辆的可用性和安全性
圣邦微电子SGM41570荣获年度最佳电源管理芯片
USBCAN-II pro脱机转发模式介绍
超级漂亮的Shell介绍
中兴通讯首届物联网产业高峰论坛将于12月举办
杭州虚之实:认知类数字疗法是治疗脑部慢性疾病的关键
如何为您的应用选择合适的高压示波器探头
阿里云PolarDB云数据库持续释放云计算资源池化潜力
宜家Eneby蓝牙音箱评测 进入科技领域的又一次尝试
Micro Controller OS微控制器操作系统应用设计方案
第二届中国(宁波)“人工智能+警务应用”高峰论坛在宁波举行
高通华为暂和解:华为每季度向高通支付1.5亿美元
测压管的特点_测压管的优缺点
借物联网技术搭建志愿养老健康监护平台,实现“1+4”健康监护体系
电机的电流和转速是什么关系
变频器过流跳闸和过载跳闸有啥区别?
英飞凌XENSIV联网传感器套件
防水蓝牙耳机哪款好?防水效果好的蓝牙耳机推荐