常见的 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 可使脚本遇到错误时自动退出,避免后续错误执行。

相关推荐
一乐小哥10 小时前
坚持迭代一个 Chrome 插件半年后,我的同事问我:"这不是 Chrome 自带的功能吗?"
chrome·github·ai编程
架构源启12 小时前
OpenClaw 只能手动写脚本?我用 Chrome 插件实现了“录制即生成“
前端·人工智能·chrome·自动化
实战编程15 小时前
Temu 插件导出 Excel 图片问题总结(SheetJS / ExcelJS)
excel
Data-Miner17 小时前
用DeepSeek V4做表:数以轻舟Agent让做Excel表像聊天一样简单
microsoft·excel
irpywp18 小时前
苦于AI生成的网页千篇一律且粗糙?design-md-chrome :一款网页样式提取插件 ,将任意网站的视觉规范转化为大模型可读的代码指令!
前端·人工智能·chrome·开源·github
chenhua20 小时前
狗头管家终端工作台 - 让多终端管理变得优雅
前端·chrome·terminal·gemini·opencode·cluade
Riu_Peter20 小时前
【技巧】如何在 Ubuntu 中安装 .deb 软件包
linux·chrome·ubuntu
雁鸣零落1 天前
如何在 Chrome 中查看其他浏览器的书签?书签空间订阅与侧边栏只读切换指南
前端·chrome·edge浏览器
Eiceblue2 天前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
Java面试题总结2 天前
使用 Python 设置 Excel 数据验证
开发语言·python·excel