上一篇:字节跳动面试经验总结,已顺利拿到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相关推荐

  1. linux超级基础系列——shell变量(本地变量和环境变量)

    linux超级基础系列--shell变量(本地变量和环境变量) 2006-12-04 00:39 为使shell编程更有效,系统提供了一些shell变量.shell变量可以保存诸如路径名.文件名或者一 ...

  2. Linux安全基础:shell及一些基础命令

    1.什么是shell? Shell是用户和Linux操作系统之间的接口. Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类 (1)bash bash shell 是 Bo ...

  3. 实时折线图php mysql 源码_超级漂亮网址导航源码,自助链源码(PHP+MYSQL完整版)...

    品牌: 其他 语言: PHP 数据库: Mysql 源文件: 完全开源(含全部源文件) 授权: 免授权 规格: 整站源码 移动端: 无移动端 安装服务: 收费安装(另补差价) 操作系统: Window ...

  4. 《linux命令行与shell编程大全》--读书笔记

    1.初识Linux shell 图片链接 2.走进shell 1.进入命令行,CLI(command line interface),也叫Linux控制台 通过Linux控制台终端访问CLI Ctrl ...

  5. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter1-Chapter16 )

    一.初识 Linux shell Linux 系统可划分为以下 4 部分. Linux 内核 GNU 工具 图形化桌面环境 应用软件 内核主要负责以下 4 种功能. 系统内存管理 内核通过硬盘上称为交 ...

  6. 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记

    2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...

  7. Linux常见指令与shell理解

    Linux常用指令与shell理解 文章目录 Linux常用指令与shell理解 1. ls指令 2. cd指令 3. pwd命令 4. touch指令 5. mkdir指令 6. rmdir和rm指 ...

  8. Linux命令行与shell脚本编程大全:第2版

    <Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...

  9. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---34

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...

  10. 第13章代码《跟老男孩学习Linux运维:Shell编程实战》

    本书历史上已出版最实战的Shell高级编程实战书籍,没有之一,和市面书籍不同,本书是作者经过18年的运维工作及教学工作后,创新类企业级实战书籍,适合所有学习及从事Linux相关工作的读者. <跟 ...

最新文章

  1. 你绝没用过的一款高级空间可视化工具
  2. php 批量导出excel文件,PHPEXCEL批量导出
  3. TestBird烧烤趴,几维安全专属报名通道
  4. [转]Android NDK几点回调方式
  5. 04 Websocket和Websocketed
  6. 1231 sqlserver_sqlserver 删除表中 指定字符串
  7. GridView 利用AspNetPager 分页时的自动编号
  8. 礼遇双十二,送12份福利好事成双
  9. php strtofloat,Delphi6函数大全(3)
  10. python第五章课后答案5.8_Python语言程序设计(美-梁勇)第5章习题解答
  11. 操作高通QXDM5,点击重置按钮出现报错
  12. 【TSOJ课程】20 1151 玛雅日历
  13. Zack Arias One light workshop(单灯摄影艺术)
  14. Corrupted STDOUT by directly writing to native stream in forked JVM 1. See FAQ web page and the dump
  15. C Prime plus 第七章练习题
  16. 无人机停机坪是什么?有哪些作用?无人机自动巡检如何实现?
  17. iOS开发- 实现类似于陌陌点点和探探首页切换效果类似
  18. SpringCache-redis缓存学习记录
  19. 我的世界服务器怎么做无限商店,我的世界无限商店指令 | 手游网游页游攻略大全...
  20. Normalization如何解决梯度消失

热门文章

  1. CentOS7 扩容时发现 /dev/mapper/centos-home 不存在,创建后登录终端显示 -bash-4.2
  2. iOS底层探索之类的加载(三): attachCategories分析
  3. 【学时总结】 ◆学时·IV◆ 数位DP
  4. 关于scala中lazy val的几个注意事项
  5. 重读《JAVA与模式》之二
  6. 算法基础(八):超具体最优二叉树构建(1)
  7. 使用Ntdsutil.exe捕获系统状态数据
  8. (转)我在赶集网的两个月(完整版)(一)
  9. javascript:访问iframe中的js函数
  10. Atlas指南: 建立一个AJAX 涂鸦程序(三)