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

相关推荐
Drone_xjw38 分钟前
Kylin 系统下使用 Shell 脚本定期清理历史文件
bash·kylin
2501_930707784 小时前
使用 C# 代码读取或删除 Excel 文档属性
excel
hikktn4 小时前
Excel 日期格式统一治理:从“显示不全“到“自动兼容“的完整方案
windows·python·excel
Full Stack Developme5 小时前
Linux Shell 教程概览
linux·前端·chrome
程序猿阿伟5 小时前
《Chrome扩展:穿透沙箱与签名体系的技术本质》
前端·chrome
fobwebs6 小时前
Chrome谷歌浏览器多开教程,如何在电脑上同时登录多个GMAIL账号
前端·chrome·多开·同时登录多个gmail
霸道流氓气质6 小时前
Spring Boot 大数据量 Excel 导入导出功能实现指南
spring boot·后端·excel
霸道流氓气质7 小时前
Java 单元测试生成大量 Excel 测试数据实战指南
java·单元测试·excel
技术小结-李爽7 小时前
【工具】Shell之Bash、Zsh配置文件的使用
开发语言·bash
独隅8 小时前
前端工程化在Chrome插件开发中的具体实践完全指南
前端·chrome