第 31 课:Bash Shell 入门
所属模块:Shell 基础
难度:beginner
标签:bash, shell
上一课:登录 Shell 与环境变量
下一课:Shell 变量与数据类型
1. 学习目标
完成本课学习后,你将能够:
- 理解 Shell 和 Bash 的基本概念及其在 Linux 系统中的作用。
- 掌握 如何启动 Bash Shell 并使用基本的命令行提示符。
- 执行 简单的 Shell 命令(如
echo,date,pwd)并理解其输出。 - 创建并运行 一个最简单的 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 脚本
- 使用任何文本编辑器(如
nano,vim)创建一个名为my_first_script.sh的文件。nano my_first_script.sh - 在编辑器中输入以下内容,并保存退出(在
nano中按Ctrl+X,然后按Y和Enter):#!/bin/bash # 这是我的第一个 Bash 脚本 # 符号 “#!” 称为 “Shebang”,它告诉系统用哪个解释器来执行这个脚本。 echo “脚本开始执行了!” echo “当前用户是: $USER” echo “今天的日期是: $(date +%Y-%m-%d)” echo “脚本执行完毕。” - 给脚本添加可执行权限:
chmod +x my_first_script.sh - 运行脚本:
你应该能看到如下输出:
./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. 常见错误
- 命令/文件名大小写错误:Linux 系统是大小写敏感的。
MyFile.txt和myfile.txt是两个完全不同的文件。输入命令时务必注意拼写。 - 路径问题:运行脚本时,如果直接输入
my_first_script.sh,系统可能会在PATH环境变量指定的目录中查找它,导致“命令未找到”的错误。务必使用相对路径./my_first_script.sh或绝对路径来明确指定脚本位置。 - 忘记添加可执行权限:创建
.sh脚本后,如果没有用chmod +x添加可执行权限,直接运行会提示“Permission denied”(权限被拒绝)。 - 在脚本中使用错误的 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...