鸟哥Linux私房菜基础学习篇学习笔记3
鸟哥Linux私房菜基础学习篇学习笔记3
第十二章
- 正则表达式与文件格式化处理:
- 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找、删除、替换一行或多行文字字符;
- 正则表达式是一种标准依据。
- grep是支持正则表达式的工具程序之一。
- 正则表达式可以分为基础正则表达式与扩展正则表达式
- 正则表达式与通配符是完全不一样的东西,通配符是bash接口的一个功能,但是正则表达式是一种字符串处理的表达方式。
- dmesg列出内核信息;
- 基础正则表达式字符:
-
^word
— 带查找字符串在首行; -
word$
— 待查找的字符串在行尾; -
.
— 代表一定有一个任意字符的字符; -
\
— 转义符,将特殊符号的特殊意义去除; -
*
— 重复零个到无穷多个的前一个字符; -
[list]
— 从字符集合的RE字符里找出想要选取的字符; -
[n1-n2]
— 从字符集合的RE字符里找出想要选取的字符范围; -
[^list]
— 从字符集合的RE字符里面找出不要的字符串或范围; -
\{n,m\}
— 连续n到m个的前RE字符, 若\{n\}
是连续n个的前一个RE字符,若为\{n,\}
则是连续n个以上的前一个RE字符。
-
- sed工具,awk命令;
- sed本身就是一个管道命令,可以分析标准输入,还可以将数据进行替换、删除、新增、选取特定行等功能;
-
sed [-nefr] [动作]
;
-
- sed本身就是一个管道命令,可以分析标准输入,还可以将数据进行替换、删除、新增、选取特定行等功能;
- 扩展正则表达式:
-
+
— 重复一个或一个以上的前一个RE字符; -
?
— 零个或一个的前一个RE字符; -
|
— 用或(or)的方式找出数个字符串; -
()
— 找到组字符; -
()+
— 找到多个重复组的判别;
-
- 文件的格式化与相关处理:
- 格式化打印 —
printf
; - 好用的数据处理工具:
awk
;- sed用于行处理,awk倾向于将一行分成数个字段来处理,awk更适合处理小型的数据处理;
-
awk \'条件类型1{动作1} 条件类型2{动作2} ...\' filename
;
- 文件比较工具:
diff
; - 补丁文件:
patch
; - 文件打印准备:
pr
。
- 格式化打印 —
第十三章
- shell script — shell 脚本;
- 支持数组、循环、条件和逻辑判断等重要功能。
#!/bin/bash 声明这个script的名称 # \'#\'用来注释说明 PATH=/bin:/... #主要环境变量的声明 export PATH echo -e "Hello world! \a \n" # 回显hello world exit 0
- 利用test命令的测试功能:
-
test -e /dmtsai && echo "exist" || echo "Not exist"
.
-
- 利用判断符号
[]
来进行数据的判断,中括号两端必须要有空格分隔;-
[ -z "$HOME" ]; echo $?
,$?
是前一个命令执行完毕后的回传码。
-
- shell脚本的默认变量:
- 默认变量是
$0
,$1
,……
;
/path/to/scriptname opt1 opt2 opt3 opt4 $0 $1 $2 $3 $
-
shift
造成参数变量号码便宜; - 条件判断式:
if...then
,单层简单条件判断式。 -
&&
代表AND,||
代表or。
# 一个条件判断 if [ 条件判断式一 ]; then 成立执行的工作; elif [条件判断式二 ]; then 成立执行的工作; else 都不成立执行的工作 fi
- 默认变量是
- 常见的端口号:
80: www 22: ssh 21: ftp 25: mail 111: RPC(远程过程调用) 631: CUPS(打印服务功能)
- 利用
case...esac
进程判断。case $1 in "hello") echo "Hello, how are you ?" ;; "") echo "input " ;; *) #相当于通配符 echo "usage $0 {hello}" ;; esac
- 利用function功能:
function fname() { 程序段 }
- 循环(loop):
- while do done, until do done(不定循环)
while [ condition ] do 程序段落 done until [ condition ] do 程序段落 done
- for do done(固定循环):
for var in con1 con2 con3 ... do 程序段 done for ( ( 初始值; 限制值; 执行步长 ) ) do 程序段 done
- shell脚本的追踪调试:
-
sh [-nvx] scripts.sh
;-
-n
不执行脚本,仅检查语法的问题; -
-v
在执行script前,先将脚本的内容输出到屏幕上; -
-x
将使用到的脚本内容显示到屏幕上。
-
-
第十八章
- 认识系统服务(daemons):可分为stand alone与super daemon两类。
- 自行单独启动服务(stand_alone), WWW的daemon(httpd), FTP的daemon(vsftpd);
- 一个特殊的daemon来进行统一管理(super daemon):负责唤醒服务(inetd或xinetd);
- super daemon具有安全管控机制, 类似防火墙的功能。
- daemon的启动脚本与启动方式:
- 提供daemon虽然只是一个进程,但这个daemon的启动是需要执行文件、配置文件、执行环境等;
- 启动脚本的放置处
/etc/init.d*
; - 各服务的初始化环境配置文件
/etc/sysconfig/*
; - super daemon配置文件
/etc/xinetd.config, /etc/xinetd.d/*
; -
/etc/*
各服务各自的配置文件; -
/var/lib/*
各服务产生的数据库; -
/var/run
各服务的程序的PID记录。
版权声明:本文为longjiang-uestc原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。