|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在学习初期,你一定会遇到很多困难,或者说各种困难,所以你最好先将你linux中的重要内容备份,因为,在你学习的过程中,很可能将系统搞废(eg:源混乱等);
像年夜部分*nix用户,我之前用bash良多年,时代也有太小的不爽,但一向都忍过去,大概是说没想过这些不爽的中央能办理,好比cd到一个深目次时得哐哐猛敲<TAB>。这么多年里我也实验过其他shell。好比ksh/tcsh和明天要说的zsh,但终极都没保持下往,由于心中一直仍是以为bash是最正统的shell,不肯意往自动深切进修其他shell。直到头几天逛github,发明排名第6的开源项目oh-my-zsh,上去试用了一把,登时以为bash各类操纵不爽到没法忍耐。
保持bash的各类内牛满面的来由
这里有个youtube上的视频,短短4分钟就已抛出了几十个让bash用户切换到zsh中的来由。视频链接
来由0:zsh兼容bash
兼容bash意味着我不必要太多进修本钱就能够切换过去,意味着我之前在bash下堆集的shell语法、基础操纵都不会旷废。在我内心bash仍是最通用和尺度的shell情况,因而兼容bash让我切换到zsh时没有太多后顾之忧。
来由1:zsh的补全形式更便利
zsh中按两下tab键能够触发zsh的补全,一切待补全项都能够经由过程键盘偏向键大概<Ctrl-n/p/f/b>来选择。
<br>
来由2:zsh撑持命令选项补全
zsh除撑持目次的补全,还撑持命令选项的补全,比方ls-<TAB><TAB>会间接列出一切ls的参数,不再会呈现一个命令打到一半,健忘参数招致重开一个terminalman一把。
<br>
来由3:zsh撑持命令参数补全
之前想kill失落一个历程,我的做法是psaux|grep"历程名"然跋文下id,再killid。在zsh下,只必要kill历程名<TAB>,zsh就会主动补全历程的pid。
<br>
其他我经常使用的补全另有:
- ssh<TAB><TAB>时zsh会主动列出你会见过的主机和用户名来补全ssh的参数。
- brewinstall<TAB><TAB>来补全软件包名,除homebrew之外,一样撑持port/apt-get等其他保证理器。
来由4:zsh撑持加倍伶俐的目次补全
之前好比想进进一个对照深的目次,好比/Users/pw/workspace/project/src/main/webapps/static/js,就得在bash上面打半天,一直的tab往补全一个准确的路径出来。在zsh下,只必要输出每一个路径的头字母然后tab一下:cd/u/p/w/p/s/m/w/s/j<TAB>
来由5:zsh壮大的疾速目次切换
之前最苦逼的事变莫过于频仍在两个事情目次下切换,总要打一长串cd路径。也实验过popd和pushd来办理这个成绩,但常常是目次已切换了才想起来没用pushd。而zsh会记着你每次切换的路径,然后经由过程1来切换到你上一次会见的路径,2切换到上前次……一向到9,还能够经由过程d检察目次会见汗青。
zsh还能够共同autojump一同利用,autojump会纪录下每个你会见过的目次,然后经由过程j来疾速跳转。
来由6:zsh撑持全局alias和后缀名alias
bash的alias只能做命令的缩写,而zsh更进一步,使alias能够缩写命令的一部分,比方参数或情况变量设置。
- $alias-slog=less$~/package/tomcat/log/catalina.log#相称于less~/package/tomcat/log/catalina.log$alias-gPR=http_proxy=127.0.0.1:8087$PRcurlhttps://twitter.com#相称于http_proxy=127.0.0.1:8087curlhttps://twitter.com
复制代码 来由7:zsh有着丰厚多彩的命令行提醒符
bash下经由过程设置$PS1已能够完成很丰厚的提醒符了,而zsh更进一步,能够完成诸如多行提醒符、提醒符右对齐等功效。oh-my-zsh设置文件中供应了十分丰厚的提醒符theme供选择,我利用的是gentoo主题,对照简便,还能够显现以后git堆栈的形态。
来由8:zsh有更多文雅的语法
比方修正PATH,bash下设置$PATH请求一切路径都要写在一行里,目次多了今后看起来就很丢脸。zsh撑持加倍切合程序员审美妙的设置体例。
- path=(~/bin$path~/package/smartsprites/bin)
复制代码 安装zsh
Linux用户经由过程各自觉行版的保证理器间接安装便可。
Mac自带一个4.x.x版本的zsh,能够间接利用,也能够经由过程homebrew安装比来方才公布的5.0.0版本。保举利用最新的5.0版本,对多字节字符供应了完全的撑持,这一点关于国际用户来讲很主要。具体的releasenote
设置为默许shell
经由过程命令chsh修正默许登录shell,必要注重的是,假如经由过程homebrew安装了最新版本的zsh,则必要sudo编纂/etc/shells到场一行/usr/local/bin/zsh。然后再经由过程chsh来修正默许shell,不然会提醒/usr/local/bin/zsh不是正当的shell。
安装oh-my-zsh设置
关于每个像我如许的zsh低级用户来讲,oh-my-zsh就是救人于水火中的年夜杀器,激烈倡议利用此设置上手zsh。
作者供应了傻瓜安装命令:- curl-Lhttps://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh|sh
复制代码 也能够手工安装,详细步骤。
几个必备的插件
autojump
匡助疾速目次跳转的小工具。起首要安装autojump,然后在.zshrc中开启autojump插件。它会纪录上去每一个你进进过的目次,随后经由过程j目次称号的一部分便可疾速跳转到该目次。Youtube视频先容
git
Git命令补全,除能够补全git的子命令、命令开关等惯例补全项之外,还能够补全分支名等外容,用git必开的插件。
osx
供应一些与MacOSX体系交互的命令,好比:
- man-preview经由过程preview程序检察一个命令的手册,比方man-previewgit
- quick-look疾速预览文件
- pfd前往以后finder翻开的文件夹的路径
- cdf切换到以后finder地点的目次
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho |
|