首页
BBS
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
Linux 私房菜
前言
前言
基础篇
一.Linux的规划与安装
1.计算机概念
1.1 計算机:辅助人脑的好工具
1.2 个人计算机架构与周边设备
1.3 数据表示方式
1.4 软件程序运作
2.Linux是什么
2.1 Linux是什么
2.2 Torvalds的Linux发展
2.3 Linux的特色
3.Linux如何学习
3.1 Linux当前的应用角色
3.2 鸟哥的Linux苦难经验全都录
3.3 有心朝Linux作业系统学习者的学习态度
3.4 鸟哥的建议(重点在solution的学习)
4.主机规划与磁盘分区
4.1 Linux与硬件的搭配
4.2 磁盘分区
4.3 安装Linux前的规划
5.安装CentOS 5.x与多重引导技巧
5.1 本练习机的规划--尤其是分割参数
5.2 开始安装CentOS 5
5.3 安装后的首次设定
5.4 多重开机安装流程与技巧
5.5 关於大硬盘导致无法开机的问题
6.首次登陆与在线求助 man page
6.1 首次登陆系统
6.2 文本模式下命令的下达
6.3 Linux系统的在线求助man page与info page
6.4 超简单文书编辑器: nano
6.5 正确的关机方法
6.6 启动过程的问题排解
二.文件、目录与磁盘格式
7.Linux文件权限与目录配置
7.1 使用者与群组
7.2 Linux文件权限概念
7.3 Linux目录配置
8.Linux文件与目录管理
8.1 目录与路径
8.2 文件与目录管理
8.3 文件内容查阅:
8.4 文件与目录的默认权限与隐藏权限
8.5 命令与文件的搜寻
8.6 极重要!权限与命令间的关系
8.1 路由
8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
9.Linux 磁盘与 文件系统管理
9.1 认识 EXT2 文件系统
9.2 文件系统的简单操作
9.3 磁盘的分割、格式化、检验与挂载
9.4 配置启动挂载
9.5 内存置换空间(swap)之建置
9.6 文件系统的特殊观察与操作
10.文件的压缩与打包
10.1 压缩文件的用途与技术
10.2 Linux 系统常见的压缩命令
10.3 打包命令: tar
10.4 完整备份工具:dump, restore
10.5 光盘写入工具
10.6 其他常见的压缩与备份工具
10.7 重点回顾
三.学习Shell与Shell Scripts
11.vim程序编辑器
11.1 vi 与 vim
11.2 vi 的使用
11.3 vim 的额外功能
11.4 其他 vim 使用注意事项
11.5 重点回顾
12.认识与学习 BASH
12.1 认识 BASH 这个 Shell
12.2 Shell 的变量功能
12.3 命令别名与历史命令
12.4 Bash shell 的操作环境
12.5 数据流重导向 (Redirection)
12.6 管线命令 (pipe)
12.7 重点回顾
13.正规表示法与文件格式化处理
13.1 前言: 什么是正规表示法
13.2 基础正规表示法
13.3 延伸正规表示法
13.4 文件的格式化与相关处理
13.5 重点回顾
14.学习 shell scripts
14.1 什么是 Shell Script
14.2 简单的 shell script 练习
14.3 善用判断式
14.4 条件判断式
14.5 回圈 (loop)
14.6 shell script 的追踪与 debug
14.7 重点回顾
四.Linux使用者管理
15.Linux 账号管理与ACL 权限控制
15.1 Linux 的账号与群组
15.2 账号管理
15.3 主机的细部权限规划:ACL 的使用
15.4 使用者身份切换
15.5 使用者的特殊 shell 与 PAM 模块
15.6 Linux 主机上的用户信息传递
15.7 手动新增使用者
15.8 重点回顾
16.磁盘配额(Quota)与进阶文件系统管理
16.1 磁碟配额 (Quota) 的应用与实作
16.2 软件磁盘阵列 (Software RAID)
16.3 逻辑卷轴管理员 (Logical Volume Manager)
16.4 重点回顾
17.例行性工作排程 (crontab)
17.1 么是例行性工作排程
17.2 仅运行一次的工作排程
17.3 循环运行的例行性工作排程
17.4 可唤醒停机期间的工作任务
17.5 重点回顾
18.程序管理与SELinux 初探
18.1 什么是程序 (Process)
18.2 工作管理 (job control)
18.3 程序管理
18.4 特殊文件与程序
18.5 SELinux 初探
18.6 重点回顾
五.Linux系统管理员
19.认识系统服务(daemon)
19.1 什么是 daemon 与服务 (service)
19.2 解析 super daemon 的配置文件
19.3 服务的防火墙管理 xinetd, TCP Wrappers
19.4 系统开启的服务
19.5 重点回顾
20.认识与分析登录档
20.1 什么是登录文件
20.2 syslogd :记录登录文件的服务
20.3 登录文件的轮替 (logrotate)
20.4 分析登录文件
20.5 重点回顾
21.启动流程、模块管理 与 loader
21.1 Linux 的启动流程分析
21.2 核心与核心模块
21.3 Boot loader: Grub
21.4 启动过程的问题解决
21.5 重点回顾
22.系统配置工具(网络与打印机)与硬件侦测
22.1 CentOS 系统配置工具: setup
22.2 利用 CUPS 配置 Linux 打印机
22.3 硬件数据收集与驱动,及 lm_sensors
22.4 重点回顾
23.软件安装: 原始码与 Tarball
23.1 开放源码的软件安装与升级简介
23.2 使用传统程序语言进行编译的简单范例
23.3 用 make 进行巨集编译
23.4 Tarball 的管理与建议
23.5 函式库管理
23.6 检验软件的正确性
23.6 重点回顾
24.软件安装:RPM, SRPM 与 YUM 功能
24.1 软件管理员简介
24.2 RPM 软件管理程序: rpm
24.3 SRPM 的使用: rpmbuild
24.4 YUM 线上升级机制
24.5 管理的抉择:RPM 还是 Tarball
24.6 重点回顾
25.X Window 配置介绍
25.1 什么是 X Window System
25.2 X Server 配置档解析与配置
25.3 显卡驱动程序安装范例
25.4 重点回顾
26.Linux 备份策略
26.1 备份要点
26.2 备份的种类、频率与工具的选择
26.3 VBird 的备份策略与 scripts
26.4 灾难复原的考量
26.5 重点回顾
27.核心编译
27.1 编译前的任务:认识核心与取得核心原始码
27.2 核心编译的前处理与核心功能选择
27.3 核心的编译与安装
27.4 额外(单一)核心模块编译
27.5 重点回顾
六.其他备份文章
28.基础学习篇快速索引
29.附录 A: GNU 的 GPL 条文 version 2
附录 A: GNU 的 GPL 条文 version 2
30.附录 B: EXT2 / EXT3 档案系统
第二延伸文件系统 (EXT2)
31.Linux 系统与命令练习题
32.SPFDISK 的 一个范例
33.较小安装 Red Hat 7.2
34.Red Hat 6.x 旧文件
35.基础篇第一版 Mandrake 9为例
36.基础篇第二版 Fedora Core 4为例
服务器
一.架站前的进修专区
1.准备工作
1.1 前言: Linux 有啥功能
1.2 基本架设服务器流程
1.3 自我评估是否已经具有架设服务器的能力
1.4 本章习题
2.基础网络概念
2.1 网络是个什么玩意儿
2.2 TCP/IP 的链结层相关协议
2.3 TCP/IP 的网络层相关封包与数据
2.4 TCP/IP 的传输层相关封包与数据
2.5 连上 Internet 前的准备事项
2.6 重点回顾
3.局域网络架构简介
3.1 局域网络的联机
3.2 本书使用的内部联机网络参数与通讯协议
4.连上 Internet
4.1 Linux 连上 Internet 前的注意事项
4.2 连上 Internet 的设定方法
4.3 无线网络--以笔记本电脑为例
4.4 常见问题说明
4.5 重点回顾
5.网络指令
5.1 网络参数设定使用的指令
5.2 网络侦错与观察指令
5.3 远程联机指令与实时通讯软件
5.4 文字接口网页浏览
5.5 封包撷取功能
5.6 重点回顾
6.网络侦错
6.1 无法联机原因分析
6.2 处理流程
6.3 本章习题
二.主机的简易防火措施
7.网络安全与主机基本防护
7.1 网络封包联机进入主机的流程
7.2 网络自动升级软件
7.3 限制联机埠口 (port)
7.4 SELinux 管理原则
7.5 被攻击后的主机修复工作
7.6 重点回顾
8.路由概念与路由器
8.2 路由器架设
8.3 动态路由器架设:quagga (zebra + ripd)
8.5 重点回顾
9.防火墙与 NAT 服务器
9.1 认识防火墙
9.2 TCP Wrappers
9.3 Linux 的封包过滤软件:iptables
9.4 单机防火墙的一个实例
9.5 NAT 服务器的设定
9.6 重点回顾
10.申请合法的主机名
10.1 为何需要主机名
10.2 注册一个合法的主机名
10.3 重点回顾
三.局域网络内常见的服务器架设
11.远程联机服务器ssh, xdmcp, vnc, xrdp
11.1 远程联机服务器
11.2 文字接口联机服务器:SSH 服务器
11.3 最原始图形接口: Xdmcp 服务的启用
11.4 华丽的图形接口: VNC 服务器
11.5 仿真的远程桌面系统: XRDP 服务器
11.6 SSH 服务器的进阶应用
12.网络参数控管者:DHCP 服务器
13.文件服务器一:NFS 服务器
14.账号控管:NIS 服务器
15.时间服务器:NTP 时间服务器
16.文件服务器之二:SAMBA 服务器
17.区网控制者:Proxy 服务器
18.网络驱动器装置:iSCSI 服务器
四.常见因特网服务器架设
19.主机名控制者:DNS 服务器
20.WWW 服务器
21.文件服务器之三:FTP 服务器
22.邮件服务器:Postfix
五.一些旧数据
23.旧数据汇总
进阶篇
Shell教程
参考手册
Linux 命令大全
Shell 命令
13.1 前言: 什么是正规表示法
文档创建者:
职起网
浏览次数:
512
最后更新:
2023-03-28
Linux 私房菜
512 人阅读
|
0 人回复
职起网
职起网
当前离线
积分
4514
Linux
Linux 私房菜:
基础篇 » 三.学习Shell与Shell Scripts » 13.正规表示法与文件格式化处理
约略了解了 Linux 的基本命令 (BASH) 并且熟悉了 vim 之后,相信你对於敲击键盘的打字与命令下达比较不陌生了吧? 接下来,底下要开始介绍一个很重要的观念,那就是所谓的『正规表示法 (Regular Expression)』罗!
1、什么是正规表示法
任何一个有经验的系统管理员,都会告诉你:『正规表示法真是挺重要的!』 为什么很重要呢?因为日常生活就使用的到啊!举个例子来说, 在你日常使用 vim 作文书处理或程序撰写时使用到的『搜寻/取代』等等的功能, 这些举动要作的漂亮,就得要配合正规表示法来处理罗!
简单的说,正规表示法就是处理字串的方法,他是以行为单位来进行字串的处理行为, 正规表示法透过一些特殊符号的辅助,可以让使用者轻易的达到『搜寻/删除/取代』某特定字串的处理程序!
举例来说,我只想找到 VBird(前面两个大写字节) 或 Vbird(仅有一个大写字节) 这个字样,但是不要其他的字串 (例如 VBIRD, vbird 等不需要),该如何办理?如果在没有正规表示法的环境中(例如 MS word),你或许就得要使用忽略大小写的办法, 或者是分别以 VBird 及 Vbird 搜寻两遍。但是,忽略大小写可能会搜寻到 VBIRD/vbird/VbIrD 等等的不需要的字串而造成困扰。
再举个系统常见的例子好了,假设你发现系统在启动的时候,老是会出现一个关於 mail 程序的错误, 而启动过程的相关程序都是在 /etc/init.d/ 底下,也就是说,在该目录底下的某个文件内具有 mail 这个关键字,你想要将该文件捉出来进行查询修改的动作。此时你怎么找出来含有这个关键字的文件? 你当然可以一个文件一个文件的开启,然后去搜寻 mail 这个关键字,只是.....该目录底下的文件可能不止 100 个说~ 如果了解正规表示法的相关技巧,那么只要一行命令就找出来啦:『grep 'mail' /etc/init.d/*』 那个 grep 就是支持正规表示法的工具程序之一!如何~很简单吧!
谈到这里就得要进一步说明了,正规表示法基本上是一种『表示法』, 只要工具程序支持这种表示法,那么该工具程序就可以用来作为正规表示法的字串处理之用。 例如 vi, grep, awk ,sed 等等工具,因为她们有支持正规表示法, 所以,这些工具就可以使用正规表示法的特殊字节来进行字串的处理。但例如 cp, ls 等命令并未支持正规表示法, 所以就只能使用 bash 自己本身的万用字节而已。
2、正规表示法对於系统管理员的用途
那么为何我需要学习正规表示法呢?对於一般使用者来说,由於使用到正规表示法的机会可能不怎么多, 因此感受不到他的魅力,不过,对於身为系统管理员的你来说,正规表示法则是一个『不可不学的好东西!』 怎么说呢?由於系统如果在繁忙的情况之下,每天产生的信息资讯会多到你无法想像的地步, 而我们也都知道,系统的『错误信息登录文件 (第十九章)』 的内容记载了系统产生的所有信息,当然,这包含你的系统是否被『入侵』的记录数据。
但是系统的数据量太大了,要身为系统管理员的你每天去看这么多的信息数据, 从千百行的数据里面找出一行有问题的信息,呵呵~光是用肉眼去看,想不疯掉都很难! 这个时候,我们就可以透过『正规表示法』的功能,将这些登录的资讯进行处理, 仅取出『有问题』的资讯来进行分析,哈哈!如此一来,你的系统管理工作将会 『快乐得不得了』啊!当然,正规表示法的优点还不止於此,等你有一定程度的了解之后,你会爱上他喔!
3、正规表示法的广泛用途
正规表示法除了可以让系统管理员管理主机更为便利之外,事实上,由於正规表示法强大的字串处理能力, 目前一堆软件都支持正规表示法呢!最常见的就是『邮件服务器』啦!
如果你留意网际网络上的消息,那么应该不能发现,目前造成网络大塞车的主因之一就是『垃圾/广告信件』了, 而如果我们可以在服务器端,就将这些问题邮件剔除的话,用户端就会减少很多不必要的频宽耗损了。 那么如何剔除广告信件呢?由於广告信件几乎都有一定的标题或者是内容,因此, 只要每次有来信时,都先将来信的标题与内容进行特殊字串的比对,发现有不良信件就予以剔除! 嘿!这个工作怎么达到啊?就使用正规表示法啊!目前两大邮件服务器软件 sendmail 与 postfix 以及支持邮件服务器的相关分析软件,都支持正规表示法的比对功能!
当然还不止於此啦,很多的服务器软件都支持正规表示法呢!当然, 虽然各家软件都支持他,不过,这些『字串』的比对还是需要系统管理员来加入比对守则的, 所以啦!身为系统管理员的你,为了自身的工作以及用户端的需求, 正规表示法实在是很需要也很值得学习的一项工具呢!
4、正规表示法与 Shell 在 Linux 当中的角色定位
说实在的,我们在学数学的时候,一个很重要、但是粉难的东西是一定要『背』的, 那就是九九乘法表,背成功了之后,未来在数学应用的路途上,真是一帆风顺啊! 这个九九乘法表我们在小学的时候几乎背了一整年才背下来,并不是这么好背的呢! 但他却是基础当中的基础!你现在一定受惠相当的多呢 ^_^!
而我们谈到的这个正规表示法,与前一章的 BASH 就有点像是数学的九九乘法表一样,是 Linux 基础当中的基础,虽然也是最难的部分, 不过,如果学成了之后,一定是『大大的有帮助』的!这就好像是金庸小说里面的学武难关:任督二脉! 打通任督二脉之后,武功立刻成倍成长!所以啦, 不论是对於系统的认识与系统的管理部分,他都有很棒的辅助啊!请好好的学习这个基础吧!
5、延伸的正规表示法
唔!正规表示法还有分喔?没错喔!正规表示法的字串表示方式依照不同的严谨度而分为: 基础正规表示法与延伸正规表示法。延伸型正规表示法除了简单的一组字串处理之外,还可以作群组的字串处理, 例如进行搜寻 VBird 或 netman 或 lman 的搜寻,注意,是『或(or)』而不是『和(and)』的处理, 此时就需要延伸正规表示法的帮助啦!藉由特殊的『 ( 』与『 | 』等字节的协助, 就能够达到这样的目的!不过,我们在这里主力仅是介绍最基础的基础正规表示法而已啦!好啦!清清脑门,咱们用功去罗!
有一点要向大家报告的,那就是:『正规表示法与万用字节是完全不一样的东西!』 这很重要喔!因为『万用字节 (wildcard) 代表的是 bash 操作介面的一个功能』,但正规表示法则是一种字串处理的表示方式! 这两者要分的很清楚才行喔!所以,学习本章,请将前一章 bash 的万用字节意义先忘掉吧!
老实说,鸟哥以前刚接触正规表示法时,老想著要将这两者归纳在一起,结果就是...错误认知一大堆~ 所以才会建议您学习本章先忘记万用字节再来学习吧!
标签:
linux
职起网
编程学习
回复
使用道具
举报
上一个主题
下一个主题
相关帖子
•
篇3:妖股该怎么参与
•
篇4:妖股龙回头
•
篇5:妖股炒作的心得
•
篇6:缺口理论
•
篇7:如何提高炒股水平
•
篇8:怎么系统性复盘
•
篇9:怎么看龙虎榜
•
篇1:A股题材炒作的本质
•
篇2:操盘手法
•
篇3:连板战法