Zsh 入门

本文前提

  • CentOS 6.7 64 bit
  • root 用户

Zsh 介绍

  • Zsh 兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的
  • Zsh 官网:http://www.zsh.org/
  • 先看下你的 CentOS 支持哪些 shell:cat /etc/shells,正常结果应该是这样的:
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
  • 默认 CentOS / Ubuntu / Mac 系统用的是 Bash,倒也不是说 Bash 不好,而是说我们有更好的选择。

    Zsh 安装

    • CentOS 安装:sudo yum install -y zsh
    • Ubuntu 安装:sudo apt-get install -y zsh
    • 在检查下系统的 shell:cat /etc/shells,你会发现多了一个:/bin/zsh

    使用 Zsh 扩展集合:oh-my-zsh

    • oh-my-zsh 帮我们整理了一些常用的 Zsh 扩展功能和主题:https://github.com/robbyrussell/oh-my-zsh
    • 我们无需自己去捣搞 Zsh,直接用 oh-my-zsh 就足够了,如果你想继续深造的话那再去弄。
    • 先安装 git:sudo yum install -y git
    • 安装 oh-my-zsh(这个过程可能会有点慢,或者需要重试几次):wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
    • 整个过程效果如下图:

  • 在以 root 用户为前提下,oh-my-zsh 的安装目录:/root/.oh-my-zsh
  • 在以 root 用户为前提下,Zsh 的配置文件位置:/root/.zshrc
  • 为 root 用户设置 zsh 为系统默认 shell:chsh -s /bin/zsh root
  • 如果你要重新恢复到 bash:chsh -s /bin/bash root
  • 现在你关掉终端或是重新连上 shell,现在开头是一个箭头了,如下图:

Home / End 失灵问题

  • 虽然可以通过配置解决,但是建议还是直接记快捷键吧:
  • Home = Ctrl + a
  • End = Ctrl + e

Zsh 配置

插件

  • 启用 oh-my-zsh 中自带的插件。
  • oh-my-zsh 的插件列表介绍(太长了,用源码不精准地统计下有 149 个):https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
  • 我们看下安装 oh-my-zsh 的时候自带有多少个插件:ls -l /root/.oh-my-zsh/plugins |grep "^d"|wc -l,我这边得到的结果是:211
  • 编辑配置文件:vim /root/.zshrc,找到下图的地方,怎么安装,原作者注释写得很清楚了,别装太多了,默认 git 是安装的。

插件推荐:

  • wd

    • 简单地讲就是给指定目录映射一个全局的名字,以后方便直接跳转到这个目录,比如:
    • 编辑配置文件,添加上 wd 的名字:vim /root/.zshrc
    • 我常去目录:/opt/setups,每次进入该目录下都需要这样:cd /opt/setups
    • 现在用 wd 给他映射一个快捷方式:cd /opt/setups ; wd add setups
    • 以后我在任何目录下只要运行:wd setups 就自动跑到 /opt/setups 目录下了
    • 插件官网:https://github.com/mfaerevaag/wd
  • autojump
    • 这个插件会记录你常去的那些目录,然后做一下权重记录,你可以用这个命令看到你的习惯:j --stat,如果这个里面有你的记录,那你就只要敲最后一个文件夹名字即可进入,比如我个人习惯的 program:j program,就可以直接到:/usr/program
    • 插件官网:https://github.com/wting/autojump
    • 官网插件下载地址:https://github.com/wting/autojump/downloads
    • 插件下载:wget https://github.com/downloads/wting/autojump/autojump_v21.1.2.tar.gz
    • 解压:tar zxvf autojump_v21.1.2.tar.gz
    • 进入解压后目录并安装:cd autojump_v21.1.2/ ; ./install.sh
    • 再执行下这个:source /etc/profile.d/autojump.sh
    • 编辑配置文件,添加上 autojump 的名字:vim /root/.zshrc
  • zsh-syntax-highlighting
    • 这个插件会对终端命令高亮显示,比如正确的拼写会是绿色标识,否则是红色,另外对于一些shell输出语句也会有高亮显示,算是不错的辅助插件
    • 插件官网:https://github.com/zsh-users/zsh-syntax-highlighting
    • 安装,复制该命令:'git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting'
    • 编辑:vim ~/.zshrc,找到这一行,后括号里面的后面添加:plugins=( 前面的一些插件名称 zsh-syntax-highlighting)
    • 刷新下配置:source ~/.zshrc

