跳到主要内容

Ubuntu Bash基础

Bash(Bourne Again Shell)是 Ubuntu 和其他 Linux 系统中默认的命令行解释器。它不仅可以用于执行命令,还可以编写脚本来自动化任务。本文将带你从零开始学习 Bash 的基础知识,帮助你掌握命令行操作和脚本编写的基本技能。

什么是 Bash?

Bash 是一种命令行解释器,允许用户通过输入命令与操作系统交互。它是 Unix Shell 的一种,支持命令执行、脚本编写、变量操作等功能。Bash 脚本是由一系列命令组成的文本文件,可以通过 Bash 解释器执行。

基本命令

在开始编写 Bash 脚本之前,我们需要先了解一些常用的 Bash 命令。

1. 查看当前目录

使用 pwd 命令可以查看当前所在的目录:

bash
pwd

输出示例:

/home/username

2. 列出目录内容

使用 ls 命令可以列出当前目录下的文件和文件夹:

bash
ls

输出示例:

Documents Downloads Music Pictures

3. 切换目录

使用 cd 命令可以切换到指定目录:

bash
cd Documents

4. 创建文件

使用 touch 命令可以创建一个空文件:

bash
touch example.txt

5. 创建目录

使用 mkdir 命令可以创建一个新目录:

bash
mkdir new_folder

Bash 脚本基础

Bash 脚本是一个包含一系列命令的文本文件,通常以 .sh 为扩展名。脚本的第一行通常是指定解释器的路径,例如:

bash
#!/bin/bash

1. 编写第一个脚本

创建一个名为 hello.sh 的文件,并输入以下内容:

bash
#!/bin/bash
echo "Hello, World!"

保存文件后,使用以下命令赋予脚本执行权限:

bash
chmod +x hello.sh

然后运行脚本:

bash
./hello.sh

输出示例:

Hello, World!

2. 使用变量

在 Bash 脚本中,可以使用变量来存储数据。变量名通常为大写字母,赋值时不需要使用 $ 符号,但在引用变量时需要:

bash
#!/bin/bash
NAME="Alice"
echo "Hello, $NAME!"

输出示例:

Hello, Alice!

3. 条件语句

Bash 脚本支持条件语句,例如 if 语句:

bash
#!/bin/bash
AGE=18
if [ $AGE -ge 18 ]; then
echo "You are an adult."
else
echo "You are a minor."
fi

输出示例:

You are an adult.

4. 循环语句

Bash 脚本支持多种循环语句,例如 for 循环:

bash
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
done

输出示例:

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

实际应用场景

1. 批量重命名文件

假设你有一批图片文件,需要将它们的扩展名从 .jpg 改为 .png。你可以编写一个 Bash 脚本来完成这个任务:

bash
#!/bin/bash
for file in *.jpg; do
mv "$file" "${file%.jpg}.png"
done

2. 自动备份文件

你可以编写一个脚本来自动备份指定目录中的文件:

bash
#!/bin/bash
BACKUP_DIR="/backup"
SOURCE_DIR="/home/username/documents"
DATE=$(date +%Y-%m-%d)
tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE_DIR"

总结

通过本文,你已经学习了 Bash 的基础知识,包括常用命令、脚本编写、变量操作、条件语句和循环语句。Bash 脚本是自动化任务的强大工具,掌握它将大大提高你的工作效率。

附加资源

练习

  1. 编写一个 Bash 脚本,计算 1 到 100 的和并输出结果。
  2. 编写一个脚本,检查当前目录下是否存在某个文件,如果存在则输出文件内容,否则提示文件不存在。
提示

在编写 Bash 脚本时,记得使用 chmod +x 赋予脚本执行权限,并使用 ./script.sh 运行脚本。