zoukankan      html  css  js  c++  java
  • linux shell——zsh的安装与使用

    Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器。常用的Bash就是Shell的一种,也是Linux下默认Shell程序。这里介绍一种更强大的、更人性化的Shell——oh-my-zsh。

    Zsh是什么

    Zsh属于Shell中的一种,但比Bash好用,而且完全兼容Bash,拥有及其丰富的插件、强大的自动补全能力、以及自定义功能,可以大大提供我们使用Linux的效率.

    安装oh-my-zsh

    Zsh虽然好用,但直接用起来比较麻烦,但是已经有大神配置好的框架:oh-my-zsh,专门为Zsh打造的。

    sudo apt install git
    sudo apt install zsh
    wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
    chsh -s /usr/bin/zsh

    换回去

    先查看有哪些shell

    cat   /etc/shells

    例如,换回Bash

    chsh  -s  /bin/bash 

    主题

    oh-my-zsh自带100多个主题,主题的配置文件在 ~/.zshrc文件中,找到这一行:

    ZSH_THEME="robbyrussell"

    你可以将值改成任意主题,oh-my-zsh的主题可以在这里找到。保存好文件后,执行  source ~/.zshrc 使配置生效。如果你将值设为空,表示不使用任何主题;你也可以设置为"random",你每次打开都会随机选择一个主题。

    推荐主题: agnoster

    由于这个主题使用了一些特殊字符,需要安装字体:

    sudo apt-get install fonts-powerline

    命令补全

    虽然Bash可以使用tab自动补全命令,但oh-my-zsh的补全功能更强。比如你想进入Nginx所在目录 /usr/local/nginx,输入 cd/u/l/n 按下tab系统就能自动将其补全为 cd /usr/local/nginx;比如,输入 git,按下tab,就给你返回关于git的命令;再比如,你要进入一个名字很长的文件夹,你只要输入前几个字符,再按tab就能补全。

    你也可以使用 alias 命令查看,会发现oh-my-zsh默认已经把很多命令组合并取了别名。

    在目录中穿越 

    我们通常会遇到这种情况:先进入一个很深的目录,又要换到另一个目录。通常我们会使用 cd - 回到最近的一次目录,或者使用 history 查看之前所有的目录。但是oh-my-zsh提供了更强大的 d 命令。

    d 命令会列出最近进入的目录历史,并且会给这些目录加上序号,只要输入对应目录的序号,就能进入该目录。

    使用前面提到的 alias 命令可以查看其它一些目录跳转的快捷方式:

     rogn@ubuntu � ~ � alias
    -='cd -'
    ...=../..
    ....=../../..
    .....=../../../..
    ......=../../../../..

    Git友好

    使用Git做版本控制时,经常需要对仓库的代码进行 status、add、commit等操作,以及审视Git仓库的提交状态,oh-my-zsh对Git有很友好的支持。

    如下图,我们 cd 到一个目录,发现命令行前多了一对括号,括号中的 master 表示当前目录是一个Git仓库,且在master分支下。如果当前分支有文件改动,master后面会增加一个*号,表示工作区有文件改动但没有执行 add。执行 git add后,*变成了 +,表示添加到了站暂存区。再执行git commit,master后面的符号消失,工作区又干净了。切换分支,括号里变成了dev,表示当前已经是dev分支。

    参考链接:https://zhuanlan.zhihu.com/p/63585679

     
  • 相关阅读:
    程序是如何在 CPU 中运行的(二)
    程序是如何在 CPU 中运行的(一)
    结构体内存对齐解析
    如何以面向对象的思想设计有限状态机
    union 的概念及在嵌入式编程中的应用
    STM32 内存分配解析及变量的存储位置
    C语言如何实现继承及容器
    C语言指定初始化器解析及其应用
    pandas中的 where 和mask方法
    python中的类变量
  • 原文地址:https://www.cnblogs.com/lfri/p/10798105.html
Copyright © 2011-2022 走看看