鸟哥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] [动作]
  • 扩展正则表达式:
    • + --- 重复一个或一个以上的前一个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的更多相关文章

  1. 鸟哥Linux私房菜基础学习篇学习笔记2

    鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...

  2. 鸟哥Linux私房菜基础学习篇学习笔记1

    鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...

  3. 《鸟哥Linux私房菜基础学习篇》命令索引

    在学习的过程,由于很多命令平时都用不着,因此做这个索引方便需要时查找.这包括了前两部分.主要是按页码顺序. P118 date:显示日期与时间 cal:显示日历 bc:计算器 P121 [Tab]:命 ...

  4. 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)

    本文总结了Linux操作系统来管理我们的硬盘和文件系统需要使用命令.当我们在系统中增加一个硬盘驱动器.什么是我们需要去通过这个硬盘就可以真正使用步骤?下面步骤: (1)对磁盘进行分区,新建能够使用的分 ...

  5. 鸟哥linux私房菜基础篇

    1)注销:exit2)指令太长:命令太长的时候,可以使用反斜杠 (\) 来跳脱[Enter]符号,使挃令连续到下一行3)系统语言显示和设置命令:echo $LANG,显示当前系统语言:简体中文zh_C ...

  6. 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)

    题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...

  7. 鸟哥Linux私房菜知识汇总8至9章

    一看最近<鸟哥Linux私房菜>. 这是一个基本的书,万丈高楼平地起,学. 这是我整理的一些知识点.尽管非常基础. 希望和大家共同交流. 第8章 Linux磁盘与文件系统管理 一.Linu ...

  8. 鸟哥linux私房菜第6章笔记

    鸟哥linux私房菜第6章笔记 文件权限 修改 chgrp [-R] groupname filename //修改文件所属组 chown [-R] ownername[:groupname] fil ...

  9. 《鸟哥Linux私房菜》 全套视频和PDF资料—— 老段带你学鸟哥Linux视频课程

    <鸟哥的Linux私房菜-基础篇-服务器篇(第三版)>学习Linux极为经典的入门资料,但是还是很多同学难以坚持系统的看完整本书,最终以放弃而告终. 为了帮助大家更容易入门Linux,老段 ...

随机推荐

  1. 浅谈前端中的mvvm与mvc

    用了vue这么久,却没有认真的关注mvvm与mvc,着实汗颜.趁着周末刚好看了一下网上的文章还有书籍,简单的谈一下我的理解. -以下图片均摘自网络. 一.MVC 特点:单项通讯 视图(View):用户 ...

  2. javascript系列2 -- 闭包详解

    转发请标明来源:http://www.cnblogs.com/johnhou/p/javascript.html  请尊重笔者的劳动成果  --John Hou 今天我们从内存结构上来讲解下 java ...

  3. 手机端实现fullPage——全屏滚动效果

    封装了一个小插件模拟fullPage的全屏滚动效果,比较简单. 特点: 1.  纯js实现,小巧轻便. 2.  兼容性好.苹果.安卓都没问题,暂时没遇到问题机型. 缺点: 1.  仅封装了基础功能,H ...

  4. BZOJ_1455_罗马游戏_可并堆

    BZOJ_1455_罗马游戏_可并堆 Description 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团.最近举行了一次平面几何测试,每个人都得到了一个分数. 皇帝很喜欢 ...

  5. 从Java继承类的重名static函数浅谈解析调用与分派

    在java中,static成员函数是否可以被重写呢? 结论是,你可以在子类中重写一个static函数,但是这个函数并不能像正常的非static函数那样运行. 也就是说,虽然你可以定义一个重写函数,但是 ...

  6. 本地和svn都删除文件导致版本不同的问题

    想要删除一个项目中的文件,同是要删除svn上的文件. 自己操作 1.直接右键删除了本地项目中的一个目录的模块 2.右键删除了库中svn中的这个目录 3.同步本地和svn上的代码 4.问题出现了,本地和 ...

  7. MIP技术进展月报第3期:MIP小姐姐听说,你想改改MIP官网?

    一. 官网文档全部开源 MIP 是一项永久的开源的项目,提供持续优化的解决方案,当然官网也不能例外.从现在开始,任何人都可以在 MIP 官网贡献文档啦! GitHub 上,我们已经上传了 <官网 ...

  8. Docker 快速开始

    1.  概念 对于开发人员和系统管理员来说,Docker是一个使用容器开发.部署和运行应用程序的平台.使用Linux容器部署应用程序称为容器化.容器并不新鲜,但是将它们用于轻松部署应用程序却很新鲜. ...

  9. Firemonkey 原生二维码扫描优化

    之前用了ZXing的Delphi版本,运行自带的例子,速度非常慢,与安卓版本的相比查了很多,因此打算使用集成jar的方法,但是总觉得美中不足. 经过一番研究,基本上解决了问题. 主要有两方面的优化: ...

  10. MongoDB【快速入门】

    1.MongDB 简介 MongoDB(来自于英文单词"Humongous",中文含义为"庞大")是可以应用于各种规模的企业.各个行业以及各类应用程序的开源数据 ...