在Linux上安装zsh
简单介绍:
相对于绝大多数linux发行版默认的shell--bash,zsh绝对是一个优秀的替代品.zsh是交互型shell,同一时候它也是一个强大的编程语言,很多bash,ksh,tcsh优秀的地方在zsh都被实现.同一时候zsh有很多原生的优秀特点.
诞生:
Paul Falstad 在1990年公布了zsh的第一版,当时他还是Princeton University的一名学生.
名字的来源:
这个名字来自耶鲁大学的Zhong Shao教授,那时他在Princeton University做助教.Paul Falstad觉得Shao的登录名"zsh"做为1个shell的名字挺合适的.于是zsh这个名字诞生了
安装:
本文以ubuntu10.10发行版为蓝本.
sudo apt-get install 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 shouldmake 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.
(2) Populate your ~/.zshrc with the configuration recommended by the system administrator and exit (you will need to edit the file by hand, if so desired).
由于是第一次执行,所以会出现配置界面.我们在这里临时先选择0,以便实现随后的定制.
特色
Tab补全
zsh实现了全面可编程化的补全方式,同意用户让shell自己主动补全各种命令的參数(即使那些与shell本身无关的命令), 自己主动填充shell的很多转换的定义以及很多恰当的參数类型.比方:输入tar xvf ,然后Tab键,系统会自己主动选择tar.gz文件,略过那些不符合的.如今zsh默认有500多个补全定义
实现方法:
%autoload -U compinit
%compinit
更高级的补全:
% zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
% zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
它能够自己主动补全命令、參数、文件名称、进程、username、变量、权限符等。
选择提示符
zsh有很多默认的提示符主题.首先你要初始化高级提示符支持
%autoload -U promptinit
%promptinit
查看可用的提示符主题: prompt -p
这里我选择 promot elite2 red
定制历史信息:
这里我们设置记录命令历史文件位~/.histfile,在当前shell中记录1000个命令,在shell关闭后保存使用过的最后1000个命令
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
假设你不想保存反复的历史
setopt hist_ignore_all_dups hist_ignore_space
自己主动化的CD命令
zsh同意你只敲入你要进入的目录的路径,而不用输入cd.比方你要进入/etc/init.d
首先打开autocd选项 setopt autocd
然后输入 /etc/init.d 回车就可以进入目录中
扩展的文件名称替换通配符
文件名称替换实现了在展开文件通配符,来出一些特定的文件.广大的shells一直都在使用文件名称替换.比方:
%ls foo*
foo1 foo2
强大的重定向功能:
同一时候重定向stdout和stderr到file: command |& >file 同一时候重定向到多个文件: command >file.1 >file.2
zsh的确是个强大的shell,它支持很多有趣的通配符扩展.你能够使用通配符号,他们是一些有特殊意义的字符.比如:列出当前目录下全部的符号链接文件:
%ls *(@)
zsh的通配符包含了"/"来表示文件夹,"."代表普通文件.很多其它的man zshexpn查看.假设没有匹配,zsh返回错误.
还有其它的类型,比方"/",表示让zsh匹配当前文件夹及当前文件夹的全部子文件夹.比如,找到当前文件夹下以及子文件夹下的不论什么".sh"或者".py"文件,
%ls -l **/*.(sh|py)
让配置保持生效
为了一直使用扩展的文件名称替换,将下边命令加入到~/.zshrc
autoload -Uz compinit
compinit
zstyle :compinstall filename '/home/capecchi/.zshrc'
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
Prompt setup
autoload -U promptinit
promptinit
prompt elite2 yellow
History
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
We set some options here
setopt appendhistory autocd hist_ignore_all_dups hist_ignore
注: ~/.zshrc文件能够来自交互和登录shell。假设你希望为非交互执行的zsh(即,通过cronjob)设定选项,那么你须要把那些命令加入在~/.zshenv后面
更改用户默认的登录shell:
chsh -s /bin/zsh username 普通用户能够更改自己的,root用户则可更改全部用户的
參考:http://www.linuxaria.com/howto/introduzione-a-zsh?lang=it
在Linux上安装zsh的更多相关文章
- 在 Linux Mint 19 上安装 zsh 和设置小键盘一步到位
在 Linux Mint 19 上安装 zsh 和设置小键盘 安装 zsh 并设置 zsh 为默认 shell 安装 sudo apt install zsh 设置 zsh 为默认 shell,注意没 ...
- 在Windows和Linux上安装paramiko模块以及easy_install的安装方法
一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...
- 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导
Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...
- WINDOWS和Linux上安装php7 alpha 并安装 yaf
WINDOWS和Linux上安装php7 alpha 并安装 yaf PHP技术 widuu 2个月前 (06-15) 126浏览 0评论 windows 1.windows上安装 php7 ...
- 在Windows和Linux上安装paramiko模块
一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...
- Linux上安装使用boost入门指导
Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...
- 如何在Linux上安装Storm
Storm是开源的分布式实时计算系统,能够让数据流处理变得简单.可靠,也因此在大数据领域有广泛的实际 应用.下面介绍一下如何在Linux系统上安装Storm.根据Storm官网介绍,安装Storm软件 ...
- linux上安装Drupal
linux上安装Drupal 前言:国内用drupal的并不太多,网上资料也很少.要注意的是drupal尽量别使用apt来安装,特别是ubuntu平台的drupal做出了一定的更改,会妨碍后期的学习和 ...
- 在Linux上安装Hadoop
先决条件: Hadoop是用JAVA写的,所以首先要安装Java.在Ubuntu上安装JDK见:http://blog.csdn.net/microfhu/article/details/766739 ...
随机推荐
- 08C++函数
函数 4.1 概述 一个较大的程序不可能完全由一个人从头至尾地完成,更不可能把所有的内容都放在一个主函数中.为了便于规划.组织.编程和调试,一般的做法是把一个大的程序划分为若干个程序模块(即程序文件) ...
- 子例程 subroutine
#! /usr/bin/perluse strict;use warnings;print "\n---------summation_STDIN_parameter----------\n ...
- spring封装的RabbitMQ
spring这么牛逼的团队,封装了RabbitMQ,简化了RabbitMQ的使用,那肯定是要使用spring-rabbit了 一.简介 二.使用方法 1.消费者 public class Foo { ...
- torch.nn.Embedding理解
Pytorch官网的解释是:一个保存了固定字典和大小的简单查找表.这个模块常用来保存词嵌入和用下标检索它们.模块的输入是一个下标的列表,输出是对应的词嵌入. torch.nn.Embedding(nu ...
- 微信小程序UI组件库 iView Weapp快速上手
概述 今天在网上突然看到iView新出了一个微信小程序的组件库iView Weapp,自己就上手试了一下,发现用起来还是不错的,把自己使用的过程与大家分享下. 一 预览iView组件 1.可以在手机上 ...
- org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException 前言中不允许有内容 来自类路径资源的XML文档中的第1行是无效的
今天复习一下Spring和Hibernate的整合,遇到了一个问题,报错信息如下: org.springframework.beans.factory.xml.XmlBeanDefinitionSto ...
- 网络共享服务器 samba
之前给自己centos 服务器配置了一下samba网络共享,主要是在windwos上编程,然后方便代码同步到linux上进行编译,现在大概记录一下过程,免得下次又忘记了 首先获取root权限 :su ...
- 模板BSGS(SDOI2011计算器) 模板EXBSGS
BSGS和EXBSGS是OI中用于解决A^xΞB(mod C)的常用算法. 1.BSGS BSGS用于A,C互质的情况. 令m=sqrt(C),此时x可表示为i*m+j. 式中i和j都<=sqr ...
- python3.x Day4 模块!!
json and pickle模块 用途是为了持久化信息,这种持久化方式可以和其他程序语言兼容,一般都支持json,json只能持久化数据,pickle是python特有的方式,可以持久化所有信息和数 ...
- Python之模块和包的创建与使用
一.模块的概念 在计算机的开发过程中,随着程序代码越写越多,在一个文件里代码就越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,放在不同的文件里面,这样,每个文件包含的代码就相对 ...