一个为90后设计的Shell,早知道,当年学Shell也不至于那么痛苦了,Star 25K+!

news2024/12/22 17:45:01

一个现代、用户友好的命令行界面,以其智能特性、语法高亮、实时自动建议、花式标签补全、直观的历史搜索和跨平台支持而著称。它提供了一个美观、易用且功能丰富的Shell环境,旨在简化Shell命令行操作,提高用户的工作效率。号称一个为90后设计的 Shell,本质也是项目的一种调侃,强调Fish-shell提供了一种新颖的、现代的命令行体验。

🏠  项目信息

#github地址https://github.com/fish-shell/fish-shell#项目地址https://fishshell.com/

🚀功能特性

  • 智能命令补全:无需额外配置,自动补全命令、参数、文件名等,提高输入效率。

  • 语法高亮:自动对命令行输入进行语法高亮,增强可读性。

  • 自动建议:实时提供命令和路径建议,预测用户输入。

  • 历史搜索:改进的历史搜索功能,快速检索命令历史。

  • 跨平台支持:支持 macOS、Linux、BSD 以及 Windows(通过 WSL 或 Cygwin)。

  • 脚本友好:简化的语法结构、直观的错误提示、强大的内置函数库以及对现代编程语言特性的支持。

  • 安全性:包括自动路径展开等安全特性,防止路径注入攻击。

  • 美观界面:提供多种主题和颜色方案,界面美观。

  • 插件系统:可以轻松地添加如命令别名、主题美化、命令行增强、文件管理优化等多种类型的插件。插件通常以脚本或配置文件的形式存在,易于安装和管理,极大地扩展了 Fish 的原生功能。

🛠 和Bash shell的对比

特性Fish-shellBash shell
用户界面现代、美观,自动语法高亮和命令补全需要额外配置才能实现语法高亮和命令补全
自动建议边输入边提供智能建议需要安装和配置如 bash-completion 等插件
命令补全强大的自动补全功能,支持命令、参数、文件名等基本补全功能,其他需要额外配置
历史搜索改进的历史搜索功能,支持上下箭头键快速搜索基本历史搜索
多平台原生支持  macOS、Linux、BSD 和 Windows (WSL 或 Cygwin)主要用于  Linux 和 macOS
可定制性通过配置文件和主题进行高度定制通过 .bashrc、.bash_profile 等文件进行定制
脚本编写简化的语法结构,易于编写和维护脚本强大的脚本编写能力,但语法复杂度较高
插件系统支持通过  Fisherman 或 Oh My Fish 等插件管理器安装和管理插件需要手动安装和管理插件,或使用如 bash-it 的框架
集成开发环境与许多  IDE 和编辑器集成,提供语法高亮和代码补全支持需要额外配置或插件才能实现集成开发环境支持
学习成本较低,用户界面友好,自动建议和补全减少学习时间,但是材料相对bash较少较高,需要学习大量命令和脚本语法,额外配置增加学习曲线
社区情况活跃社区,提供丰富的插件和主题,但是社区群体相对Bash较小庞大的社区,大量资源和文档,使用广范

02

 fish-shell 安装 

fish-shell支持多种操作系统安装,常用的操作系统基本都支持。

在大多数 Linux 发行版中,‌可以使用软件包管理器来安装fish-shell

# 在 Ubuntu 上安装fish-shellsudo apt-get install fish# Fedora 和其他基于 RPM 的发行版Linuxsudo dnf install fish

03

 fish-shell 使用 

安装完成,只需输入fish,即可进入fish shell 环境。

fish-shell 提供了许多有用的功能,以下是一些具体的用法示例:

1. 自动补全:

如果正在输入一个命令,fish 会提供自动补全的建议

2. 命令历史:

使用上下箭头键浏览命令历史,使用 Alt+↑ 跳转到历史中上一个使用相同前缀的命令。

3. 自动建议:

边输入边自动建议,比如在输入 cd 命令后,fish 会建议可能的目录

图片

