Redian新闻
>
Linux ——超级漂亮的 Shell

Linux ——超级漂亮的 Shell

公众号新闻

链接:https://zhuanlan.zhihu.com/p/514153374

先来一张美图

1 zsh 介绍

1.1 Linux shell

Linux/Unix 提供了很多种 Shell,为毛要这么多 Shell?

难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了,而且程序员往往负责把复杂的事情搞简单,简单的事情搞复杂。牛程序员看到不爽的 Shell,就会自己重新写一套,慢慢形成了一些标准,常用的 Shell 有这么几种,sh、bash、csh 等,想知道你的系统有几种 shell,可以通过以下命令查看:

cat /etc/shells

显示如下:

1.2 zsh 简介

Zsh 是一个 Linux 下强大的 shell, 由于大多数 Linux 产品安装,以及默认使用bash shell, 但是丝毫不影响极客们对 zsh 的热衷, 几乎每一款 Linux 产品都包含有 zsh,通常可以用 apt-get、urpmi 或 yum 等包管理器进行安装

Zsh 具有以下主要功能

  • 开箱即用、可编程的命令行补全功能可以帮助用户输入各种参数以及选项
  • 在用户启动的所有 shell 中共享命令历史
  • 通过扩展的文件通配符,可以不利用外部命令达到 find 命令一般展开文件名
  • 改进的变量与数组处理
  • 在缓冲区中编辑多行命令
  • 多种兼容模式,例如使用 / bin/sh 运行时可以伪装成 Bourne shell
  • 可以定制呈现形式的提示符;包括在屏幕右端显示信息,并在键入长命令时自动隐藏
  • 可加载的模块,提供其他各种支持:完整的 TCP 与 Unix 域套接字控制,FTP 客户端与扩充过的数学函数
  • 完全可定制化

1.3 zsh 与 oh-my-zsh 终极配置

之前是因为看到这篇文章:终极 Shell——Zsh 才选择使用 zsh,被它的自动完成、补全功能吸引了。官网:www.zsh.org

选择 oh-my-zsh, oh-my-zsh 是基于 zsh 的功能做了一个扩展,方便的插件管理、主题自定义,以及漂亮的自动完成效果。

在 Github 上找关于 zsh 的项目时发现的,试用了一下觉得很方便,不用像上面文章里面提到的那么复杂,配置一些插件的名称即可使用相应的功能。

官网:https://github.com/robbyrussell/oh-my-zsh

2 安装 zsh

2.1 安装 zsh

对于一般的 Ubuntu 系统,配置好正确的源之后,就能直接键入以下命令安装:

sudo apt-get install zsh

2.2 配置 zsh

zsh 的配置是一门大学问,这里不赘述,直接给出一个配置文件,大家可以下载后放入 zsh 配置文档直接使用。(我的一个法国朋友手配的,相当顺手)

把. zshrc 拷贝到相应用户的 home 目录即可 (也可以把你的 bash 的配置文件 (~/.bash_prorile 或者~/.profile 等) 给拷贝到 zsh 的配置文件~/.zshrc 里,因为 zsh 兼容 bash)

2.3 取代 bash,设为默认 shell

sudo usermod -s /bin/zsh username

或者

chsh -s /bin/zsh
chsh -s `which zsh`

如果要切换回去 bash:

chsh -s /bin/bash

当然你实在不愿意把 zsh 当成默认的 shell, 而又想使用它, 那么你可以每次进入是都使用zsh进入, 而输入exit退出

2.4 安装 oh-my-zsh

直接用 zsh 会很蛋疼,因为 zsh 功能很强大但是太复杂,所以需要 oh-my-zsh 来将它简单化

直接用 git 从 github 上面下载包

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

备份已有的 zshrc, 替换 zshrc

cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

直接使用脚本安装

cd oh-my-zsh/tools
./install.sh

你可以直接直接使用如下命令安装

curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

wget

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

