Linux 超级漂亮的 Shell

先来一张美图

Linux 超级漂亮的 Shell

1 zsh 介绍

1.1 Linux shell

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

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

cat /etc/shells

显示如下:

Linux 超级漂亮的 Shell

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 的项目时发现的,试用了一下觉得很方便,不用像上面文章里面提到的那么复杂,配置一些插件的名称即可使用相应的功能。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

官网: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退出

Linux 超级漂亮的 Shell

2.4 安装 oh-my-zsh

直接用 zsh 会很蛋疼,因为 zsh 功能很强大但是太复杂,所以需要 oh-my-zsh 来将它简单化。另外,搜索公众号Linux就该这样学后台回复“Linux”,获取一份惊喜礼包。

直接用 git 从 github 上面下载包

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

备份已有的 zshrc, 替换 zshrc

cp ~/.zshrc ~/.zshrc.origcp ~/.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..)
Linux 超级漂亮的 Shell

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

配置插件

修改~/.zshrcplugins

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 配置.

以上就是Linux 超级漂亮的 Shell的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/231059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月3日 21:08:19
下一篇 2025年11月3日 21:09:40

相关推荐

  • Mac Finder中如何让HTML文件显示代码预览缩略图?

    可通过安装qlstephen或QuickLook-HTML插件启用Mac Finder中HTML文件的代码预览,结合Quick Look功能与终端命令刷新缓存后,直接按空格键查看带语法高亮的源码内容。 如果您在Mac的Finder中浏览HTML文件时,希望直接看到代码内容的预览缩略图而非默认图标,可…

    2025年12月23日
    000
  • Linux下Python脚本操作的高级技巧

    Linux下Python脚本操作的高级技巧,需要具体代码示例 Python语言是一种简单易学、功能强大的脚本语言,它在Linux系统中的应用非常广泛。本文将介绍一些Linux下使用Python脚本进行高级操作的技巧,并提供具体的代码示例,帮助读者更好地理解和应用这些技巧。 使用管道和过滤器 在Lin…

    2025年12月13日
    000
  • linux怎么执行php脚本_linux系统中执行PHP脚本的命令与配置

    首先确认PHP已安装,使用php -v检查版本;若未安装,在Ubuntu/Debian中用sudo apt install php-cli php,在CentOS/RHEL中用sudo yum install php或sudo dnf install php;创建test.php文件并写入PHP代码…

    2025年12月12日
    000
  • PHP 如何与 shell 命令互动?

    php 与 shell 命令交互方法:exec() 函数:执行命令并获取输出。shell_exec() 函数:在独立 shell 进程中执行命令。popen() 函数:通过管道与命令双向通信。proc_open() 函数:提供了更高级的控制,可指定命令流。 PHP 如何与 Shell 命令互动? 在…

    2025年12月9日
    000
  • shell脚本基本命令有哪些

    shell脚本基本命令:1、Shell的echo指令与PHP的echo指令类似,都是用于字符串的输出;2、printf命令模仿C程序库里的【printf()】程序;3、test命令用于检查某个条件是否成立。 本教程操作环境:linux7.3系统,DELL G3电脑。 shell脚本基本命令: 1、e…

    2025年12月5日
    200
  • linux shell怎么判断文件是否存在

    在linux shell中,可以利用if语句和“-e filename”表达式来判断文件是否存在,具体语法“if [-e filename]; then echo “文件存在”; else echo “文件不存在”; fi”。 本教程操作环境:linu…

    2025年12月4日
    000
  • 操作mysql数据库的Shell脚本

    创建建表语句 %ign%ignore_a_1%re_pre_1% 批量插入数据脚本 #!/bin/bash #create by oldboy 20110319 #qq:31333741 MysqlLogin=”mysql -uroot -poldboy” #→定义登陆mysql的命令,方…

    数据库 2025年12月3日
    000
  • linux下MySQL主从同步监控shell脚本

    说明: 操作系统:CentOS 目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1、创建脚本文件 vi /home/crontab/check_mysql_slave.sh   #编辑,添加下面代码 #!/bin/sh # check_mysql_…

    2025年12月2日
    000
  • 使用mysql在终端执行sql并把结果写入文件的方法

    在终端使用mysql执行语句时,我们一般先进入mysql,然后再在里面执行sql语句。 例如: mysql -urootmysql> use mydb;mysql> select * from user;… 如果我们需要进行某些表的监控,并保存执行后的查询结果,需要手动复制到文件,这…

    2025年12月2日
    100
  • SQL语言如何构建自动化备份脚本 SQL语言在数据容灾中的定时任务实现

    自动化备份脚本的核心是结合sql备份命令与操作系统或数据库调度器,通过编写脚本并配置定时任务实现;2. 不同数据库需使用对应工具:sql server用t-sql脚本配合sql server agent,mysql和postgresql用mysqldump与pg_dump配合shell/batch脚…

    2025年12月1日 数据库
    100
  • Linux ZSH 更便捷的 shell 环境

    简介 zsh 是为交互式使用而设计的,与 bash 兼容的 shell,尽管它也是一种强大的脚本语言。zsh 融合了 bash、ksh 和 tcsh 的许多有用特性,并引入了许多独特的功能。 相较于 bash,zsh 具有以下优势: Tab 补全功能强大,支持命令、命令参数和文件路径的补全。丰富的插…

    2025年11月29日 运维
    000
  • VSCode的终端支持哪些Shell?

    VSCode支持多平台Shell,Windows可选cmd、PowerShell、WSL等,macOS支持bash、zsh、fish等,Linux兼容所有注册Shell,通过“Terminal: Select Default Profile”或settings.json配置默认终端。 VSCode的…

    2025年11月29日 开发工具
    000
  • MongoDB学习(三)MongoDB shell 命令行的使用

    首先要启动MongoDB shell工具,即bin下的mongo.exe 常用shell命令如下: 1、查询本地所有数据库名称 show dbs; 2、切换至指定数据库环境(若无指定的数据库,则创建新的库) use dbtest; 切换至dbtest库或创建名为dbtest的库 3、查询当前库下的所…

    2025年11月28日
    000
  • win11怎么设置环境变量 Win11添加系统Path路径与用户变量

    首先通过系统属性、命令提示符或PowerShell设置环境变量,具体步骤包括:进入系统设置→高级系统设置→环境变量,编辑Path或新建变量;或使用setx命令在cmd中添加;或用[Environment]::SetEnvironmentVariable在PowerShell中配置。 如果您需要在Wi…

    2025年11月28日 系统教程
    000
  • Linux Shell怎么用ssh命令统计分布式集群信息

    一、统计分布式集群信息的思路 用免密的远程登陆命令,实现一台机器访问其他集群的机器。因此想要实现有几个重要步骤: 学会shh的使用方法 实现免密登录 编写shell程序 二、SSH加密原理 非对称加密技术是一种加密和解密用的不同密钥的加密方法。其中RSA和DSA就是非对称加密方法。当然非对称加密算法…

    运维 2025年11月28日
    100
  • linux中的shell命令如何使用

    在本文中,我们将介绍linux shell中使用的部分基本命令。 查看和跳转命令 (1)pwd 当打开终端时,如果需要自己目前在哪一个目录,可以使用pwd命令,它返回一个绝对的路径(从根“/”开始的路径)。  (2)ls 使用“ls”命令知道您所在的目录处,都有哪些文件和文件夹。可以使用命令“ls …

    2025年11月28日 运维
    000
  • linux统计appche站点IP访问量的shell脚本怎么写

    经常需要根据ip地址统计apache站点访问量,最基本的脚本. 根据ip访问量降序排列: 复制代码 代码如下: #!/bin/bash#script_name: access_countacc_log=/usr/local/apache2/logs/access_log/bin/awk &#8216…

    运维 2025年11月28日
    000
  • linux之shell实现图书管理系统实例详解

    本文主要介绍了shell实现图书管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家更好的学习shell。 本文实例为大家分享了shell实现图书管理系统的具体代码,供大家参考,具体内容如下 #!/bin/bash #author:zhanghongjun #version:…

    2025年11月27日
    100
  • MYSQL数据库自动本地/异地双备份/MYSQL增量备份[连载之构建百万访问量电子商务网站]

    mysql数据库自动本地/异地双备份/mysql增量备份[连载之构建百万访问量电子商务网站]出处:http://jimmyli.blog.51cto.com/我站在巨人肩膀上JimmyLi作者:JimmyLi mysql数据库自动本地/异地双备份/mysql增量备份[连载之构建百万访问量电子商务网站…

    2025年11月27日 数据库
    000
  • linux怎么创建用户,添加及修改shell

    1、创建用户 useradd -d /test -s /bin/bash -m test -d:指定用户的家目录 -s:用户的登录shell -m:创建用户家目录 创建密码: passwd test然后输入两遍新密码 2、查看创建的用户 vim /etc/passwd 此文件中记录着所有用户的信息,…

    2025年11月27日 运维
    000

发表回复

登录后才能评论
关注微信