鸟哥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记录。
鸟哥Linux私房菜基础学习篇学习笔记3的更多相关文章
- 鸟哥Linux私房菜基础学习篇学习笔记2
鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...
- 鸟哥Linux私房菜基础学习篇学习笔记1
鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...
- 《鸟哥Linux私房菜基础学习篇》命令索引
在学习的过程,由于很多命令平时都用不着,因此做这个索引方便需要时查找.这包括了前两部分.主要是按页码顺序. P118 date:显示日期与时间 cal:显示日历 bc:计算器 P121 [Tab]:命 ...
- 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)
本文总结了Linux操作系统来管理我们的硬盘和文件系统需要使用命令.当我们在系统中增加一个硬盘驱动器.什么是我们需要去通过这个硬盘就可以真正使用步骤?下面步骤: (1)对磁盘进行分区,新建能够使用的分 ...
- 鸟哥linux私房菜基础篇
1)注销:exit2)指令太长:命令太长的时候,可以使用反斜杠 (\) 来跳脱[Enter]符号,使挃令连续到下一行3)系统语言显示和设置命令:echo $LANG,显示当前系统语言:简体中文zh_C ...
- 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)
题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...
- 鸟哥Linux私房菜知识汇总8至9章
一看最近<鸟哥Linux私房菜>. 这是一个基本的书,万丈高楼平地起,学. 这是我整理的一些知识点.尽管非常基础. 希望和大家共同交流. 第8章 Linux磁盘与文件系统管理 一.Linu ...
- 鸟哥linux私房菜第6章笔记
鸟哥linux私房菜第6章笔记 文件权限 修改 chgrp [-R] groupname filename //修改文件所属组 chown [-R] ownername[:groupname] fil ...
- 《鸟哥Linux私房菜》 全套视频和PDF资料—— 老段带你学鸟哥Linux视频课程
<鸟哥的Linux私房菜-基础篇-服务器篇(第三版)>学习Linux极为经典的入门资料,但是还是很多同学难以坚持系统的看完整本书,最终以放弃而告终. 为了帮助大家更容易入门Linux,老段 ...
随机推荐
- Linux 上一些常用命令
切换权限: sudo chown -R 权限名: 文件 tar -zcvf 文件夹.tar 文件夹--exclude=要过滤的文件夹路径 重启crontab :service crond restar ...
- ps技术--批量给图片加水印
在日常的办公过程中,对于一些比较重要的文件的扫描件需要特殊处理,这时我们就需要给它们加上水印,保证它们的用途唯一,而这些扫描件很多,不可能一一给他们加水印,所以为提高工作效率,我们就可以使用一些小软件 ...
- BZOJ3629(JLOI2014)聪明的燕姿
(⊙﹏⊙)我交了好久,有坑啊...(如果没有匹配的话,即输出0种情况要记得换行...) 就是搜索,加上一点数论,并不太难... #include<cstdio> #include<c ...
- spring 上传文件文件的一个例子,
/** * 类名称:UploadTest 类描述:创建人:zhang 创建时间:2015年3月13日 下午4:20:57 修改人:zhang * 修改时间:2015年3月13日 下午4:20:57 修 ...
- Java开源生鲜电商平台-安全设计与架构(源码可下载)
Java开源生鲜电商平台-安全设计与架构(源码可下载) 说明:Java开源生鲜电商平台是一个B2B的生鲜电商平台,由于是APP的一种模式,所以安全方面一般会思考以下几个维度: 1.数据安全. 2.传输 ...
- Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows
知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html ------------------------ 安装方式有3种: (1)Windows ...
- 认识容器和Docker(一)
前言: 这句话应该是开发人员经常挂在嘴边的吧! “在我的机器上是正常工作的啊,MD,怎么到你这就不行了?” 开发人员就会联想到: 1. 肯定是你环境有问题: 2. 要么就是你个傻*不会用吧: 带着这句 ...
- Android 7.0 存储系统—Vold与MountService分析(一)(转 Android 9.0 分析)
Android的存储系统(一) 看了很长时间Vold存储模块的相关知识,也死扣了一段时间的Android源码,发现Android存储系统所涉及的函数调用,以及Kernel与上层之间的Socket传输真 ...
- eShopOnContainers 知多少[5]:EventBus With RabbitMQ
1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉.事件总线是对发布-订阅模式的一种实现.它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需 ...
- 安卓开发笔记(三十):自定义Button
在笔者本人看了很多博客和书之后,发现很少博主对于自定义控件能够进行一个比较全面的思路讲解,大多数都是只讲了一些细节,但并没有讲如何把代码进行整体的实现.因此这里讲讲整体的自定义button实现的详细过 ...