Zsh 入门(安装及使用)

2024-05-06 23:18
文章标签 安装 使用 入门 zsh

本文主要是介绍Zsh 入门(安装及使用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 入门(安装及使用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/965658

相关文章

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(