1. Bash 简介


使用命令行 shell,例如 Bash ,你可以向操作系统发出说明,这里有两种使 shell 工作的方式:

  • 与命令行提示符进行交互
  • 运行 shell 脚本自动执行任务

Bash代表 "Bourne Again Shell", 他是基于 GNU 开发的 Bourne shell, 是大多数 Linux 操作系统发行版的默认 shell。

以下是不同类型的shell:

  • sh - Bourne Shell
  • bash - Bourne Again Shell
  • csh - C shell
  • tsch - Turbo C shell
  • ksh - Korn shell

/etc/shells文件列出了系统上所有可用的 shell。

$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
注意:请注意在 Linux 上,/bin/shbash的符号链接。

在 Linux 的/etc/passwd文件中每一个用户(行)的最后一个字段表明了该用户的默认 shell 类型,你可能注意到了 bash 被设置成了账户用户的默认 shell。

$ grep westos /etc/passwd
westos:x:1001:1001::/home/westos:/bin/bash

一旦你登录典型的 Linux 系统,您在提示符下键入的任何命令都是使用 bash shell 命令行模式执行的。 您键入的行包含命令后跟可选参数,参数应该用一个或多个空格分开。

接下来的例子展示了tar命令在命令行被执行,并且 3 个参数是是被空格分开的。

tar cvfz etc.tar.gz /etc/

您可以从命令行执行以下任一操作:

  • Bash 内建(builtins)
  • Bash 函数(functions)
  • Bash 别名(aliases)
  • 外部非 Bash 程序位于系统中的某个位置

bash shell 脚本是一个文件,其中包含 bash shell 可以理解的一系列命令。 然后你运行一个 bash shell 脚本文件,该 bash 文件中的命令按顺序逐个执行。 使用 bash 脚本可以自动完成一些任务。例如,你可以通过写脚本来备份一些程序文件到指定位置。