Zsh 入门(安装及使用)

2023-05-16

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

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zsh 入门(安装及使用) 的相关文章

  • 在12864液晶上显示任何图像

    一 xff0c 所需软件 xff1a Any to Icon 作用 xff1a 用来把随意彩图 xff0c 转化成黑白2色图 windows画图软件 作用 xff1a 用来编辑DIY2色图片 xff0c 并可改属性改成128X64像素 字模
  • 关于openstack错误-cirros镜像-无法启动

    链接 xff1a https www cnblogs com learn2teach p 12456635 html
  • 双机调试和windbg的命令

    各位大牛以及和我一样还是菜鸟的朋友们 xff0c 大家好 xff0c 今天在调试驱动程序时 xff0c 由于要做双机调试 xff0c 所以顺便再论坛发给以后需要的朋友 xff0c 相对网上其他教程我的这个 算是比较详细了 xff0c 因为我
  • 【无标题】

    Java中的类 类可以看成是创建 Java 对象的模板 通过下面一个简单的类来理解下 Java 中类的定义 xff1a public class Dog String breed int age String color void bark
  • sdwan和传统专线,二者的区别在哪里?

    传统的企业网络通常由园区 分支和数据中心组成 xff0c 通过企业WAN网络相互连接 长期以来 xff0c 为了保证服务质量 xff0c 企业WAN网络互联通常采用运营商的传统专线 虽然网络质量有保证 xff0c 但业务开通繁琐 xff0c
  • <a>标签用法总结

    说起a标签真实功能强大呀 xff0c 所以做个总结怕自己忘了 a标签的强大功能都要归咎于href属性可以为多种类型 1 lt a href 61 34 34 gt 的作用 xff1a 点击标签链接到网页的顶端 lt a href 61 34
  • 我的2011-没有011,只是比较2

    很多东西和算法一样古老 xff0c 但很实用 企鹅们每天吃饭睡觉打豆豆久了 xff0c 也会去思考从老巢到觅食地两点之间的最短路线问题 实际上各种生物都不缺乏探索的精神 xff0c 不管是迫于生存还是寻求更好的发展 xff0c 这种迁移包括
  • mybatis-plus简单使用

    1 导包 lt mysql 驱动 gt lt dependency gt lt groupId gt mysql lt groupId gt lt artifactId gt mysql connector java lt artifact
  • FreeRTOS学习,适用于FreeRTOS初学者,FreeRTOS整体知识框架

    目录 一 为什么要学习FreeRTOS 二 前言 从0到1认识FreeRTOS 1 逻辑系统与多任务系统 1 1 裸机系统 xff1a 裸机系统通常分成轮询系统和前后台系统 1 2 多任务系统 2 数据结构 列表与列表项 三 任务 3 1基
  • Ubuntu16.04下turtlebot的DQN算法进行路径规划及其安装运行

    环境安装 利用anoconda创建虚拟环境 xff0c 取名为tensorflow 最好用anoconda3 取名可随便取 conda create span class token operator span n tensorflow p
  • Debian使用Kde,并以root用户登陆

    一 修改 etc sudoer的权限 xff0c 如果不修改权限会导致后面配置后登陆不了系统 xff0c 以及使用一些root命令出现 不知sudoers文件中 等问题 1 修改方法 xff1a vi etc sudoers 查找到Allo
  • java 17个IDEA最常用的快捷键 介绍及演示

    目录 一 前言 二 17个常用快捷键的演示 xff1a 1 撤销和反撤销 Ctrl 43 z 和 Ctrl 43 y 注意Ctrl 43 y 2 复制当前行 xff08 可多选 xff09 Ctrl 43 d 3 删除当前行 xff08 可
  • linux如何手动kill vnc端口并修改分辨率

    linux如何手动kill vnc端口并修改分辨率 一 正常的kill端口流程及修改分辨率流程 在新的端口上su 需要kill的vnc的用户名 xff0c 并正确输入密码 xff1b span class token variable su
  • Docker 解决容器时间与主机时间不一致的问题三种解决方案

    Docker容器时间与主机时间不一致 通过date命令查看时间 查看主机时间 root 64 localhost date 2016年 07月 27日 星期三 22 42 44 CST 查看容器时间 root 64 b43340ecf5ef
  • 项目管理:项目开发类型、模型、流程以及案例介绍

    前言 职能部门越卖力 xff0c 企业越像官僚 xff1f 赔钱的项目也要 xff0c 老板是不是疯了 xff1f 日报 xff0c 周报 xff0c 月报 然并卵 xff0c 项目照旧失控 xff0c 都是惹不起的 爷 xff0c 先招呼
  • Linux命令+shell脚本大全:用 aptitude 安装软件包

    免费教程推荐 xff1a python C 43 43 Java JS Rust Go语言入门完全手册 xff08 6合1 xff09 zip Python文档类资源 CSDN下载 了解了怎样在系统中列出软件包信息之后 xff0c 本节将带
  • Jetson 关闭Gnome桌面

    有时我们不需要桌面环境 xff0c 关掉桌面环境可以节约内存 sudo systemctl set default multi user target 启动时禁止桌面启动 sudo systemctl set default graphic
  • 神经网络_BP算法推导

    简单的 双层神经网络 只包含一个隐藏层和输出层 假设隐层和输出层的都使用sigmoid函数 定义需要的变量 正向传播计算 第h个隐层神经元的输入 第h个隐层神经元的输出 第j个输出层神经元的输入 第j个输出层神经元的输出 反向计算 BP算法
  • 黑苹果教程-DELL Inspiron 14R 3x37, 5x37, 7x37 hackintosh

    0x00简介 给pc安装黑苹果算是我很久的梦想了 xff0c 正好假期有几天不愿意干正事 xff0c 就又顺手搜了一下 xff0c 看了一些教程和资料 xff0c 加上各种大神的一些验证和文件 xff0c 终于算是把黑苹果啃下来了 简单说一
  • pip 提速方法和conda install命令,利用pip安装到conda 特定环境中

    1 pip 提速 在 pip install 包名 后面加上 i 43 镜像地址 xff0c 这样 pip 安装时即可成倍的提速了 后面的地址主要是国内的一些镜像地址 xff0c 速度会快一些 国内主要镜像地址如下 xff1a 清华 xff