4. 语法高亮:

执行命令时,fish 会高亮显示命令的不同部分,比如 echo "Hello, OSM!"

图片

 fish-shell 插件 

1.安装插件管理器:

推荐使用fisher插件管理器来简化fish插件的安装和管理。

curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher

2.安装插件

要安装插件,使用install命令,并将其指向 GitHub 存储库。

fisher install jorgebucaran/nvm.fish

3.列出插件

使用list命令查看所有已安装的插件。​​​​​​​

$ fisher listjorgebucaran/fisherilancosman/tide@v5jorgebucaran/nvm.fish/home/jb/path/to/plugin

4.更新插件

fisher update jorgebucaran/fisher

5.删除插件

fisher remove jorgebucaran/nvm.fish

04

 fish-shell 插件 

综上所述,通过fish-shell,可以有效的降低用户对命令行 shell 的学习成本,提高运维老手的工作效率。如果你也感兴趣的话,不妨试试吧!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1985128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库|SQLServer数据库:企业管理器的使用

哈喽,你好啊,我是雷工! 之前学习了通过脚本创建数据库数据表以及增删改查的相关操作。 接下来了解企业管理器的使用。 以下为学习笔记。 01 新建数据库 1.1、登录数据库后,选中【数据库】-->右击【新建数据库】。 1.2、可以…

swift 自定义DatePacker

