本文首发于 PRSDigg(顶呱呱)© 2022 阿坦
转载请注明出处
原创不易,请多转发点赞
“关公面前舞大刀可能是一件比较危险的事情,搞不好是要送命的 —— 这是潜在风险。但是,在东哥面前舞 Shell, 应该并不存在送命的风险。同时,潜在收益可能是非常大的。理由:1. 想要学习一项技艺,跟随连续有卓越作品、并且那作品你还很喜欢的大师的路径去学习,起码可以帮助我们避免在徒有其表的事情上打转;2. 你将有机会接触到你所喜欢的这些产品背后的理念;3. 投入其中,你可能会因此链接到价值观相似的朋友,搞不好以后你们还能产生合作。”
Shell 是个啥?
查柯林斯词典:Shell 就是壳子,瓜子壳、鸡蛋壳什么的都是 Shell.
那么,在 Linux 中,这个 Shell 是个什么呢?也可以理解为是 Linux 这个操作系统的壳子。我们知道,与计算机交互,本质上就是与一堆开关交互,要么开、要么关,用数字表示:开就是 1、关就是 0. 所谓操作系统,应该其实就是和这些 0 和 1 打交道的一个内核,而我们平时主要用英文字母、单词、以及一些预定义的符号和计算机内核在打交道。
那人们为什么不直接用 0 和 1 和计算机交互呢?因为密密麻麻的 0 和 1 对人类不友好,用 0 和 1 和计算机打交道让人望而却步。那么,把一系列的 0 和 1 用人类能够理解的语言搞个备注行不行呢?我想,那些最开始与计算机打交道的人就是这么干的。运用想象力带入一下,回到计算机这玩儿刚被弄出来那会儿,面对一堆 0 和 1,是不是经常会被搞晕?于是搞个备注提示自己这些 0 和 1 是在干什么,是不是非常简单、直接、有效的方法?
基于这些合理的猜想,Linux 的这个 Shell 到底是个什么,就容易想象了:
A Unix Shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language. and is used by the operating system to control the execution of the system using shell scripts. -- wikipedia
Unix Shell 是一个命令解释器或外壳,为类似 Unix 的操作系统提供一个命令行用户界面。Shell 即是一种就交互式命令语言,也是一种脚本语言。操作系统使用 Shell 脚本来控制系统的执行。 —— 维基百科
这里说明一下,我所安装的 Linux 发行版本是 Ubuntu 20.04.3 LTS, 默认 Shell 是 Bash, 属于 Bourne Shell 的一种,当下 Bash 在 Linux 操作系统应用广泛。本文中演示全部在 Bash 中进行。
好,废话不多说,马上开始舞!
Shell 开始舞
毕竟是边学边舞,舞得不好,不要见笑,舞得好的朋友多多指教!🙏
history
我们可以通过 history 命令,来查看之前执行过的命令,只需在终端键入:
$ history

可以看到,当前用户之前执行过些什么命令,都显示在了终端,默认显示最后执行的 1000 条命令,这个数值保存在一个文件里面,可以通过修改文件里相应的变量值,改变保存的历史命令条数。具体就先不展开了。