当前位置: 首页 > news >正文

常见的 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:备份脚本
#!/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"

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

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

    if [ 条件 ]; then命令
    elif [ 条件 ]; then命令
    else命令
    fi
    

    常用条件

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

    for 变量 in 列表; do命令
    done
    
    while [ 条件 ]; do命令
    done
    

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

http://www.dtcms.com/a/338768.html

相关文章:

  • 从 0 到 1 开发校园二手交易系统:飞算 JavaAI 全流程实战
  • 无畏契约手游上线!手机远控模拟器畅玩、抢先注册稀有ID!
  • Windows/Centos 7下搭建Apache服务器
  • MySQL-分库分表(Mycat)
  • 第一章 认识单片机
  • 出现了常规系统错误: Unable to push signed certificate to host 192.168.1.2
  • 从数据表到退磁:Ansys Maxwell中N48磁体磁化指南
  • LINUX 软件编程 -- 线程
  • 决策树的学习(二)
  • MCP(模型上下文协议):是否是 AI 基础设施中缺失的标准?
  • jsPDF 不同屏幕尺寸 生成的pdf不一致,怎么解决
  • Ansible 中的文件包含与导入机制
  • java17学习笔记-Deprecate the Applet API for Removal
  • C语言基础:(十八)C语言内存函数
  • 连接远程服务器上的 jupyter notebook,解放本地电脑
  • 计算机毕设推荐:痴呆症预测可视化系统Hadoop+Spark+Vue技术栈详解
  • 生成式AI的能力边界与职业重构:从“百科实习生“到人机协作增强器
  • 人工智能学派简介
  • 当宠物机器人装上「第六感」:Deepoc 具身智能如何重构宠物机器人照看逻辑
  • Python字符串变量插值深度解析:从基础到高级工程实践
  • 安装DDNS-go
  • 【部署相关】DockerKuberbetes常用命令大全(速查+解释)
  • 便携式科研土壤监测仪:让土壤检测走进 “轻时代”
  • 大数据MapReduce架构:分布式计算的经典范式
  • 【MySQL】--- 库表操作
  • Python + 淘宝 API 开发:自动化采集商品数据的完整流程​
  • Redis(11)如何通过命令行操作Redis?
  • 对象创建过程
  • 《算法导论》第 32 章 - 字符串匹配
  • 大数据云原生是什么