到底什么是CLI?

前端写了这么久,经常用Vue-cli、webpack-cli、react-cli这些工具。但不怕大家笑话,这些名词我一直不知道啥意思。

我也查了资料,网上都说它们叫脚手架或者命令行工具,但对我来说我只是又多知道了几个名称。直到最近接触linux多了,才了解本质。故事要从shell说起

一:shell

平时windows系统用的较多,都是图形化操作,对命令行使用的不多。如果经常使用服务器版本的linux就会发现,服务器都是通过一行行命令行进行操作的。

Shell 这个单词的原意是“外壳”,跟 kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。

首先,shell 是一个程序,提供一个与用户对话的环境。这个环境只有一个命令提示符,让用户从键盘输入命令,所以又称为命令行环境(command line interface,简写为 CLI)。

所以重点是,cli其实就是Shell。

二:Bash

Shell本身是一种命令行解释器,是用户与操作系统进行交的接口,它解释用户输入的命令并将其传递给操作系统执行。Shell的主要作用是解释和执行命令,以及管理操作系统的各种资源。

Bash(Bourne Again SHell)是一种基于Unix shell的命令行解释器,它是常用的Shell之一。Bash是对Bourne Shell的扩展,提供了许多新功能和改进。与传统的shell相比,Bash具有更强大的功能和更多的特性,包括命令行编辑、命令历史、脚本编程、变量和环境管理等。因此,Bash不仅是一种Shell,也被视为一种脚本编程语言,它可以用来编写Shell脚本。

所以我理解的shell就是一个概念,Bash就是shell的一种具体实现。

就像操作系统是一个概念,windows、macOS、linux是操作系统这个概念的多种具体实现。我们在linux和macOS上使用的shell是Bash,在windows上使用的shell是PowerShell(一种基于.NET框架的命令行脚本语言)。

比如下图常见场景,咱就知道啥意思了。

 

三:总结

我理解的vue-cli等各种所谓的cli,其实就是一套用shell已经写好的程序。

只是这套程序不像网页,它没有界面。不通过鼠标点击交互,执行下一步,而是通过命令行输入交互往下执行。最终给我们的电脑上完成文件、文件夹创建,组件下载安装等动作。比如执行vuecli,最终我们就得到了一套现成的代码框架

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sun_qqq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值