什么是Bash终端?17 Mar 2025 | 6 分钟阅读 当计算机启动时,内核(无论是Linux、BSD、Mach还是NT)会检测所有物理硬件,并允许每个组件相互通信,并由一些基本软件进行管理。 计算机最基本的一组指令只是保持其开启和安全,例如偶尔激活风扇以避免过热,使用子系统来监控磁盘空间或“监听”新添加的设备等等。如果它们只做这些,计算机将和对流烤箱一样无趣。 在人类依靠穿孔卡来指示计算机做什么的时代,这是一个重大的进步。 Bash是一个应用程序当我们启动一个运行Bash shell的终端(例如Linux上的GNOME Terminal或Konsole,或macOS上的iTerm2)时,我们会看到一个提示符。提示符是一个表示shell正在等待我们输入的符号。它通常是一个美元符号($)。然而,知道我们应该输入什么,则是另一回事了。 这可能听起来有点刻薄,但它完美地总结了“Bash”这个名字所关联的各种含义。对于许多新用户来说,Bash和Linux或Unix之间没有区别:它就是传统的黑屏绿字,我们期望在那里输入我们希望计算机接下来做什么。 Bash shell和我们在其中输入的命令如此混淆。区分这两者至关重要:Bash仅仅是一个程序,其主要功能是执行安装在同一系统上的其他程序(以命令的形式)。 我们可以学习Bash,但这只是更广泛理解其运行操作系统的一部分。如果我们不知道命令,我们就无法用Bash做任何事情。 许多数字历史学家使用两种命令行界面之一,也称为“shell”。在OS X和许多Linux安装中,shell被称为bash,或“Bourne-again shell”。Windows系统的命令行界面默认基于MS-DOS,它使用不同的命令和语法,但通常可以完成相同的任务。 我们可以通过终端遍历文件系统来识别文件,打开它们,进行基本的数据库操作,如合并和复制文件,以及读取和进行非常小的修改。 Linux命令当我们给Bash一个命令时,它会在我们系统上的某些目录中查找,以确定它是否存在。如果命令存在于目录中,Bash一定会执行该命令。 当我们打开终端窗口或登录文本控制台时,Bash通常是默认执行的命令。我们可以在终端中使用which命令来查找包括Bash在内的任何命令在我们系统上的位置。 Bash自带一些内置命令。大多数内置命令都针对Bash脚本或低级环境设置进行了定制,但其中一些,如cd(用于更改目录),非常有用。由于它们不在我们通常的可执行路径中,内置命令在搜索时不会显示出来。 然而,它们仍然可用,因为它们是Bash的一部分,而我们正在使用Bash。 运行Bash默认情况下,大多数最新的Linux和Unix发行版都包含Bash shell。由于我们知道Bash非常有名,并且它还有许多其他shell所缺乏的有用功能,因此它默认包含在这些发行版中。然而,一些系统默认使用不同的shell。 我们可以使用echo命令和一个特定的变量来反映当前正在运行的进程的名称,以检查我们是否正在运行Bash shell。 如果您的系统上没有bash,那么您可以尝试从Google安装它。在任何发行版中安装它都非常简单,或者您可以访问Bash官方网站。 在Bash中工作Bash是一个有效的计算机界面,不仅仅适用于服务器管理员和程序员。它可以是我们的电脑桌面、文字处理器、图形编辑器等等。一些用户更喜欢Bash而不是桌面应用程序。 Unix和Linux已有大量可用命令,这可能会让您感到惊讶。例如,我们可以在不打开查看器或编辑器的情况下调整和裁剪照片。 我们可以使用ogg123或mpg321播放音乐,使用sox转换音频,使用ffmpeg修改和编辑视频,使用emacs或vim编辑文本,使用pine或mutt检查电子邮件,使用elinks浏览互联网,使用ranger或midnightcommander浏览文件,等等。所有这些都在Bash中完成,命令可以在我们的机器上找到,或者在我们的软件存储库中。 Bash脚本Bash(以及Linux)如此强大的原因之一是它可以编写脚本。我们可以将所有我们可以在Bash中输入的内容列在一个纯文本文件中,然后让Bash为我们运行。与其花费一下午手动运行一百个命令,不如编写脚本,让计算机在您专注于其他任务时运行它们。 由于Linux上的几乎所有东西都运行在Bash shell之上,因此Bash可以用来自动化几乎所有事情。虽然也有例外(图形应用程序可能有自己的脚本语言或根本没有脚本),但通过编写操作系统脚本,我们可以执行数万项计算机功能,而无需亲自操作。 无法确定这每天为Linux用户节省了多少时间。但真正带来区别的不是标准的自动化;而是人们为自己创建的自定义流程,以及其他人认为无需自动化的任务。 例如,考虑以下Bash脚本,它将一个临时文件(想象一个由另一个进程生成的 파일)移动到指定目录。 没错,Bash。为了验证最后一个命令,将其复制并粘贴到终端中。只要存在名为tmp.png的文件和名为/public html的目录,该命令就会生效。 另一方面,学习Bash就是弄清楚如何改进像这样的简单命令以实现自动化。例如,如果tmp.png文件不存在,脚本就会失败。 如果这个脚本是一个关键组件,例如一个博客网站,它每天都需要一张新图片来创建定制的标题图片,那么它的失败可能会导致其他地方的灾难性故障。为了提高弹性,知道Bash的用户可以使用以下命令。 这只是学习Bash脚本过程的一个例子,但它表明了理解Linux和Bash是如何互补而不是相互排斥的。 Bash的优点Bash用户喜欢这些“Bashism”是因为它们绕过了其他shell(如tcsh和ash)有时冗长而笨拙的语法。 然而,它们是Bash特有的,不符合POSIX标准,这可能会在未运行Bash的系统上导致兼容性问题。但是,由于Bash是开源免费软件,大多数人如果需要,都可以安装它。缺乏兼容性会带来额外的依赖性,但并不会阻止任何人使用脚本。 可以指出的主要优点是:
缺点任何事物都有优点,也有一些缺点,它们是:
下一个主题什么是防火墙认证 |
我们请求您订阅我们的新闻通讯以获取最新更新。