跳到正文
XiaoGao 的个人博客

NO.12 · Linux 与工具

Linux、Shell 与正则表达式:文本处理三件套

Linux(Ubuntu)系统管理、Shell 脚本编程与正则表达式语法笔记,涵盖文件权限、进程管理、crontab、条件循环、awk 文本处理与正则元字符速查。

发布 DATE
字数 WORDS
891
阅读 READ
2 分钟

嵌入式开发离不开 Linux。这份笔记整理三块内容:Linux(Ubuntu)系统管理基础、Shell 脚本编程、正则表达式语法,合起来就是日常开发中最常用的”文本处理三件套”。

学习路线

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Linux 基础
├── Ubuntu、终端和远程登录
├── 文件系统与目录结构
├── 用户、用户组和文件权限
├── 软件包、服务和系统管理
├── 进程、磁盘和网络
└── crontab 定时任务
↓
Shell 脚本
├── 脚本格式与执行
├── 变量、参数和运算符
├── 条件判断与循环
├── 函数和系统命令
└── cut、awk 等文本处理
↓
正则表达式
├── 普通字符和元字符
├── 字符集、范围和边界
├── 量词、分组和选择
├── 转义、字符类和反向引用
└── 与 grep、Shell 文本处理结合

内容概览

Linux(Ubuntu)系统管理

  • 环境搭建:VMware + Ubuntu + Xshell 远程登录,理解 Linux 目录层级结构;
  • 系统管理:systemctl 管理服务与开机自启、防火墙、APT 软件包管理器;
  • 基本命令:pwd、ls、cd、mkdir、cp、rm、mv,输出重定向 >、>> 与管道 |;
  • 编辑器与用户:VI/VIM 三种模式,adduser、passwd、sudo 等用户管理命令;
  • 权限与搜索:chmod、chown、chgrp 管理权限,find 搜索,grep 过滤;
  • 磁盘、进程与定时任务:df、du、ps、kill、top、netstat、crontab。

Shell 脚本编程

  • 脚本格式与解释器声明,编写第一个 helloworld.sh;
  • 特殊变量:$n(位置参数)、$#(参数个数)、$*/$@(所有参数)、$?(退出状态);
  • 条件表达式判断字符串、整数和文件状态,if / case 分支,for / while 循环;
  • basename、dirname 等系统函数,自定义 Shell 函数;
  • cut 提取字段,awk 完成字段处理、过滤和格式化输出。

正则表达式语法

类别 语法 说明
边界 ^、$、\b、\B 行首、行尾与单词边界
量词 .、*、+、?、{n,m} 重复次数控制
分组 (pattern)、(?:pattern) 捕获与非捕获分组
选择 `x y`
字符集 [xyz]、[^xyz]、[a-z] 字符集、排除集与范围
字符类 \d、\s、\w 数字、空白、单词字符
断言 (?=pattern)、(?!pattern) 正向 / 负向先行断言
引用 \num 反向引用,匹配重复内容

不同工具对正则的支持范围不同,实际使用时应以目标工具的语法实现为准。

常用命令速查

类别 命令 主要用途
目录 ls、cd、mkdir 查看、切换和创建目录
查看 cat、less、tail 查看文件内容
文本 grep、cut、awk 搜索、截取和处理文本
权限 chmod、chown、chgrp 修改权限、所有者和用户组
进程 ps、top、kill 查看和管理进程
压缩 gzip、tar 压缩、解压和归档
服务 systemctl 管理系统服务
定时 crontab 配置周期性任务

安全注意事项

  • rm、权限修改和防火墙配置可能影响系统,执行前应确认目标;
  • 涉及 sudo、系统服务和用户管理的操作,建议先在虚拟机中验证;
  • 修改权限时遵循最小权限原则,避免无必要地使用 777;
  • 编写定时任务时确认脚本路径、环境变量、日志路径和执行用户。

学习建议

  1. 先完成 Linux 文件、目录、权限和进程管理,再学习 Shell 自动化;
  2. 每学习一个命令,都记录输入、输出、退出状态和常用参数;
  3. 使用小规模测试文件验证 grep、cut、awk 和正则表达式;
  4. 将多个命令通过管道、重定向和 Shell 函数组合成可复用脚本。

仓库

    ↑↓ 选择↵ 打开>theme · >random · >top · >archive