最强Linux shell工具Oh My Zsh 指南
引言
笔者已经使用zsh一年多了,发现这个东东的功能太强大了。接下来,给大家推荐一下。
以下是oh-my-zsh部分功能
- 命令验证
- 在所有正在运行的shell中共享命令历史记录
- 拼写纠正
- 主题提示(Agnoster,RobbyRussell,......)
- 目录历史
- 通过zshenv,zprofile,zshrc,zlogin和zlogout启动/关闭脚本
- 强大的自动完成功能。您可以使用TAB键浏览不同的选项,然后使用enter键选择正确的文件夹。例如Bash会打印所有选项。

- 添加插件:例如Git插件包含大量有用的Git别名。 此插件显示活动分支并提供有关Git状态的可视反馈:

- 绿色:如果没有发生变化的分支
- 黄色:未跟踪文件
- 带有加号图标的黄色:准备提交的文件
安装指南
我在我的Linux Mint上执行此安装指南。为了向您展示Oh-My-Zsh的基本功能,我将安装Git插件(Git-core)。此插件提供有关项目的Git状态的可视反馈。
- 安装必备软件包
$ sudo apt install git-core zsh
- 根据官方脚本安装Oh-My-Zsh
# 通过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 -)"
- 安装Powerline字体以使用图标为CLI增添趣味
$ sudo apt install fonts-powerline
- 将主题从'robbyrussell'改为'agnoster'为传奇的Oh-My-Zsh主题
$ vim ~/.zshrc
想要看到修改后的主题结果,执行下面命令
$ source ~/.zshrc

- 现在的主题提示信息太长了,我们去掉用户名和主机名

- 修改默认shell,这样下次打开Terminal的时候就默认使用
zsh而不是bash
$ chsh -s $(which zsh)
安装插件
所有插件都列在Plugins,自定义插件可以安装在〜/.oh-my-zsh/custom/plugins中。要使用插件,只需将其添加到〜/.zshrc文件中的插件列表即可。明智地添加,因为太多的插件会减慢shell的启动速度。插件之间使用空格分割。
colored-man-pages
在这个例子中,我安装了一个有用的插件,为你的手册页提供颜色突出显。
zsh-syntax-highlighting
另一个很棒的插件是shell的语法高亮。除此之外,此插件还能够验证命令的正确性
# 安装
cd /home/shellhub/.oh-my-zsh/custom/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting
# 添加到.zshrc配置文件中的plugins中
vim ~/.zshrc # 例子
plugins=(
git
autojump
colored-man-pages
zsh-syntax-highlighting
zsh-autosuggestions
)
zsh-autosuggestions
您还可以使用zsh-autosuggestions来完成命令。它根据您的命令历史记录建议命令。很有用!要选择建议的命令,请按向右箭头键。

安装方式和zsh-syntax-highlighting一样
$ git clone https://github.com/zsh-users/zsh-autosuggestions
然后添加zsh-syntax-highlighting到插件列表中(vim ~/.zshrc)
autojump
autojump可以实现快速跳转到目标目录,如下所示

然后别忘记添加到~/.zshrc配置文件中
vim ~/.zshrc
关注一下别名
目录历史
Oh-My-Zsh会自动记住您访问过的最后20个目录。您可以使用dirs -v或d来按时间顺序列出历史记录。
您可以使用cd +1转到上一个目录,依此类推,如下图我们还可以直接输入数字进行跳转到对应的目录