import Foundationenum AppDatePickerStyle {case KDatePickerDate //年月日case KDatePickerTime //年月日时分case kDatePickerMonth // 年月case KDatePickerSecond //秒}class AppDatePicker: UIView {private let jk_rootView UIApplication.shared.keyWindow!pri…

电池放电的速率对电池寿命有影响吗?

电池放电的速率对电池寿命确实有很大的影响,电池的寿命通常是指电池在正常使用条件下,能够保持其额定容量的时间。电池的容量会随着充放电次数的增加而逐渐减少,这个过程被称为电池的老化。电池的老化速度受到许多因素的影响,其中…

自闭症的孩子有哪些症状

在自闭症这个复杂而广阔的领域中,作为长期从事自闭症教育的工作者,我们深知每一位自闭症孩子都是独一无二的,他们面对的世界充满了挑战与不解。自闭症,也被称为孤独症谱系障碍,其核心症状往往体现在社交互动、沟通以及…

git安装图文

1.下载 通过百度网盘分享的文件:git安装图文 链接:https://pan.baidu.com/s/17ZMiWUIULtrGGba5n-WLeA 提取码:anjm --来自百度网盘超级会员V3的分享 2.安装

使用Go语言绘制水平柱状图教程

使用Go语言绘制水平柱状图教程 在本教程中,我们将学习如何使用Go语言及gg包绘制水平柱状图,并将图表保存为PNG格式的图片。水平柱状图适用于展示多个类别的数据,且便于标签的排列和阅读。 安装gg包 首先,确保你已经安装了gg包。…

远程抄表,构建智能水电管理

选自成都纵横智控官网-https://www.iotrouter.com/news/1320.html 众所周知,传统的人工抄表方式需要耗费大量人力资源,同时存在抄表难、监管难、收费难、缴费难等一系列问题。在万物互联时代下,物联网技术迅速发展,智能水电联控云…

Laya3.0 调用第三方js的方法

1.新建一个js文件,例如:SuanShi.js // 暴露类到全局作用域 ; window.SuanShi window.suan {}; (function (suan) {class JiSuan {constructor() {}static computeExpression(a, b) {return this.jia(a, b);}static jia(a, b) {return a b;}}suan.JiS…

TiDB v7.5.3 发版,听说升级后又可以躺平两年

众所周知 TiDB 运维很稳、升级丝滑,8 月 5 日,TiDB v7.5.3 发版,作为 TiDB v7 系列的最新长期支持版本,有升级需求的小伙伴可以安排起来了。 TiDB 7.5.3 发版说明 兼容性:新增系统表 INFORMATION_SCHEMA.KEYWORDS 用来…

打造成功的知识付费平台:从技术到内容的全面解析

在现代Web开发中,RESTful API是一种常用的接口设计风格。它使用HTTP协议,允许客户端与服务器之间进行数据交互。本文将通过一个简单的例子,介绍如何使用Python和Flask框架构建一个RESTful API。 一、准备工作 首先,我们需要安装…

Github 2024-08-06 Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-08-06统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10JavaScript项目1系统设计指南 创建周期:2507 天开发语言:Python协议类型:OtherStar数量:241693 个Fork数量:42010 次关注人数…

代码随想录算法训练营day35:动态规划03:背包问题:0-1背包;416. 分割等和子集

背包问题理论 主要需要掌握: 物品个数上不同!!! 0-1背包:n种物品 每种物品只有一个——只考虑每个物品放与不放 完全背包:n种物品 每种物品有无数个 多重背包:n种物品 每种物品个数各不相同…

Arch Linux-0-电脑安装Arch Linux系统-原Windows转Arch Linux

文章目录 一、使用U盘制作安装镜像1.1 下载并验证iso文件1.1.1 方案一:使用.torrent下载iso文件(1)下载.torrent文件(2)选取可以用的工具qbittorrent 1.1.2 方案二:国内镜像站下载(推荐&#xf…

轻闪PDF v2.14.9 解锁版下载与安装教程 (全能PDF转换器)

前言 轻闪PDF(原傲软PDF编辑软件)是一款操作简单的全能PDF转换器,轻松实现PDF转换为Word,Excel或其他格式,以及PDF压缩,合并和图片文字识别OCR等功能.这款pdf编辑转换软件几乎支持所有常见文档格式,一键完成PDF与其他文档互相转换,并含有PDF合并,压缩,图片文字识别OCR等增值功…

Linux中的无人值守安装脚本Kickstart

目录 一.kickstart自动安装脚本的作用 在企业中安装多台操作系统时面临的问题 如何解决以上问题? 二.实验环境 三.kickstart自动安装脚本的制作 通过模板生成kickstart文件 1.安装图形化生成kickstart自动安装脚本的工具 2.图形化工具配置流程 3.配置文件详…

如何有效开展产业链招商?

产业链招商是一种以产业大数据为依托、以产业链图谱为基础、以产业链分析为核心、以完善产业链结构为目标的招商引资方式。相比于传统招商模式,产业链招商比拼的并不是土地、政策优惠,而是以产业链分析为核心,诊断区域产业链结构及长短板&…

springboot书店销售管理系统-计算机毕业设计源码09304

摘要 随着互联网的普及和发展,线上书店越来越受到人们的欢迎。为了更好地管理书店的销售活动,提高用户体验,开发一个基于Springboot的书店销售管理系统是至关重要的。这种系统可以帮助书店管理员更高效地管理书籍、订单和用户信息&#xff0c…

SpringBoot基础 第一天

SpringBoot配置的文件名是固定的:application.yml application.properties YAML:以数据为中心 比Json xml更适合做配置文件 YAML语法: 1 字面量:普通值(字符串 布尔值 数字) (1) k: v (2) " "不会转义 会转义 2 对象,map(属性和值) (1)…

kettle从入门到精通 第八十四课 ETL之kettle kettle中Get data from XML使用实战教程

场景:解析xml文件或者内容解析出其中某些字段。 本来想着这个步骤使用起来比较简单,就没有梳理成文,结果群里的小伙伴为了使用这个步骤折腾了一下午。故有了此文。 在开始学习之前我们一起来学习下xml命名空间的相关知识,为下文展…

rem适配与vw适配

rem适配与vw适配 1.rem适配1.1原理1.2步骤1.3.1技术方案一1.3.2技术方案二 2.vw适配2.1原理2.2计算 3.rem适配与vw适配的优缺点 1.rem适配 1.1原理 rem(根em)是基于根元素(即HTML元素)的字体大小的长度单位。当根元素的字体大小…