如果您已经使用Linux很长时间了,那么毫无疑问,您已经在论坛和文章中看到了Bash这个词。它有时看起来像是终端的同义词,但是Bash和终端仿真器绝对是两个不同的应用程序。那么Bash到底是什么呢?在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。
Bash这个名字是Bourne SHell的缩写,是对stephenbourne这个名字的双关语,stephenbourne是Bash的前身之一的创造者。第一个测试版是1989年发布的,在撰写本文时,它的最新更新是在2020年12月:5.1版。
Bash是最流行的shell语言之一,以其强大功能和用户友好命令的结合而闻名。这就是它在Linux发行版中如此丰富的原因。
Bash不仅在Linux上运行,而且在macOS和BSD上也可以使用,您可以通过Windows Subsystem for Linux在Windows上使用它。
阅读更多:如何在windows10上获得Linux Bash Shell
但要真正定义Bash,我们必须理解shell是什么。
shell是一个应用程序,它接受用户的输入并执行相应的操作,通常与内核通信以实现该操作。这样,它就像内核周围的一个“壳”。
虽然shell确实通过命令启动其他应用程序,但它们本身也通常具有交互功能。
例如,当您打开一个Linux终端并按下向上箭头按钮来检索最后发出的命令时,这是Bash应用程序的一个功能。用于更改目录的cd命令是另一个非常常见的Bash命令。
除了作为一个交互式应用程序,Bash还是一种脚本语言。实际上,您的Linux操作系统在启动过程中使用了许多Bash脚本来启动各种进程。
在几乎所有Linux系统中,只要您使用终端,就可以随时使用Bash。
您可以使用此命令确认,该命令返回正在使用的shell的名称:
echo $0你应该只得到bash这个词。如果这样做,您可以看到与此命令一起使用的Bash版本:
bash --version您的屏幕应类似于:
然而,在终端中发出单个命令只是Bash使用的开始。
像操作系统使用的那些脚本一样,您可以学习编写Bash脚本,在您的Linux PC上自动执行您经常手动执行的过程。一个熟练的Bash脚本编写者一天可以自动完成数百个任务!
那你怎么学Bash呢?
通过编写脚本,可以自己编写,也可以在指导下编写,比如在Bash课程中。
对于游戏玩家来说,你也可以通过玩Bash游戏来学习。一个例子是bashclawl,一个基于文本的地牢爬虫,它强迫你学习和调用Bash命令来在游戏中前进。
我们这里也有关于如何利用的文章,这些文章将训练您成为一个更好的Bash脚本编写者。例如,我们可以向您展示如何在Bash中编写for循环,或者将您的脚本转换为可单击的应用程序。
我们已经了解了Bash是什么,它的历史,以及如何让它为您工作。
不过,学习Bash只是充分利用Linux操作系统的一部分。要成为一个Linux超级用户,你还可以学到很多东西。
... 本课程将带您了解Linux的“如何”和“为什么”,并展示各种Linux命令的工作方式、它们的真实结构以及记住这些命令的正确方法。 ...
...。了解更多关于Bash-on-Windows的信息,从您应该如何以及为什么安装它,到您可能不知道的隐藏特性。 ...
... 什么是linux的windows子系统(the windows subsystem for linux)? ...
受限的shell限制了用户帐户在Linux上可以做什么。受限用户不能更改其目录,您可以控制他们可以访问哪些命令。下面介绍如何在Linux上设置受限shell。 受限炮弹 受限shell不是另一个shell。这是标准外壳的另一种模式。Bash、Kor...
...用chsh命令将其设置为默认shell。我们会教你怎么做。 为什么贝壳很重要 shell位于您和操作系统之间。它在终端窗口内提供环境,允许您键入命令和运行程序。shell检查您的输入并找出您想要的内容。如果它能执行你的出价本身...
...我们可以通过键入以下命令来运行它: /htg公司 它不是什么程序,只是打印版本号,然后关闭。新版本是1.2.138。 要在当前工作目录中运行程序,必须在程序名前面键入“./”,以便Bash知道在哪里可以找到它。 因为我们想从任...
...e up 我们得到一个非常有用的提示,告诉我们每个命令是什么类型的,以及它们的定义。 开始收集 别名和函数可以极大地加快命令行的使用速度。它们可以缩短命令序列,并允许您烘焙始终与标准命令一起使用的选项。 每次看...
...ux发行版 相关报道:在windows10上,Ubuntu、openSUSE和Fedora有什么区别? 秋季Creators更新还支持多个Linux发行版,以前只有Ubuntu可用。最初,您可以安装Ubuntu、openSUSE-Leap、SUSE-Linux-Enterprise-Server、Debian-GNU/Linux或Kali-Linux。Fedora也即将推...