其本质就是下载并执行了 github 上的 install.sh 脚本, 该脚本位于oh-my-zsh/tools/install.sh

配置主题

oh-my-zsh 集成了大量的主题, 位于 oh-my-zsh/theme

配置主题, 可以通过修改~/.zshrc中的环境变量ZSH_THEME来完成

ZSH_THEME="agnoster" # (this is one of the fancy ones)

如果你觉得主题太多你可以选择使用随机模式, 来由系统随机选择

ZSH_THEME="random" # (...please let it be pie... please be some pie..)

详细的主题信息, 可以参见 zsh 主题介绍

配置插件

修改~/.zshrc中plugins

plugins=(git bundler osx rake ruby)

详细的插件信息, 可以参见 zsh 插件 Plugins 介绍

更新 oh-my-zsh

默认情况下, 您将被提示检查每几周的升级. 如果你想我 ZSH 自动升级本身没有提示你, 修改 `~/.zshrc

disable_update_prompt = true

禁用自动升级, 修改~/.zshrc

disable_auto_update = true

当然你也可以选择手动更新

如果你想在任何时间点升级(也许有人刚刚发布了一个新的插件,你不想等待一个星期?) 你只需要运行:

upgrade_oh_my_zsh

卸载 oh-my-zsh

如果你想卸载oh-my-zsh, 只需要执行uninstall_oh_my_zsh zsh, 从命令行运行. 这将删除本身和恢复你以前的 bash 或者 zsh 配置.

uninstall_oh_my_zsh zsh

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:3861509

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
向IBM索赔50亿美元、起诉Linux用户——回顾长达20年曾威胁Linux存亡的诉讼Linux 实现简易的 Shell 命令行解释器5 个最好的 Arch Linux 衍生发行版,适合所有人 | Linux 中国教你如何用 10 行 bash shell 脚本监控 Linux?40 个简单又有效的 Linux Shell 脚本示例常用的 34 个 Linux Shell 脚本,一定能帮到你!5 个最漂亮的 Arch Linux 发行版 | Linux 中国终端基础:在 Linux 终端中创建目录 | Linux 中国又捡了一条老命Agustín Hernández:中美洲建筑背景下的未来主义巨构Reminders:一个漂亮的开源 Linux 应用,可帮助你完成工作 | Linux 中国TUXEDO Stellaris 16(Gen5)是目前所能找到的终极 Linux 笔记本电脑 | Linux 中国如何入门 Linux Shell 脚本编写 | Linux 中国提前实现“十四五”目标——超65%,城镇化进入“下半场”本性善良的人都晚熟Bash 基础知识系列 #1:创建并运行你的第一个 Bash Shell 脚本 | Linux 中国Linux 只是一个内核:这是什么意思? | Linux 中国世界上只有两个 Linux 发行版:Arch Linux 与其它 | Linux 中国怎么开始学佛(九)从我做起NUWA系列再添新成员——超长视频生成模型NUWA-XL40 个简单又有效的 Linux Shell 脚本示例!如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM | Linux 中国《卖给洋人》《卖博士》小数据Jiangsu City Punishes Property Developers For Selling CheaplyLinux0基础入门,教你如何在Shell中使用正则表达式10个有趣的 Linux Shell 脚本 “面试和解答”,老司机也可能 “翻车” ?新版 Linux QQ,打破操作系统生态壁垒 | Linux 中国给自己偏爱的——超值妇女节礼盒,鹅绒被四件套底价拿下|种草机如何在 RHEL 9/8 上设置高可用性 Apache(HTTP)集群 | Linux 中国超越 Bash: 9 个不太知名的 Linux Shell 及其功能 | Linux 中国宝妈蜕变记——超强妈妈天团和你来聊育儿工作两不误早睡早起和我的肉肉们会议预告|首都治理热点问题研讨会(第6期)——超大城市积极应对人口老龄化5 个有用的 Linux Shell 转义序列 | Linux 中国超级漂亮的 Shell
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。