主题

  • 很多人喜欢捣搞这个 ╮( ̄▽ ̄)╭
  • 捣搞主题和插件思路一样
  • oh-my-zsh 的主题列表介绍(还是太长了):https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
  • 我们看下安装 oh-my-zsh 的时候,自带有多少个:ls -l /root/.oh-my-zsh/themes |grep "^-"|wc -l,我这边得到的结果是:140
  • 我个人品味地推荐的是(排名有先后):
    • ys
    • agnoster
    • avit
    • blinks
  • 编辑配置文件:vim /root/.zshrc,找到下图的地方,怎么安装,原作者注释写得很清楚了,如果你没特别的喜欢那就选择随机吧。

  • 配置好新主题需要重新连接 shell 才能看到效果

    一些人性化功能

    • 呃,这个其实可以不用讲的,你自己用的时候你自己会发现的,各种便捷,特别是用 Tab 多的人一定会有各种惊喜的。
    • 使用 ctrl-r 来搜索命令历史记录。按完此快捷键后,可以输入关键命令词语,如果历史记录有含有此词语会显示出来。
    • 命令别名:
      • 在命令行中输入 alias 可以查看已经有的命令别名
      • 自己新增一些别名,编辑文件:vim ~/.zshrc,在文件加入下面格式的命令,比如以下是网友提供的一些思路:
    alias cls='clear'
    alias ll='ls -l'
    alias la='ls -a'
    alias grep="grep --color=auto"
    alias -s html='vim'   # 在命令行直接输入后缀为 html 的文件名,会在 Vim 中打开
    alias -s rb='vim'     # 在命令行直接输入 ruby 文件,会在 Vim 中打开
    alias -s py='vim'      # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
    alias -s js='vim'
    alias -s c='vim'
    alias -s java='vim'
    alias -s txt='vim'
    alias -s gz='tar -xzvf' # 在命令行直接输入后缀为 gz 的文件名,会自动解压打开
    alias -s tgz='tar -xzvf'
    alias -s zip='unzip'
    alias -s bz2='tar -xjvf'

    差异

    • 我们现在增加系统变量在:/etc/profile 后,输入命令:source /etc/profile 之后,重启服务器发现刚刚的系统变量现在没效果。

      • 解决办法:vim ~/.zshrc,在该配置文件里面增加一行:source /etc/profile,然后刷新 zsh 的配置:source ~/.zshrc。差异
  • 更多使用方法大家自己再玩玩!

  • 转至https://github.com/T-MacFbMa/Linux-Tutorial

Zsh 入门(安装及使用)相关推荐

  1. Redis 入门安装(Linux)

    Redis 入门安装(Linux) 备注:该案例讲解基于CentOS6.5.Reids3.2.8 Redis 官网 中文地址:http://www.redis.cn/ 英文地址:https://red ...

  2. [转]Oh My Zsh,安装,主题配置

    https://swp-song.com/2017/08/20/Tools/OhMyZsh%E5%AE%89%E8%A3%85%E5%92%8C%E4%B8%BB%E9%A2%98%E9%85%8D% ...

  3. MongoDB入门 - 安装教程

    MongoDB是NoSQL分布式文件存储型数据库 1. 官网下载 官网 版本选择&&下载 历史版本 一览表 2. 安装步骤 双击.msi运行程序: 接着按下图所示安装: 慢慢等待,别急 ...

  4. redis入门——安装篇

    redis入门--安装篇 @(Redis)[redis, 入门, 安装] redis入门安装篇 Redis基本介绍 redis的安装 windows版 mac版 linux版 redis的启动以lin ...

  5. oh my zsh的安装与配置

    安装 curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 当然也可以通过git下载 g ...

  6. Linux下MongoDB的入门安装、配置与启动

    Linux下MongoDB的入门安装.配置与启动 mongo非关系性数据库 查询性能好,数据性不是特别重要的情况下使用 [root@test ~]# tar xf mongodb-linux-x86_ ...

  7. 海洋cms新手入门安装配置教程

    在安装本系统前,请先确认您的服务器环境是否符合海洋cms环境要求: Windows 平台: IIS/Apache/Nginx + PHP(5.x) + MySQL(5.x) Linux/Unix 平台 ...

  8. 【国庆弯道超车系列】NoSQL基础及MongoDB入门安装

    在互联网快速发展的今天,数据种类和格式越来越多样化,传统的关系型数据库已经难以适应,在此种情况下No SQL应运而生,本文主要讲解NoSQL的基础知识,及MongoDB的入门安装,仅供学习分享使用,如 ...

  9. Windows 7 Embedded快速入门-安装

    PS: 通过以下步骤,在VMware中安装成功.安装包en_windows_embedded_standard_7_runtime_x86.iso 文章来源:http://sns.ca800.com/ ...

最新文章

  1. mysql online ddl和pt_MySQL的onlineDDL及pt-osc
  2. python getattr调用自己模块_在Python中通过getattr获取对象引用的方法
  3. NTU 课程笔记13:线性规划(对偶性)
  4. 如何做一个姿势正确的2B产品经理
  5. Codeforces Round #112 (Div. 2)---A. Supercentral Point
  6. LeetCode 157. 用 Read4 读取 N 个字符
  7. vuedraggable嵌套块拖拽_Vue.Draggable拖拽效果
  8. java 写一个简单的计算器
  9. Effective JavaScript Item 40 避免继承标准类型
  10. storm - 常用命令
  11. Javascript项目
  12. java thread detach_Java多线程小结
  13. 基于python进行小波分析,频率谱分析
  14. php试卷分析,试卷分析常用统计指标
  15. 数据结构-九宫格(回溯法)
  16. 数据结构与算法-平衡二叉搜索树
  17. 大唐移动android面试题,大唐移动面试经验
  18. Cookie | Cookie的理论基础、Cookie中常用的方法
  19. eMMC SD/eMMC寄存器介绍
  20. [STM32]jlink RTT使用详解

热门文章

  1. svg画半圆详解(L指令、M指令、A指令)
  2. excel相乘再相加_excel将两组数据相乘后再求和怎么做
  3. 易语言post之4399登录注册实现
  4. 特斯拉的降价,习惯就好
  5. SMATE: Semi-Supervised Spatio-Temporal Representation Learning on Multivariate Time Series
  6. Java https服务器证书认证问题解决方案
  7. 20 ubuntu 中科大源_ubuntu20.04 LTS 更换国内163源、阿里源、清华源、中科大源
  8. 2021.05中科大源安装cuda/cudnn/pytorch1.0.0
  9. 快捷方式lnk文件格式详解 中文版
  10. Unity学习过程(一)——认识Unity游戏引擎