31·Shell 基础入门

Bash Shell 入门

bashshell

第 31 课:Bash Shell 入门

所属模块:Shell 基础 难度:beginner 标签bash, shell 上一课:登录 Shell 与环境变量 下一课:Shell 变量与数据类型

1. 学习目标

完成本课学习后,你将能够:

  1. 理解 Shell 和 Bash 的基本概念及其在 Linux 系统中的作用。
  2. 掌握 如何启动 Bash Shell 并使用基本的命令行提示符。
  3. 执行 简单的 Shell 命令(如 echo, date, pwd)并理解其输出。
  4. 创建并运行 一个最简单的 Bash Shell 脚本。

2. 核心概念

什么是 Shell?

你可以把 Shell 想象成一个“翻译官”或“中间人”。它运行在操作系统内核(Kernel)之上,负责将你输入的、人类可读的命令翻译成内核能够理解的指令,并将内核的执行结果翻译回屏幕显示给你。简单说,Shell 是你与 Linux 系统进行交互的主要界面。

什么是 Bash?

Bash(Bourne Again SHell)是众多 Shell 中的一种,也是目前绝大多数 Linux 发行版默认使用的 Shell。它功能强大且免费,是学习 Linux 系统管理的必备工具。我们平时说的“敲命令”、“用终端”,其实主要就是在使用 Bash。

命令行提示符

当你打开一个终端(Terminal)时,通常会看到一个类似下面这样的提示符:

user@hostname:~$
  • user: 当前登录的用户名。
  • hostname: 计算机的主机名。
  • ~: 你当前所在的目录。~ 是你“家目录”(Home Directory)的简写。
  • $: 表示你是一个普通用户。如果是 #,则表示你是拥有最高权限的 root 用户。

命令的基本结构

一个典型的命令由三部分组成:

命令 [选项] [参数]
  • 命令 (Command): 你想要执行的操作,例如 ls(列出文件)。
  • 选项 (Options): 用来修改命令的行为,通常以 --- 开头。例如 -l(长格式显示)。
  • 参数 (Arguments): 命令作用的对象,例如一个文件或目录的名字。

3. 代码示例

示例1:在终端中直接执行基础命令 打开你的终端,尝试输入以下命令:

# 在屏幕上打印 “Hello, World!”
echo “Hello, World!”

# 显示当前系统的日期和时间
date

# 显示你当前所在的目录路径 (Print Working Directory)
pwd

# 列出当前目录下的所有文件和文件夹 (List)
ls

# 以长格式列出当前目录下的所有内容,包括隐藏文件
ls -la

示例2:创建并运行你的第一个 Bash 脚本

  1. 使用任何文本编辑器(如 nano, vim)创建一个名为 my_first_script.sh 的文件。
    nano my_first_script.sh
    
  2. 在编辑器中输入以下内容,并保存退出(在 nano 中按 Ctrl+X,然后按 YEnter):
    #!/bin/bash
    # 这是我的第一个 Bash 脚本
    # 符号 “#!” 称为 “Shebang”,它告诉系统用哪个解释器来执行这个脚本。
    
    echo “脚本开始执行了!”
    echo “当前用户是: $USERecho “今天的日期是: $(date +%Y-%m-%d)”
    echo “脚本执行完毕。”
    
  3. 给脚本添加可执行权限:
    chmod +x my_first_script.sh
    
  4. 运行脚本:
    ./my_first_script.sh
    
    你应该能看到如下输出:
    脚本开始执行了!
    当前用户是: your_username
    今天的日期是: 2023-10-27
    脚本执行完毕。
    

4. 实践练习

练习1:基础命令探索 在终端中依次执行以下命令,并描述你观察到的结果:

# 1. 查看当前系统内核版本
uname -a

# 2. 查看当前登录的用户列表
who

# 3. 清空当前终端屏幕
clear

练习2:创建一个信息脚本 创建一个脚本 info.sh,使其运行时能输出以下信息:

  • 你的用户名
  • 你当前所在的目录
  • 系统的主机名 (提示:可以使用 $USER, pwd 命令, $HOSTNAME 变量)

练习3:探索命令帮助 当你不知道一个命令怎么用时,可以使用帮助。尝试以下两种方式查看 date 命令的帮助信息:

# 方式一:使用 man (manual) 命令,按 q 退出
man date

# 方式二:使用 --help 选项,快速查看常用选项
date --help

5. 常见错误

  1. 命令/文件名大小写错误:Linux 系统是大小写敏感的。MyFile.txtmyfile.txt 是两个完全不同的文件。输入命令时务必注意拼写。
  2. 路径问题:运行脚本时,如果直接输入 my_first_script.sh,系统可能会在 PATH 环境变量指定的目录中查找它,导致“命令未找到”的错误。务必使用相对路径 ./my_first_script.sh 或绝对路径来明确指定脚本位置。
  3. 忘记添加可执行权限:创建 .sh 脚本后,如果没有用 chmod +x 添加可执行权限,直接运行会提示“Permission denied”(权限被拒绝)。
  4. 在脚本中使用错误的 Shebang:虽然 #!/bin/bash 是最常用的,但有些系统可能将 bash 安装在其他路径(如 /usr/bin/bash)。对于初学者,记住使用 #!/bin/bash 即可。

6. 小结

  • Shell 是用户与 Linux 内核交互的命令行界面,Bash 是其最流行的实现。
  • 命令行提示符(如 user@host:~$)包含了你的身份、位置和权限信息。
  • 命令的基本结构是 命令 [选项] [参数]
  • Shell 脚本 是一系列 Shell 命令的集合,保存在一个文件中以便重复执行。
  • 脚本以 #!/bin/bash 开头,使用 chmod +x 赋予执行权限,然后用 ./脚本名 来运行。
  • 善用 man--help 来探索不熟悉的命令。

在下一课中,我们将深入学习 Shell 变量与数据类型,这是编写更复杂、更强大脚本的基础。

练习编辑器

rust
Loading...

继续学习

完成本课后,建议继续学习下一课「Shell 变量与数据类型」 以巩固所学知识。