什么是Shell
shell是操作系统的命令解释器,在计算机科学中指“为用户提供用户界面”的软件,我的理解就是系统与用户沟通的桥梁。值得一提的是,shell不仅指的是命令行界面(CLI),图形界面(GUI)也是shell的一种。
壳层(shell)这个说法起源于路易斯·普赞(Louis Pouzin),他在1964年至1965年间首次提出,随后在Multics(MULTiplexed Information and Computing System)项目中首次被实现出来。
Unix上的第一个Unix壳层(Unix shell)是肯·汤普逊(Ken Thompson)以Multics上的shell为范本,所写出的Thompson shell。
在微软的Windows操作系统也提供了命令行壳层的功能,它们是Windows 95 / 98下的command.com、Windows NT内核下的cmd.exe以及PowerShell;而图形界面壳层即为explorer.exe。
——摘自维基百科:壳层
在Linux的命令行界面中,可以有不同的shell,常见的有:bash,ksh,zsh 等,而其中的集大成制作当属 Zsh。它有更智能的自动补全和拼写检查,可以与其他的shell共享历史记录等特性。而插件 Oh My Zsh 使得它的入门门槛降低了许多。
可以使用echo $SHELL
命令来查看当前使用的shell。
如何安装Zsh
安装软件包zsh
,运行命令zsh
,根据向导配置。
将Zsh作为你的默认终端
列出已安装的shell:
$ chsh -l
设置默认shell:
$ chsh -s <完整路径到shell>
配置Zsh
Oh My Zsh
要想安装 Oh My Zsh ,运行以下命令:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
之后,重启电脑,就可以使用 Oh My Zsh 了
.zshrc
.zshrc 文件是zsh的配置文件,位于home目录下,可以通过ls -a
命令找到。可以在这个配置文件中设置别名和环境变量。比如我参考这篇文章,配置成了这样:
在上面的ZSH_THEME
选项中,可以更改主题,我使用的是agnoster,这个主题可以很方便地显示当前目录和git分支、仓库的情况等,所有的主题预览在这里。