常见的 Bash 命令及简单脚本
常见的 Bash 命令及简单脚本
一、常用 Bash 命令
-
文件操作
- 列出文件:
ls
(加-l
显示详情,-a
显示隐藏文件) - 切换目录:
cd 目录名
(cd ..
返回上级) - 复制文件:
cp 源文件 目标路径
- 移动/重命名:
mv 旧文件 新文件
- 删除文件:
rm 文件名
(-r
删除目录)
- 列出文件:
-
文本处理
- 查看文件:
cat 文件名
- 搜索文本:
grep "关键词" 文件名
- 编辑文件:
nano 文件名
或vim 文件名
- 查看文件:
-
系统信息
- 当前路径:
pwd
- 进程查看:
ps aux
- 磁盘空间:
df -h
- 系统监控:
top
- 当前路径:
-
权限管理
- 修改权限:
chmod 权限值 文件名
(如chmod +x script.sh
添加执行权) - 修改所有者:
chown 用户:组 文件名
- 修改权限:
二、简单 Bash 脚本示例
脚本结构:
- 首行声明解释器:
#!/bin/bash
- 添加注释(
#
开头) - 逐行编写命令
- 保存为
.sh
文件 - 赋予执行权限:
chmod +x 脚本名.sh
- 运行:
./脚本名.sh
示例 1:备份脚本
#!/bin/bash
# 备份指定目录到 /backup
source_dir="/data"
backup_dir="/backup"
timestamp=$(date +"%Y%m%d_%H%M%S") # 获取时间戳
tar -czf "${backup_dir}/backup_${timestamp}.tar.gz" "$source_dir"
echo "备份完成!保存至 ${backup_dir}"
示例 2:日志清理脚本
#!/bin/bash
# 删除超过 30 天的日志
log_dir="/var/log"
find "$log_dir" -name "*.log" -mtime +30 -exec rm -f {} \;
echo "已清理过期日志"
示例 3:计算器脚本
#!/bin/bash
# 计算两数之和
read -p "输入第一个数: " num1
read -p "输入第二个数: " num2
sum=$((num1 + num2)) # 算术运算
echo "结果: $num1 + $num2 = $sum"
三、脚本编写技巧
-
变量使用
- 定义变量:
变量名=值
(无空格) - 引用变量:
$变量名
或${变量名}
- 定义变量:
-
条件判断
if [ 条件 ]; then命令 elif [ 条件 ]; then命令 else命令 fi
常用条件:
- 文件存在:
[ -f 文件名 ]
- 目录存在:
[ -d 目录名 ]
- 数值比较:
[ $a -gt $b ]
(大于)
- 文件存在:
-
循环控制
for 变量 in 列表; do命令 done
while [ 条件 ]; do命令 done
提示:使用
set -e
可使脚本遇到错误时自动退出,避免后续错误执行。