当前位置: 首页 > 科技观察

Linux超美的Shell

时间:2023-03-14 18:29:33 科技观察

先从一张美图说起1.zsh简介1.1LinuxshellLinux/Unix提供了很多种shell。为什么需要这么多贝壳?是用来炒的吗?那我问你,为什么你的同款衣服有那么多件?颜色和质地不同。编写程序比买衣服要复杂得多,程序员常常负责把复杂的事情简单化,把简单的事情复杂化。牛程序员看到一个不爽的shell就会重写一套新的,逐渐形成一些标准。常用的shell有几种,如sh、bash、csh等,想知道你的系统有多少个shell。可以使用如下命令查看:cat/etc/shells显示如下:1.2zsh简介Zsh是Linux下一个功能强大的shell。由于大多数Linux产品都默认安装并使用bashshell,所以不影响极客们对zsh的热情。几乎每个Linux产品都包含zsh,它通常可以通过包管理器安装,例如apt-get、urpmi或yum。Zsh具有以下开箱即用的主要功能,可编程的命令行补全功能可以帮助用户输入各种参数和选项用户启动的所有shell之间共享命令历史扩展文件通配符允许访问查找命令而无需使用外部命令通用扩展文件名的改进变量和数组处理,例如使用/bin/sh伪装成可以自定义的Bourneshell提示符;包括在屏幕右端显示信息,输入长命令时自动隐藏可加载模块,并提供各种其他支持:完整的TCP和Unix域套接字控制,FTP客户端和扩展数学函数完全可定制1.3zsh的终极配置而oh-my-zsh我在看这篇文章之前选择了使用zsh:UltimateShell——Zsh,被它的自动补全和补全功能所吸引。官网:www.zsh.org选择oh-my-zsh,oh-my-zsh是基于zsh功能的扩展,便捷的插件管理,主题定制,漂亮的自动补全效果。我在Github上找zsh项目的时候发现的。我试了一下,觉得很方便。它不需要像上面文章中提到的那么复杂。您可以通过配置一些插件的名称来使用相应的功能。官网:https://github.com/robbyrussell/oh-my-zsh2.安装zsh2.1安装zsh对于一般的Ubuntu系统,配置正确源后,直接输入以下命令安装:sudoapt-getinstallzsh2.2配置zshzsh的配置是个大题,这里就不细说了,只给一个配置文件,大家可以下载下来放到zsh的配置文件中直接使用。(我有个法国朋友亲手做的,挺方便的)把.zshrc复制到对应用户的家目录下就行了(也可以复制你的bash配置文件(~/.bash_prorile或~/.profile等))到zsh的配置文件~/.zshrc中,因为zsh兼容bash)2.3而不是bash,设置为默认shellsudousermod-s/bin/zshusernameorchsh-s/bin/zshchsh-s`whichzsh`如果你想切换回bash:chsh-s/bin/bash当然,如果你真的不想使用zsh作为默认的shell而想使用它,那么你可以使用zsh进入每次输入,输入exit退出2.4安装oh-my-zsh,直接使用zsh会很痛苦,因为zsh很强大但是太复杂了,需要oh-my-zsh简化一下,直接使用git从github下载包gitclonegit://github.com/robbyrussell/oh-my-zsh.git~/.oh-my-zsh备份已有的zshrc,替换zshrcp~/.zshrc~/.zshrc.origcp~/.oh-my-zsh/templates/zshrc.zsh-template~/.zshrc直接使用脚本安装cdoh-my-zsh/tools./install.sh可以直接使用以下命令安装curlsh-c"$(curl-fsSLhttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"wgetsh-c"$(wgethttps://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"#(这个是花哨的)如果觉得主题太多,可以选择使用随机模式让systemrandomlyselectZSH_THEME="random"#(...pleaseletitbepie...pleasebesomepie..)详细主题信息见zsh主题介绍配置插件修改~/.zshrcpluginsplugins=(gitbundlerosxrakeruby??)插件信息详见zshplugin插件介绍更新oh-my-zsh默认情况下,每隔几周会提示你检查升级。如果你想让我的ZSH自动升级而不提示你,修改`~/.zshrcdisable_update_prompt=true禁用自动更新,修改~/.zshrcdisable_auto_update=true当然你也可以选择手动更新,如果你想随时升级时间点(也许有人刚刚发布了一个新插件,你不想等一个星期?)你只需要运行:zsh,从命令行运行。这将自行删除并恢复您以前的bash或zsh配置。uninstall_oh_my_zshzsh