常见的 Bash 命令及简单脚本

常见的 Bash 命令及简单脚本

一、常用 Bash 命令
  1. 文件操作

    • 列出文件:ls(加 -l 显示详情,-a 显示隐藏文件)
    • 切换目录:cd 目录名cd .. 返回上级)
    • 复制文件:cp 源文件 目标路径
    • 移动/重命名:mv 旧文件 新文件
    • 删除文件:rm 文件名-r 删除目录)
  2. 文本处理

    • 查看文件:cat 文件名
    • 搜索文本:grep "关键词" 文件名
    • 编辑文件:nano 文件名vim 文件名
  3. 系统信息

    • 当前路径:pwd
    • 进程查看:ps aux
    • 磁盘空间:df -h
    • 系统监控:top
  4. 权限管理

    • 修改权限:chmod 权限值 文件名(如 chmod +x script.sh 添加执行权)
    • 修改所有者:chown 用户:组 文件名

二、简单 Bash 脚本示例

脚本结构:

  1. 首行声明解释器:#!/bin/bash
  2. 添加注释(# 开头)
  3. 逐行编写命令
  4. 保存为 .sh 文件
  5. 赋予执行权限:chmod +x 脚本名.sh
  6. 运行:./脚本名.sh
示例 1:备份脚本
bash 复制代码
#!/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:日志清理脚本
bash 复制代码
#!/bin/bash
# 删除超过 30 天的日志
log_dir="/var/log"
find "$log_dir" -name "*.log" -mtime +30 -exec rm -f {} \;
echo "已清理过期日志"
示例 3:计算器脚本
bash 复制代码
#!/bin/bash
# 计算两数之和
read -p "输入第一个数: " num1
read -p "输入第二个数: " num2
sum=$((num1 + num2))  # 算术运算
echo "结果: $num1 + $num2 = $sum"

三、脚本编写技巧
  1. 变量使用

    • 定义变量:变量名=值无空格
    • 引用变量:$变量名${变量名}
  2. 条件判断

    bash 复制代码
    if [ 条件 ]; then
      命令
    elif [ 条件 ]; then
      命令
    else
      命令
    fi

    常用条件

    • 文件存在:[ -f 文件名 ]
    • 目录存在:[ -d 目录名 ]
    • 数值比较:[ $a -gt $b ](大于)
  3. 循环控制

    bash 复制代码
    for 变量 in 列表; do
      命令
    done
    bash 复制代码
    while [ 条件 ]; do
      命令
    done

提示:使用 set -e 可使脚本遇到错误时自动退出,避免后续错误执行。

相关推荐
简离3 天前
前端调试实战:基于 chrome://webrtc-internals/ 高效排查WebRTC问题
前端·chrome·webrtc
LAM LAB4 天前
【VBA】Excel指定单元格范围内字体设置样式,处理导出课表单元格
excel·vba
在这habit之下4 天前
Keepalived学习总结
excel
Youngchatgpt4 天前
如何在 Excel 中使用 ChatGPT:自动化任务和编写公式
人工智能·chatgpt·自动化·excel
开开心心就好4 天前
安卓开源应用,超时提醒紧急人护独居安全
windows·决策树·计算机视觉·pdf·计算机外设·excel·动态规划
D_C_tyu4 天前
Vue3 + Element Plus | el-table 多级表头表格导出 Excel(含合并单元格、单元格居中)第二版
vue.js·elementui·excel
归叶再无青4 天前
web服务安装部署、性能升级等(Apache、Nginx)
运维·前端·nginx·云原生·apache·bash
Ai老司机4 天前
Chrome浏览器驱动(ChromeDriver)官方下载 - 全平台高速镜像站 | chromedrive.cn
前端·chrome
电商API_180079052474 天前
如何将小红书评论数据封装到API实现自动化分析?测试API实战指南
运维·chrome·自动化