Linux 超级漂亮的 Shell
上一篇:字节跳动面试经验总结,已顺利拿到offer!
来自:入门小站
先来一张美图
zsh 介绍
Linux shell
Linux/Unix 提供了很多种 Shell,为毛要这么多 Shell?
难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了,而且程序员往往负责把复杂的事情搞简单,简单的事情搞复杂。
牛程序员看到不爽的 Shell,就会自己重新写一套,慢慢形成了一些标准,常用的 Shell 有这么几种,sh、bash、csh 等,想知道你的系统有几种 shell,可以通过以下命令查看:
cat /etc/shells
显示如下:
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 客户端与扩充过的数学函数
完全可定制化
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
安装 zsh
安装 zsh
对于一般的 Ubuntu 系统,配置好正确的源之后,就能直接键入以下命令安装:
sudo apt-get install zsh
配置 zsh
zsh 的配置是一门大学问,这里不赘述,直接给出一个配置文件,大家可以下载后放入 zsh 配置文档直接使用。(我的一个法国朋友手配的,相当顺手)
把. zshrc 拷贝到相应用户的 home 目录即可
(也可以把你的 bash 的配置文件 (~/.bash_prorile 或者~/.profile 等) 给拷贝到 zsh 的配置文件~/.zshrc 里,因为 zsh 兼容 bash)
或者
chsh -s /bin/zsh
chsh -s `which zsh`
如果要切换回去 bash:
chsh -s /bin/bash
当然你实在不愿意把 zsh 当成默认的 shell, 而又想使用它, 那么你可以每次进入是都使用zsh进入, 而输入exit退出
安装 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.orig
cp ~/.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
感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。
· END ·
最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。
正文结束
推荐阅读 ↓↓↓
1.救救大龄码农!45岁程序员在国务院网站求助总理!央媒网评来了...
2.如何才能成为优秀的架构师?
3.从零开始搭建创业公司后台技术栈
4.程序员一般可以从什么平台接私活?
5.37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...
6.IntelliJ IDEA 2019.3 首个最新访问版本发布,新特性抢先看
7.这封“领导痛批95后下属”的邮件,句句扎心!
8.15张图看懂瞎忙和高效的区别!
Linux 超级漂亮的 Shell相关推荐
- linux超级基础系列——shell变量(本地变量和环境变量)
linux超级基础系列--shell变量(本地变量和环境变量) 2006-12-04 00:39 为使shell编程更有效,系统提供了一些shell变量.shell变量可以保存诸如路径名.文件名或者一 ...
- Linux安全基础:shell及一些基础命令
1.什么是shell? Shell是用户和Linux操作系统之间的接口. Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类 (1)bash bash shell 是 Bo ...
- 实时折线图php mysql 源码_超级漂亮网址导航源码,自助链源码(PHP+MYSQL完整版)...
品牌: 其他 语言: PHP 数据库: Mysql 源文件: 完全开源(含全部源文件) 授权: 免授权 规格: 整站源码 移动端: 无移动端 安装服务: 收费安装(另补差价) 操作系统: Window ...
- 《linux命令行与shell编程大全》--读书笔记
1.初识Linux shell 图片链接 2.走进shell 1.进入命令行,CLI(command line interface),也叫Linux控制台 通过Linux控制台终端访问CLI Ctrl ...
- 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter1-Chapter16 )
一.初识 Linux shell Linux 系统可划分为以下 4 部分. Linux 内核 GNU 工具 图形化桌面环境 应用软件 内核主要负责以下 4 种功能. 系统内存管理 内核通过硬盘上称为交 ...
- 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记
2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...
- Linux常见指令与shell理解
Linux常用指令与shell理解 文章目录 Linux常用指令与shell理解 1. ls指令 2. cd指令 3. pwd命令 4. touch指令 5. mkdir指令 6. rmdir和rm指 ...
- Linux命令行与shell脚本编程大全:第2版
<Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---34
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- 第13章代码《跟老男孩学习Linux运维:Shell编程实战》
本书历史上已出版最实战的Shell高级编程实战书籍,没有之一,和市面书籍不同,本书是作者经过18年的运维工作及教学工作后,创新类企业级实战书籍,适合所有学习及从事Linux相关工作的读者. <跟 ...
最新文章
- 你绝没用过的一款高级空间可视化工具
- php 批量导出excel文件,PHPEXCEL批量导出
- TestBird烧烤趴,几维安全专属报名通道
- [转]Android NDK几点回调方式
- 04 Websocket和Websocketed
- 1231 sqlserver_sqlserver 删除表中 指定字符串
- GridView 利用AspNetPager 分页时的自动编号
- 礼遇双十二,送12份福利好事成双
- php strtofloat,Delphi6函数大全(3)
- python第五章课后答案5.8_Python语言程序设计(美-梁勇)第5章习题解答
- 操作高通QXDM5,点击重置按钮出现报错
- 【TSOJ课程】20 1151 玛雅日历
- Zack Arias One light workshop(单灯摄影艺术)
- Corrupted STDOUT by directly writing to native stream in forked JVM 1. See FAQ web page and the dump
- C Prime plus 第七章练习题
- 无人机停机坪是什么?有哪些作用?无人机自动巡检如何实现?
- iOS开发- 实现类似于陌陌点点和探探首页切换效果类似
- SpringCache-redis缓存学习记录
- 我的世界服务器怎么做无限商店,我的世界无限商店指令 | 手游网游页游攻略大全...
- Normalization如何解决梯度消失
热门文章
- CentOS7 扩容时发现 /dev/mapper/centos-home 不存在,创建后登录终端显示 -bash-4.2
- iOS底层探索之类的加载(三): attachCategories分析
- 【学时总结】 ◆学时·IV◆ 数位DP
- 关于scala中lazy val的几个注意事项
- 重读《JAVA与模式》之二
- 算法基础(八):超具体最优二叉树构建(1)
- 使用Ntdsutil.exe捕获系统状态数据
- (转)我在赶集网的两个月(完整版)(一)
- javascript:访问iframe中的js函数
- Atlas指南: 建立一个AJAX 涂鸦程序(三)