CentOS Linux修改默认Bash shell为Zsh shell
Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器。常用的Bash就是Shell的一种,也是Linux下默认Shell程序。这里介绍一种更强大的、更人性化的Shell——oh-my-zsh。
默认 CentOS / Ubuntu / Mac 系统用的是 Bash,倒也不是说 Bash 不好,而是说我们有更好的选择。
Zsh属于Shell中的一种,但比Bash好用,而且完全兼容Bash,拥有及其丰富的插件、强大的自动补全能力、以及自定义功能,可以大大提供我们使用Linux的效率.
下面来具体说下zsh的优点,或者说为什么要选择Zsh。 (反正我是为了装X,显得跟别人其他的Linuxer不一样 :) )
完全兼容bash,之前bash下的使用习惯,shell脚本都可以完全兼容。 更强大的tab补全,当你切换目录敲两下tab,他可以列出当前目录下面的所有目录,并且可以使用键盘上下左右键来选择要进入的目录。 更智能的切换目录,比如你要进入一个很深的目录,like this /var/log/nginx/error/lastyear/may/first/monday, 用zsh可以这样输入cd /v/l/n/e/l/m/f/m,然后按tab即可补全整个路径。或者你实现知道当前目录名称,可以直接输入目录,即可进去目录。bash下cd - 可以切换到刚才进入的目录,在zsh下可以记录最近进去过的10个目录,只需要输入d,然后看到对应的0-9的目录,输入cd -数字,即可进入对应的目录。或者直接输入cd -然他后TAB一下,你会发现有最近使用过的31个目录等候你选择。 命令选项补齐,比如输入yum,然后按tab,即可显示出yum都有哪些命令选项。 大小写字母自动更正,比如我们要cat一下README.txt,直接输入cat readme.txt TAB,之后zsh就会把小写的readme改成大写的。这个功能很好用哦。 有着丰富多彩的主题,如果你使用我的脚本安装oh-my-zsh的项目的话,在~/.oh-my-zsh/themes里会找到多达142个主题,看中哪个主题直接在~/.zshrc 里面更改: 1
ZSH_THEME="ys" 更强大的alias命令,比如下面命令,当你在zsh环境下输入hello.py即可直接用vim打开文件编辑,一个tgz的文件即可自动解压缩。 1
2
3
alias -s py=vim
alias -s html=vim
alias -s tgz='tar zxvf'
话不多说,Let's do it
Zsh 安装
- CentOS 安装:
sudo yum install -y zsh
- Ubuntu 安装:
sudo apt-get install -y zsh
- 在检查下系统的 shell:
cat /etc/shells
,你会发现多了一个:/bin/zsh
使用 Zsh 扩展集合:oh-my-zsh
oh-my-zsh 帮我们整理了一些常用的 Zsh 扩展功能和主题:https://github.com/robbyrussell/oh-my-zsh
我们无需自己去捣搞 Zsh,直接用 oh-my-zsh 就足够了,如果你想继续深造的话那再去弄。
先安装 git:sudo yum install -y git
安装 oh-my-zsh(这个过程可能会有点慢,或者需要重试几次):wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
整个过程效果如下图:
在以 root 用户为前提下,oh-my-zsh 的安装目录:/root/.oh-my-zsh
在以 root 用户为前提下,Zsh 的配置文件位置:/root/.zshrc
为 root 用户设置 zsh 为系统默认 shell:chsh -s /bin/zsh root
如果你要重新恢复到 bash:chsh -s /bin/bash root
现在你关掉终端或是重新连上 shell,现在开头是一个箭头了,如下图:
替换完成:)
换回去
先查看有哪些shell
cat /etc/shells
例如,换回Bash
chsh -s /bin/bash
CentOS Linux修改默认Bash shell为Zsh shell的更多相关文章
- CentOS Linux 修改主机名
一.CentOS5 修改主机名 二.CentOS6 修改主机名 三.CentOS7 修改主机名 静态的(Static hostname) "静态"主机名也称为内核主机 ...
- Linux修改默认挂载NFS协议版本
系统版本:CentOS Linux release 7.4.1708 (Core) $ vi /etc/nfsmount.conf # # /etc/nfsmount.conf - see nfsmo ...
- linux修改默认语言
echo $PATH #查看当前语言LANG=en_US.UTF-8 #临时修改当前语言,修改为英文echo 'LANG=en_US.UTF-8' > /etc/sysconfig/i18n # ...
- Linux 修改默认文件关联打开程序
从总体上讲 /etc/gnome/defaults.list 保存了全局的打开方式-/.local/share/applications/mimeapps.list 保存了个人的打开方式当这两个文件不 ...
- Linux 修改默认的 yum 源
官方的yum源在国内访问效果不佳. 需要改为国内比较好的阿里的 yum源,因为每次装的时候都得百度,所以这里记录一下. 修改方式: 1)cd /etc/yum.repos.d/ 这个目录下普通用户可能 ...
- centos docker 修改默认存储路径
1.修改配置 将--graph /mnt/docker添加在docker.service文件中的ExecStart字段后面,其中/mnt/docker为你需要修改的存储目录 $ vim /usr/li ...
- Linux修改默认ssh22端口
1.检查端口是否可用 使用下面的命令检查您想增加或修改的端口号是否被占用,执行命令后如果没有任何打印,说明这个端口没有被占用 netstat -lnp|grep 23456 2.修改配置文件 ssh配 ...
- CentOS Linux修改系统时区
ln –sf /usr/share/zoneinfo/Hongkong /etc/localtime
- Centos 7 修改默认的运行级别
Runlevel System State 0 Halt the system 1 Single user mode 2 Basic multi user mode 3 Multi user mode ...
随机推荐
- linux运维、架构之路-K8s应用
一.Deployment k8s通过各种Controller管理Pod的生命周期,为了满足不同的业务场景,k8s提供了Deployment.ReplicaSet.DaemonSet.S ...
- 2019春Python程序设计测试(20190611--20190611)
1-1 Python使用缩进来体现代码之间的逻辑关系. (2分) T F 1-1答案正确(2 分) 1-2 为了输出",可以使用如下语句print(""& ...
- 21.django中间件源码阅读
回顾: 关于里面的源码流程大家可以全看视频,因为代码的跳动性很大,而且会多次调用通过一方法,所以关于中间源码的部分去找个视频看一看,我写的不是很清楚. # 1 cookie session # 2 f ...
- [大数据] hadoop全分布式安装
一.准备工作 在伪分布式的搭建基础上修改配置,搭建全分布式hadoop环境,伪分布式安装参照 hadoop伪分布式安装. 首先准备4台虚拟机,信息如下: 192.168.1.11 namenode1 ...
- AcWing:138. 兔子与兔子(字符串Hash)
很久很久以前,森林里住着一群兔子. 有一天,兔子们想要研究自己的 DNA 序列. 我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 个小写英文字母). 然后我们每 ...
- 新建Spring boot 启动报错 Failed to auto-configure a DataSource
今天学习springboot,使用idea创建项目.在选择组件时添加了mysq 然后在第一次启动的时候启动报错,错误信息如下: ***************************APPLICATI ...
- POI 生成excel
POI生成原生Excel-工具类 https://www.jianshu.com/p/2dfe7fe7d02e JAVA poi 帮助类 https://www.cnblogs.com/Ca ...
- 【转载】Linux的五个查找命令
原文:http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html 最近,我在学习 ...
- 在win7下,将QT集成到vs2010上
在网上查了很多,自己先是下载了一个5.2.0版本的,但在我的电脑上运行时老报错,一怒之下决定不再使用5.2.0版本的QT,而先择了更低版本的4.8.5版本,然后.....然后就成功了.谢天谢地,在这我 ...
- jenkins入门-----(1)安装、配置
Jenkins概念 Jenkins是一个开源的.可扩展的持续集成.交付.部署(软件/代码的编译.打包.部署)的基于web界面的平台.允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构 ...