Reference
Mac、Linux 安装zsh & ohmyzsh
shell 俗称壳,c语言编写的命令解析器程序,是用户使用linux的桥梁。Linux/Unix提供了很多种Shell。常用的Shell有这么几种,sh、bash、csh等。可以通过以下命令,查看系统有几种shell
:
$ cat /etc/shells
目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash。但是真正强大的 Shell 是深藏不露的 zsh,史称『终极 Shell』,由于与bash相似,功能又有所加强,zsh在Linux社区获得了关注。但因配置过于复杂,所以初期无人问津。直到国外有个程序员开发出了一个能够快速上手的zsh项目,叫做「oh my zsh」,Github 网址是:https://github.com/robbyrusse...。
安装使用zsh&ohmyzsh 的方法如下:
第一步:查看系统中有无zsh,以及版本
$ cat /etc/shells 或
$ zsh --version //--zsh 5.2 (x86_64-apple-darwin16.0)
$ echo $ZSH_VERSION //--5.2
第二步:若系统中没有zsh,则需要安装: ( 更多系统的安装方式 )
// Linux
$ sodu yum install zsh (Fedora和RedHat以及SUSE中)或
$ sodu apt-get install zsh (Debian系列,Ubuntu )
// macOS 系统自带了zsh, 一般不是最新版,如果需要最新版可通过Homebrew来安装(确认安装了Homebrew)
$ brew install zsh zsh-completions
// 或者也可以使用MacPorts(包管理工具)
$ sudo port install zsh zsh-completions
rpm包和deb包
是两种Linux系统下最常见的安装包格式。rpm包主要应用在RedHat系列包括 Fedora等发行版的Linux系统上,deb包主要应用于Debian系列包括现在比较流行的Ubuntu等发行版上。
yum命令
是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
apt-get命令
是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。(更多关于apt和apt-get )
第三步:查看当前默认shell,→ usr/bin/zsh or similar
$ echo $SHELL //把zsh设为默认shell,如果shell列表中没有zsh或者你没有使用chsh权限的时候,不起作用
$ [sudo] chsh -s $(which zsh) 或,
$ chsh -s /bin/zsh
注销重新登录后生效
第四步:安装 oh my zsh,主题样式介绍
安装 oh my zsh 之前必须安装zsh,否则会收到如下提示:Zsh is not installed! Please install zsh first!
#方法一:wget方式自动化安装oh my zsh:
$ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
#方法二:
$ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
#官网上的另外一种写法
$ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
#方法三:当然也可以通过git下载
$ git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
wget
,Linux命令,用来从指定的URL下载文件。mac使用这个命令,需要安装。可以参考这里或者这里。
$ wget(选项)(参数)
$ wget url 下载一个文件到当前目录
$ wget url -O - 在终端展示文件内容
-O -在终端展示文件内容
Saving to: “STDOUT”。stdout,标准输出,默认将信息输出到终端,在默认情况下,stdout是行缓冲的,他的输出会放在一个buffer里面,只有到换行的时候,才会输出到屏幕。
curl
,linux命令,是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本,已经是苹果机上内置的命令行工具之一了。window上的安装和使用参考或这里。更多curl可以学习阮一峰curl网站开发指南。
sh命令
是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通!
$ sh [options] [file] -c string //命令从-c后的字符串读取。
在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的
|
,Linux管道符,利用管道符将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。
第五步:配置。
1.查看什么Theme可以用
$ ls ~/.oh-my-zsh/themes
2.查看是否有 ~/.zshrc文件,如果想要备份系统的zsh配置
$ cp ~/.zshrc ~/.zshrc.orig
3.创建配置文件(cp 源文件 目标文件 把源文件复制到目标文件并改名,如果不存在,新建,如果已存在,内容覆盖,也可以手动)
$ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
4.Oh-My-Zsh的默认配置文件在:/.zshrc。编辑/.zshrc修改主题,默认情况下,使用的是robbyrussell主题:(在line 10,重启终端后有效或者使用source ~/.zshrc更新配置)
ZSH_THEME="amuse"
进一步优化:
精简 user@hostname:添加export DEFAULT_USER="username"到~/.zshrc中,可以隐藏固定的 user@hostname 信息。
可以到这里下载一些zsh的主题,放置在 ~/.oh-my-zsh/themes 目录目录下,并在配置文件.zshrc中进行适当的配置。其实,默认情况下,themes目录下已有很多样式。
还可以安装一些插件
配置内置的插件(在line 54,https://www.linuxidc.com/Linu...)