zsh

查看系统当前可用shell
➜  ~  cat /etc/shells 
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/bin/zsh
/usr/bin/zsh
/usr/bin/tmux
 
/bin/sh    //早期unix版本上所使用的shell.
/bin/bash  //很多linux版本默认的shell,也就是所谓的bash shell。
/sbin/nologin //不能使用bash shell或者其他shell来登录系统的。
/bin/tcsh  //增强版的csh.
/bin/csh   //老版本的unix上流行的shell类型,近似c语言。
/bin/ksh   //unix上流行的shell类型,向上完全兼容了Bourne Unix   shell,并吸收了很多csh的特性。
cat /etc/shells的结果与chsh -l是一致的。不过建议还是使用bash   shell,因为他已经足够健壮,并且吸收了ksh,csh,sh的有用特性。
shell的修改需要注销以后,下次登录系统的时候才有效。
 
修改当前的shell
➜  ~  chsh
Password: 
Changing the login shell for congbo
Enter the new value, or press ENTER for the default
    Login Shell [/bin/bash]: /usr/bin/zsh
Shell changed.

 

Zsh增强功能:标签完成和拼写错误修正

  用过bash标签完成的管理员会发现zsh中的增加功能令人印象深刻。这些功能包括菜单中现有的自动完成命令选项,该菜单可以通过使用箭头键滚动。举例来说,键入以下命令将提供可能命令行标记的列表:

  $ ls -

  或是

  $ rm -

  选择要取消的特定程序,程序列表就和取消命令一起可用了。

  另一个功能在内置页面程序中,它提供到less命令的快捷方式。要访问它,输入:

  $

  这和在命令行上运行less文件名一样。

  对笨拙的打字员来说,拼写错误修正功能可用了。例如,如果你输入了一条错误命令,zsh会提示修正:

  $ lls

  zsh: 要将 'lls'修改为 'ls' [nyae]吗?

  要修改它,输入y,命令就更正为ls,接着命令就准备运行了。

  其它选项也很实用。输入n拒绝命令修正,输入a中断命令,输入e跳转到命令行进行编辑。这个自动修正功能也能用于命令行标记和文件名,包括修改无效Git分支名称一类的机密事务。

 

开始使用zsh

  为了快速地开始使用zsh,可利用Robby Russell收集的zsh主题、功能和工具,它们被预先打包成“Oh My Zsh”。

  $ wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

  手动的zsh安装指令也可用,需要用户克隆Git repo并复制在.zshrc的草稿模板中。

  “Oh My Zsh”知识库包含一个主题和功能集合用于现有zsh环境的建立和改变。它也能和卸载脚本一起用来简化移除:

  $ uninstall_oh_my_zsh

  与zsh shell一起供给的还有一些很好的文档和zsh参考卡。GitHub等网站上的在线资源是.zshrc文件的例子,它相当于zsh版的.bashrc文件,这些资源同时也提供如何定制zsh的示例或是示范加强命令行经验的炫酷技巧。

  一些zsh功能可和bash一起用,但在bash上设置、配置更加复杂,这也解释了为什么人们有多页.bashrc文件。如果是Shell的高度使用者,zsh会是吸引你用来取代bash的选择。它的使用快速且简单,而它的一些重要功能也让与shell的互动更有趣。

 

other

zsh里面tab补全的时候可以Ctrl-g取消
 
编辑当前行,Ctrl-x + Ctrl-e
Ctrl-x + Ctrl-v
 
 
bug:
新安装程序后,zsh 里不能自动补全程序名字,bash 没问题。
 
zsh 补全插件一枚(渐近提示)

 

参考:

https://zh.wikipedia.org/wiki/Z_shell

http://os.51cto.com/art/201109/294744.htm

http://os.51cto.com/art/200903/112935.htm

http://www.freetstar.com/teach_you_to_enjoy_the_zsh-1

http://www.freetstar.com/zsh-learing-materials

http://lifegoo.pluskid.org/wiki/ZShell.html

http://www.ibm.com/developerworks/cn/linux/shell/z/?S_TACT=105AGX52&S_CMP=12-w-cto

posted @ 2012-11-29 10:39  congbo  阅读(1012)  评论(1编辑  收藏  举报