其他有趣的别名
/ -> cd /
~ -> cd ~
.. -> cd ..
... -> cd ../..
.... -> cd ../../..
我相信你已经找到规律了吧
take test_folder # 创建一个文件夹并进入这个文件夹,效果和下面类似
mkdir test_folder && cd test_folder
take folder1/folder2/folder3
x # 解压tar, bz2, rar, gz, tbz2, tgz, zip, Z, 7z各种压缩文件
## 更新和卸载
更新
upgrade_oh_my_zsh
卸载
uninstall_oh_my_zsh
更多学习资源
oh-my-zsh:https://ohmyz.sh/
插件: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins
主题: https://github.com/robbyrussell/oh-my-zsh/tree/master/themes/
总结
Oh-My-Zsh太爽了
参考文档:
1 https://github.com/shellhub/blog/issues/25
最强Linux shell工具Oh My Zsh 指南的更多相关文章
- linux shell工具集合
1)判断进程是否存在,如果不存在再执行启动命令,可以避免一个脚本同时启动多份 if [ $(ps -ef |grep bastion_account.sh|grep -v grep|wc -l) - ...
- linux shell——zsh的安装与使用
Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器.常用的Bash就是Shell的一种,也是Linux下默认Shell程序.这里介绍一种更强大的.更人性化的Shel ...
- -Shell 命令行工具 Cmder Babun Zsh MD
目录 目录 Cmder:window 下增强型的 cmd + bash 简介 配置 解决中文乱码问题 添加到右键菜单 添加至环境变量 修改命令提示符号 自定义aliases Readme.md 设置c ...
- Linux Shell 文本处理工具集锦 zz
内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...
- Linux Shell 文本处理工具集锦
本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...
- [转] Linux Shell 文本处理工具集锦
内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...
- Linux Shell 文本处理工具集锦(转载)
内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...
- Linux Shell 文本处理工具集锦【转】
转自:http://www.cnblogs.com/me115/p/3427319.html 内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq ...
- Linux shell文本处理工具
搞定Linux Shell文本处理工具,看完这篇集锦就够了 Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被Python等脚本代替.既然是基本功,那就需要掌握,毕竟学习She ...
随机推荐
- 【CSS】357- 坚定地使用 CSS Custom Properties
自定义属性(Custom Properties)是一个很有魅力的 CSS 新特性,现代浏览器广泛 支持.但是遇到那些不支持 CSS Custom Properties 的老掉牙浏览器我们该怎么办?等着 ...
- 【CSS】346- 你所不知道的 CSS 阴影技巧与细节
偷懒了1个多礼拜,在工作饱和的情况下,怎么坚持学习?今天的分享来自@Coco国服第一切图仔,我们聊聊CSS属性box-shadow- 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 ...
- 从零开始入门 K8s | etcd 性能优化实践
作者 | 陈星宇(宇慕) 阿里云基础技术中台技术专家 本文整理自<CNCF x Alibaba 云原生技术公开课>第 17 讲. 导读:etcd 是容器云平台用于存储关键元信息的组件.阿 ...
- python笔记03
day03 一.今日内容: 1.整型 2.字符串 3.布尔类型 二.内容回顾和补充 脑图--xmind软件,processon 1.运算符补充(in.not in) value = "我是中 ...
- Vue中slot插槽的使用
- v-if和v-show 的区别
区别 1.手段:v-if是通过控制dom节点的存在与否来控制元素的显隐:v-show是通过设置DOM元素的display样式,block为显示,none为隐藏: 2.编译过程:v-if切换有一个局部编 ...
- Nginx-HTTP Strict Transport Security(HSTS)
HTTP Strict Transport Security(HSTS) HTTP Strict Transport Security(通常简称为HSTS)是一个安全功能,它告诉浏览器只能通过HTTP ...
- 扫描枪连接zebra打印机打印条码标签无需电脑
在一些流水线生产的现场,需要及时打印条码标签,由于现场环境和空间限制,无法摆放电脑或者通过连接电脑来打印条码标签的速度太慢, 瑞科条码特提供了一套扫描枪直接连接条码打印机,扫描枪扫描条码之后直接打印输 ...
- imageRectForContentRect,titleRectForContentRect,contentRectForBounds,imageRectForContentRect什么时候调用
UIButton的布局顺序细节 什么时候调用imageRectForContentRect,titleRectForContentRect,contentRectForBounds,imageRect ...
- 【转载】单线程Redis性能为何如此之高?
Redis的优势 性能高不仅跟线程模型有关,它有很多原因,主要有如下3点: 基于内存: 单线程,但IO多路复用的利用率高: 数据结构为高性能优化. 下面分别阐述. Redis的优势:基于内存 性能高低 ...