萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 在Linux中如何安裝及配置Zsh

在Linux中如何安裝及配置Zsh

  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 %

上一頁12下一頁共2頁

  歷史記錄

  不幸的是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命令使用實例。

上一頁12 下一頁共2頁
copyright © 萬盛學電腦網 all rights reserved