Bash
·
giftia
Bash 基础指南:从入门到实用
Bash (Bourne Again SHell) 是大多数 Linux 和 macOS 系统的默认命令行解释器。它不仅是一个与系统交互的界面,也是一门强大的脚本语言。本文将带你快速掌握 Bash 的核心概念和实用技巧。
1. 什么是 Bash?
简单来说,Bash 就像一个翻译官。你输入人类可读的命令,Bash 将其翻译成操作系统能理解的指令并执行。
2. 基础命令
在开始编写脚本之前,我们需要熟悉一些最常用的基础命令:
pwd: 显示当前所在目录的路径 (Print Working Directory)。ls: 列出当前目录下的文件和文件夹。ls -l: 详细列表格式。ls -a: 显示隐藏文件。
cd: 切换目录 (Change Directory)。cd /var/log: 进入绝对路径。cd ..: 返回上一级目录。
mkdir: 创建新目录。rm: 删除文件或目录。rm file.txt: 删除文件。rm -r folder: 递归删除目录及其内容。
3. 变量
Bash 中的变量不需要声明类型,直接赋值即可。
定义和使用变量:
# 定义变量(注意:等号两边不能有空格)
name="World"
age=25
# 使用变量(在变量名前加 $ 符号)
echo "Hello, $name!"
echo "I am $age years old."
4. 条件判断
Bash 使用 if 语句进行条件控制。
基本语法:
score=85
if [ $score -ge 90 ]; then
echo "优秀"
elif [ $score -ge 60 ]; then
echo "及格"
else
echo "不及格"
fi
注意:[ 和 ] 内部两边必须有空格。-ge 表示大于等于 (greater than or equal)。
常用比较符:
-eq: 等于-ne: 不等于-gt: 大于-lt: 小于
5. 循环结构
循环用于重复执行一段代码。
For 循环:
# 遍历列表
for fruit in apple banana cherry; do
echo "I like $fruit"
done
# 遍历数字范围
for i in {1..5}; do
echo "Number: $i"
done
While 循环:
count=1
while [ $count -le 3 ]; do
echo "Count is $count"
count=$((count + 1)) # 数学运算
done
6. 函数
将常用的代码块封装成函数,可以提高代码的复用性。
# 定义函数
greet() {
# $1 表示第一个参数
echo "Hello, $1! Welcome to Bash."
}
# 调用函数并传递参数
greet "Alice"
greet "Bob"
7. 管道与重定向
这是 Bash 中非常强大的特性,用于连接多个命令或控制输入输出。
重定向 (> 和 >>):
将命令的输出保存到文件中。
# 覆盖写入
echo "This is a test" > test.txt
# 追加写入
echo "Another line" >> test.txt
管道 (|):
将前一个命令的输出作为后一个命令的输入。
# 列出当前目录文件,并查找包含 "txt" 的行
ls -l | grep "txt"
8. 编写你的第一个脚本
- 创建一个文件,例如
hello.sh。 - 在第一行添加 Shebang (
#!/bin/bash),告诉系统使用 Bash 解释器。 - 编写代码。
- 赋予执行权限并运行。
hello.sh 内容:
#!/bin/bash
echo "Starting script..."
date
echo "Script finished."
执行步骤:
chmod +x hello.sh # 赋予执行权限
./hello.sh # 运行脚本
总结
Bash 是一门实践性很强的语言。掌握上述基础后,你可以通过编写简单的自动化脚本(如备份文件、批量重命名)来不断提升技能。遇到不熟悉的命令,随时使用 man 命令名 (如 man ls) 查看帮助文档。