Mac、Linux 安装zsh & ohmyzsh

PpikachuP 2019-06-26

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...

相关推荐