系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux安装配置Zsh

在Linux中如何安装及配置Zsh

时间:2015-03-12 17:22:50 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150312/41109.html 手机查看 评论

  Zsh和bash都是能够在Linux中运行的shell脚本,通常默认的是bash,要想使用Zsh需另外安装,下面小编将针对Zsh在Linux系统中的安装和配置给大家做个详细介绍,感兴趣的朋友可以来了解下。

 在Linux中如何安装及配置Zsh

  1. 安装

  安装zsh

  在Gentoo中安装zsh,我们需要通过emerge来安装app-shells/zsh(zsh本身)和app-shells/zsh-completion (zsh补全脚本)两个软件包。

  代码 1.1: 通过emerge安装zsh

  # emerge zsh zsh-completion

  进入zsh

  当你第一次运行zsh的时候,你会得到如下的一些信息。因为我们会在后面创建一个init文件,所以你可以跳过这一个功能选单。

  代码 1.2: 跳过初始配置

  $ zsh

  This is the Z Shell configuration function for new users, zsh-newuser-install.

  You are seeing this message because you have no zsh startup files

  (the files .zshenv, .zprofile, .zshrc, .zlogin in the directory

  ~)。 This function can help you with a few settings that should

  make your use of the shell easier.

  You can:

  (q) Quit and do nothing. The function will be run again next time.

  (0) Exit, creating the file ~/.zshrc containing just a comment.

  That will prevent this function being run again.

  (1) Continue to the main menu.

  --- Type one of the keys in parentheses --- q

  2. 配置

  简介

  运行zsh会为一个会话启动zsh。如果你要一个永久的解决方案,请参考保存设置这一个章节。在安装完成以后,zsh看起来可能非常的简单并且功能十分有限。为了改变这个状况,你需要对几个配置进行修改。

  先进的Tab补全

  你需要运行以下的命令来开启zsh的tab补全系统:

  代码 2.1: 开启补全系统

  % autoload -U compinit

  % compinit

  默认的补全风格非常的普通和简陋。如果你要改进它的外观,运行以下的命令:

  代码 2.2: 改进补全风格

  % zstyle ‘:completion:*:descriptions’ format ‘%U%B%d%b%u’

  % zstyle ‘:completion:*:warnings’ format ‘%BSorry, no matches for: %d%b’

  命令纠错

  开启命令自动纠错功能也是一个不错的主意:

  代码 2.3: 开启纠错功能

  % setopt correctall

  提示符

  当前的提示符可能看起来很乏味,然而我们可以通过简单的几个步骤来解决它。首先,我们需要初始化高级命令提示符支持:

  代码 2.4: 开启高级命令提示符功能

  % autoload -U promptinit

  % promptinit

  我们可以使用prompt -p命令来列出可用的提示符样本。现在我们可以激活一个我们喜欢的了:

  代码 2.5: 选择一个提示符样本

  (使用你选择的提示符替代“gentoo”)

  % prompt gentoo

  注意: 如果你在尝试不同的提示符,并且你不想看到每一个提示符的示例,那么你可以使用prompt -l来列出可用的提示符。

  另一个选择是创建你自己的提示符。你需要设置PS1环境变量来实现这个想法。

  代码 2.6: 一个简单的自定义提示符

  % export PS1=“[Test Prompt] 》 ”

  [Test Prompt] 》

  能够创建自定义的文本提示符一定很不错,与此同时zsh也提供了许多的转义序列来允许你把系统信息插入到提示符里。一些可用的转义序列如下:

  转义序列打印效果

  %T系统时间(时:分)

  %*系统时间(时:分:秒)

  %D系统日期(年-月-日)

  %n你的用户名

  %B - %b开始到结束使用粗体打印

  %U - %u开始到结束使用下划线打印

  %d你目前的工作目录

  %~你目前的工作目录相对于~的相对路径

  %M计算机的主机名

  %m计算机的主机名(在第一个句号之前截断)

  %l你当前的tty

  你只要将这些转义序列插入到环境变量PS1里就可以了,而后zsh会自动地解析他们。

  代码 2.7: 一个更复杂的提示符

  % export PS1=“[%* - %D] %d %% ”

  [08:44:23 - 06-02-18] /home/username %

  历史记录

  不幸的是Gentoo里默认的zsh配置不包含对命令行历史记录的支持。因为使用没有历史记录功能的shell是十分令人沮丧的,所以我们应该输入以下的命令:

  代码 2.8: 基础的历史记录配置

  % export HISTSIZE=2000

  % export HISTFILE=“$HOME/.history”

  (如果没有以下命令,历史记录不会被存储)

  % export SAVEHIST=$HISTSIZE

  为了防止记录重复的输入(比如ls -l在同一个shell会话中输入了太多次),你可以设置hist_ignore_all_dups选项:

  代码 2.9: 设置忽略重复的记录

  % setopt hist_ignore_all_dups

  一个小技巧可以用来防止某些特定的输入被记录,那就是在输入他们之前先输入至少一个空格。

  代码 2.10: 防止某些特定的输入被记录

  % setopt hist_ignore_space

  (这个命令不会被记录。请注意在它之前的多出来的那个空格。)

  % cat /proc/cpuinfo

  杂项设置

  如果你想要避免在切换目录时一直输入乏味的cd命令(比如使用/etc而不是cd /etc)你可以设置autocd选项。

  代码 2.11: 设置autocd选项

  % setopt autocd

  如果标准的bash样式的文件名替换(globbing)不和你的胃口,你可以通过extendedglob选项来设置开启扩展的文件名替换(globbing)(与正则表达式有些类似)。

  代码 2.12: 设置扩展的文件名替换

  % setopt extendedglob

  当上面的选项被设置了以后,你可以使用扩展的文件名替换查询,例如:cp ^*.(tar|bz2|gz)。

  3. 保存设置

  保存zsh设置

  当我们将zsh设置成我们喜欢的样子后,我们最好把这些设置保存成zsh的默认设置。一个可行的方法是把我们的配置写入到/etc/zsh/zshrc脚本里,这样这些设置就会成为系统默认的设置。还有一个替代方案就是通过编辑/etc/zsh/zshrc文件来使我们的设置只对自己的帐号有效。

  代码 3.1: 一个zshrc范例

  #!/bin/zsh

  # completion

  autoload -U compinit

  compinit

  # correction

  setopt correctall

  # prompt

  autoload -U promptinit

  promptinit

  prompt gentoo

  4. 把zsh设置成默认的shell

  对于有root权限的用户的选择

  我们可以通过usermod命令来设置某一个给定用户的shell。

  代码 4.1: 使用usermod命令永久地切换到zsh

  # usermod -s /bin/zsh userlogin

  对于非root用户的替代解决方案

  如果你的系统管理员拒绝为你把shell设置成zsh(无论你的请求多么地温和),那么你可以设置bash在启动的时候执行zsh,你要做的一切就是对你的~/.bashrc做一个小修改。

  代码 4.2: ~/.bashrc样本

  (把以下内容加入到你的~/.bashrc里)

  exec zsh

  改变shell的另外一种方法就是使用chsh命令(一个改变用户登录shell的实用程序)。一个普通用户只能改变自己账户的登录shell。而作为root,你可以改变所有用户的登录shell。

  代码 4.3: 使用chsh命令永久地切换到zsh

  (使用你的用户名替代“username”)

  $ chsh -s /bin/zsh username

  上面就是Linux安装和配置Zsh的方法介绍了,安装完Zsh后还需对其进行相关配置,而Zsh的使用可以参考系统之家Linux Zsh命令使用实例

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录