随机推荐

  • Ubuntu:Terminal终端命令

    终端命令的基本形式 command options parameter1 parameter2 说明 xff1a 命令中第一个输入的部分绝对是 命令 xff08 command xff09 或 可执行文件 xff1b 按下 Enter 键则
  • 读取SIM卡号

    SIM 卡检测 1 at 43 ccid SIM 卡认证 43 CCID 34 89860092199936694421 34 2 at 43 cnum 读取本地ID 43 CNUM 34 80535A4E07FFFF 34 34 1392
  • 修改Mysql管理员密码(详细)

    Mysql修改管理员密码 你是否遇到mysql久了不登陆了 xff0c 就忘记密码的情况 xff0c 然后耗费不少时间瞎捉摸 那么今天 xff0c 来我这里一招教你解决问题 一 直接登录修改 xff1a 1 登录 mysql u root
  • Redis穿透、雪崩、击穿以及在生产环境中的解决办法

    Redis穿透 雪崩 击穿以及在生产中的解决办法 redis 经典八股文 xff0c 以及生产中的应对方式 一 缓存穿透 redis缓存和数据库中都没有相关数据的情况下 xff0c 由于redis中没有相关的数据 xff0c 无法拦截 xf
  • 地点主机号的最大值和最小值

    某单位分配到一个B类IP地址 xff0c 其网络号为129 250 0 0 该单位有4000台机器 xff0c 平均分布16个不同的地点 如选用子网掩码255 255 255 0 试给每一个地点分配一个子网号码 xff0c 并算出每个地点主
  • cas单点登录-自定义登录界面 / 自定义主题风格(三)

    cas单点登录 自定义登录界面 自定义主题风格 xff08 三 xff09 在前面的文章中 xff0c 介绍了使用cas实现SSO单点登录 xff0c 静态登录 xff0c 使用mysql数据库登录 但是在登录时都是跳转到了同一个登录界面
  • 切片地图服务器

    地图服务 收集了一些切片地图的URL xff0c 以后慢慢完善 天地图提供四种类型的地图 1 天地图地形 http t span class hljs list 0 7 span tianditu com DataServer T 61 t
  • Linux应用程序开发笔记:nanopi-m4(rk3399)opencv

    参考资料 xff1a OpenCV中文网站 OpenCV官网手册 图像处理 xff1a opencv的目标追踪方法总结 qt利用opencv3 4进行人脸识别和特征点提取 基于OpenCV下 多红外目标检测 跟踪 质心坐标提取 跟踪目标排序
  • samba服务免密码访问配置一

    A 安装前的准备工作 xff1a SELINUX 61 disabled 关闭防火墙 xff1a service iptables stop B 执行如下命令安装samba xff1a root 64 samba yum install s
  • androidmediacodec强制申请关键帧

    https github com AnyRTC anyRTC RTMP OpenSource issues 49 V H264Encoder RequestKeyFrame Android 6 0推送全是I 帧 或者全是P帧 急急急 49
  • C#的Convert 类使用

    C 的Convert 类使用 一 从基类型转换 二 Convert 类的常用方法说明 2 1 ChangeType Object Type 2 2 GetTypeCode Object 2 3 Convert ToByte 2 4 Conv
  • XTDrone简明安装教程

    XTDrone简明安装教程 XTDrone是基于PX4 ROS与Gazebo的无人机通用仿真平台 支持多旋翼飞行器 xff08 包含四轴和六轴 xff09 固定翼飞行器 复合翼飞行器 xff08 包含quadplane xff0c tail
  • 我的算法学习之路

    xfeff xfeff xfeff 关于 严格来说 xff0c 本文题目应该是我的数据结构和算法学习之路 xff0c 但这个写法实在太绕口 况且CS中的算法往往暗指数据结构和算法 xff08 例如算法导论指的实际上是数据结构和算法导论 xf
  • 个人面试经验分享

    九月 十月是收获的季节 xff0c 也是奔波的季节 我也不例外 xff0c 没有特殊的机遇 xff0c 也是经历了一次残酷的海选啊 xff0c 把我经历简单的分享给各位学弟学妹们 我数了一下大概面了六家公司 xff1a 阿里 xff0c 华
  • ImageField用法的一个例子

    本文以注册头像为例讲解一下ImageField怎么用 第1步我们要定义一个ImageField 在models py里面定义 这个是用来写到数据库里面的 def custom path instance filename ext 61 fi
  • ubuntu20.04配置远程连接sshd服务

    ubuntu20 04配置远程连接sshd服务 1 为什么要配置 xff1f 两种可能 xff1a 本机虚拟机上安装的系统 这种情况就是为了方便 xff0c 因为在虚拟机上只能操作不是很方便 xff01 远程机房的服务器 这种是必须的 xf
  • 使用adb从手机拉取apk包

    1 找到app对应的包名 xff1a 2 3 1 adb shell am monitor 2 启动需要获取包名的应用 3 窗口就会打印出来当前应用的包名 或者 xff1a 查看手机上所有app包名 xff1a adb shell pm l
  • 使用c++filt工具demangle C++符号

    demangle符号名 在调试C 43 43 程序时 经常会遇到未demangle的C 43 43 符号名 不了解mangle的规则时 并不太容易确定具体是哪个API 比如 使用objdump将boost日志动态库的符号表导出 你是否能够很
  • 我的2014

    不知不觉中2014已经离我们远去了 xff0c 回想起2014 xff0c 我经历了太多 xff0c 又不知从何说起 2013年年末我开通了CSDN博客 xff0c 所以我真正开始写博客是在2014年1月份 xff0c 在2014年中写博客
  • Zsh 入门(安装及使用)

    Zsh 入门 本文前提 CentOS 6 7 64 bitroot 用户 Zsh 介绍 Zsh 兼容 Bash xff0c 据传说 99 的 Bash 操作 和 Zsh 是相同的Zsh 官网 xff1a http www zsh org 先