zshzsh入门


备注

zsh是一个与POSIX兼容的shell,是Bourne shell( sh )和bash的流行替代品。

它的关键特性是专注于用户的高级定制,这导致了一个活跃的开发人员社区,为zsh创建扩展,包括定制的,信息更丰富的提示状态行,通常与系统服务集成。

许多具有大量合理默认值和有用扩展的配置都在线存在,包括流行的oh-my-zshprezto

版本

发布日期
5.3.1 2016年12月21日
5.3 2016年12月12日
5.2 2015年12月2日
5.1.1 2015年9月11日
5.1 2015年8月30日
5.0.8 2015年5月31日
5.0.0 2012-07-24
4.3.17(测试版) 2012-02-23
4.2.7 2007-12-18
4.3.1(测试版) 2006-02-28
4.2.0 2004-03-19
4.0.9 2003-12-19
4.1.1(测试版) 2003-06-19
4.0.1 2001-06-01
3.1.9 2000年6月5日
3.0.8 2000年5月16日
3.1.6(beta) 1999-08-01
3.0.0 1996年8月15日
2.6-beta21 1996年6月19日
2.6-β1 1994年10月16日
2.5.0 1994年7月14日
2.3.1 1993年2月20日
2.2 1992年5月13日
2.1 1991年10月24日
2.0 1991年4月24日
1.0 1990年12月15日

别名

要在~/.zshrc 文件中为命令添加别名,可以使用以下语法:

alias [alias-name]="[command-to-execute]"
 

例如,执行命令ls -a 是很常见的。您可以将此命令别名为la

alias la="ls -a"
 

重新加载~/.zshrc 文件后,您将能够输入la 并且将执行ls -a

目录别名

这是常见的有你的某些文件夹cd 入常。如果是这种情况,您可以创建这些目录的别名,以便更容易地进行cd 。例如,以下内容将为Dropbox文件夹添加别名:

alias db="cd ~/Dropbox"
 

允许您输入db 并将目录更改为~/Dropbox

组态

启动Zsh时,默认情况下它将按此顺序提供以下文件:

  1. /etc/zsh/zshenv 用于设置系统范围的环境变量;它不应包含产生输出的命令或假设shell附加到tty。始终会获取此文件,但不能覆盖此文件。

  2. $ZDOTDIR/.zshenv 用于设置用户的环境变量;它不应包含产生输出的命令或假设shell附加到tty。始终会获取此文件。

  3. /etc/zsh/zprofile 用于在start时执行命令,将在作为登录shell启动时获取。

请注意,在Arch Linux上,默认情况下它包含一行来源/ etc / profile。

/etc/profile 此文件应在登录时由所有与Bourne兼容的shell提供:它在登录时设置$PATH 和其他环境变量以及特定于应用程序(/etc/profile.d/*.sh)的设置。

  1. $ZDOTDIR/.zprofile 用于在启动时执行用户命令,将作为登录shell启动时获取。

  2. /etc/zsh/zshrc 用于设置交互式shell配置和执行命令,将在作为交互式shell启动时获取。

  3. $ZDOTDIR/.zshrc 用于设置用户的交互式shell配置和执行命令,将在作为交互式shell启动时获取。

  4. /etc/zsh/zlogin 用于在初始进度结束时执行命令,将在作为登录shell启动时获取。

  5. $ZDOTDIR/.zlogin 用于在初始进度结束时执行用户命令,将在作为登录shell启动时获取。

  6. $ZDOTDIR/.zlogout 将在登录shell退出时获取。

  7. /etc/zsh/zlogout 将在登录shell退出时获取。

如果未设置$ ZDOTDIR,则使用$ HOME。

对于一般个人用途,通常编辑用户的.zshrc 文件以获取个人偏好

安装或设置

得到zsh

zsh 可通过其内置的包管理系统在许多类UNIX平台上使用。在Debian和Ubuntu Linux发行版上, zsh 在默认包存储库中可用,可以使用以下命令安装:

$ sudo apt-get install zsh
# or, on newer Ubuntu distributions
$ sudo apt install zsh
 

在基于RPM的发行版中, zsh 通常也可以在默认包存档中使用,并且可以使用以下命令安装:

$ yum install zsh
 

在Fedora 22及更高版本:

$ dnf install zsh
 

在BSD系统上,可以使用pkg 安装zsh

$ pkg install zsh
 

在OpenBSD上,可以使用pkg_add 安装zsh

$ pkg_add zsh
 

在Arch Linux上,可以使用pacman 安装zsh

$ pacman -S zsh
 

在openSUSE上,可以使用zypper 安装zsh

$ zypper install zsh
 

在运行macOS(OS X)的系统上,默认情况下已安装zsh ,但未设置为默认shell。您还可以通过Homebrew安装更新的版本:

$ brew install zsh
 

或者, zsh 的源代码可以从官方网站获得。

从那里,可以通过在提示符下键入zsh 来启动shell。

使zsh 默认shell

在大多数Linux和BSD系统上,可以使用chsh 命令将zsh 设置为用户的默认shell:

$ chsh -s shell [username]
 

哪里

  • username 是一个真实的用户名(如果省略则默认为当前用户)
  • shellzsh 二进制文件的路径。该路径应列在/etc/shells 文件中,该文件包含与chsh 一起使用的允许shell列表。如果zsh 没有列在那里 - 例如因为你从源代码编译并安装它 - 你需要首先添加一条带有zsh 绝对路径的行。您可以使用which zsh 获取此路径(前提是它安装在PATH 列出的目录中)

要查看更改,请注销一次并登录。打开终端仿真器并使用

`echo $SHELL`
 

如果它显示/bin/zsh 那么您已成功将默认shell更改为zsh。

重新加载ZSH配置

zsh在启动时从~/.zshrc 文件加载配置。如果对该文件进行了更改,则可以重新启动zsh或运行以下命令来重新加载配置。

. ~/.zshrc
 

您可以在~/.zshrc 这个有用的命令,如下所示:

alias reload=". ~/.zshrc"