Linux的systemd特性及awk使用

1、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理
Systemd的新特性:

系统引导时实现服务并行启动;
        按需激活进程;
        系统状态快照;
        基于依赖关系定义服务控制逻辑;

核心概念:unit

unit由其相关的配置文件进行标识、识别和配置;文件中主要包含了系统服务、监听的socket、保存的快照以及其他与init相关的信息;
        /usr/lib/system
        /run/systemd/system
        /etc/systemd/system

unit的常见类型:

Service unit:文件扩展名为.service,用于定义系统服务;
Target unit:文件扩展为.target,用于模拟实现“运行级别”;
Device unit: .device,用于定义内核识别的设备;
Mount unit: .mount,定义文件系统挂载点;
Socket unit: .socket,用于标识进程间通信用到的socket文件;
Snapshot unit: .snapshot, 管理系统快照;
Swap unit: .swap, 用于标识swap设备;
Automount unit: .automount,文件系统自动点设备;
Path unit: .path, 用于定义文件系统中的一文件或目录;

关键特性:

基于socket的激活机制;socket与程序分离;
基于bus的激活机制;
基于device的激活机制;
基于Path的激活机制;
系统快照:保存各unit的当前状态信息于持久存储设备中;
向后兼容sysv init脚本;
        /etc/init.d/

不兼容:

systemctl的命令是固定不变的;
非有systemctl启动的服务,systemctl无法与之通信;

nginx安装:

[[email protected] ~]# wget http://nginx.org/download/nginx-1.13.12.tar.gz
[[email protected] ~]# tar -vzxf nginx-1.13.12.tar.gz -C /usr/local
[[email protected] ~]# cd /usr/local/nginx-1.13.12/
[[email protected] nginx-1.13.12]# ./configure
[[email protected] nginx-1.13.12]# make && make install

配置nginx:

nginx启动、关闭、停止和状态查看:

[[email protected] ~]# systemctl start nginx.service
[[email protected] ~]# systemctl restart nginx.service
[[email protected] ~]# systemctl stop nginx.service
[[email protected] ~]# systemctl status nginx.service



2、描述awk命令用法及示例(至少3例)
文本三剑客之awk
awk是一种报表生成器,与sed,grep都是文本处理工具,可以将编辑的文本进行格式化排版处理后以更加美观的形式输出。

基本用法:awk [options] ‘program‘ FILE ...
                                    program: PATTERN{ACTION STATEMENTS}
语句之间用分号分隔
选项:
-F:指明输入时用到的字段分隔符;
-v var=value: 自定义变量

print

print item1, item2, ...
要点:
(1) 逗号分隔符;
(2) 输出的各item可以字符串,也可以是数值;当前记录的字段、变量或awk的表达式;
(3) 如省略item,相当于print $0;

变量

1) 内建变量
      FS:input field seperator,默认为空白字符;
      OFS:output field seperator,默认为空白字符;
      RS:input record seperator,输入时的换行符;
      ORS:output record seperator,输出时的换行符;
      NF:number of field,字段数量
            {print NF}, {print $NF}
      NR:number of record, 行数;
      FNR:各文件分别计数;行数;
      FILENAME:当前文件名;
      ARGC:命令行参数的个数;
      ARGV:数组,保存的是命令行所给定的各参数;

2)自定义变量
        (1) -v var=value
            变量名区分字符大小写;
        (2) 在program中直接定义

示例:


printf命令

格式化输出:printf FORMAT, item1, item2, ...
            (1) FORMAT必须给出;
    (2) 不会自动换行,需要显式给出换行控制符,\n
    (3) FORMAT中需要分别为后面的每个item指定一个格式化符号;
格式符:
    %c: 显示字符的ASCII码;
      %d, %i: 显示十进制整数;
                %e, %E: 科学计数法数值显示;
                %f:显示为浮点数;
                %g, %G:以科学计数法或浮点形式显示数值;
                %s:显示字符串;
                %u:无符号整数;
                %%: 显示%自身;
修饰符:
                #[.#]:第一个数字控制显示的宽度;第二个#表示小数点后的精度;
                -: 左对齐
                +:显示数值的符号

操作符

算术操作符:x+y,x-y,x*y,x/y,x^y,x%y
    -x
    +x: 转换为数值;
字符串操作符:没有符号的操作符,字符串连接
赋值操作符:=,+=,-=,*=,/=,%=,^=,++,--
比较操作符:>,>=,<,<=,!=,==
模式匹配符:
    ~:是否匹配
    !~:是否不匹配
逻辑操作符:&&,||,!
函数调用:
    function_name(argu1, argu2, ...)
条件表达式:
    selector?if-true-expression:if-false-expression

PATTERN

(1) empty:空模式,匹配每一行;
(2) /regular expression/:仅处理能够被此处的模式匹配到的行;
(3) relational expression: 关系表达式;结果有“真”有“假”;结果为“真”才会被处理;
         真:结果为非0值,非空字符串;
(4) line ranges:行范围,
   startline,endline:/pat1/,/pat2/
注意: 不支持直接给出数字的格式
        ~]# awk -F: ‘(NR>=2&&NR<=10){print $1}‘ /etc/passwd
(5) BEGIN/END模式
   BEGIN{}: 仅在开始处理文件中的文本之前执行一次;
   END{}:仅在文本处理完成之后执行一次;

示例:



3、描述awk函数示例(至少3例)
awk函数:

函数分为内建函数和用户自定义函数

内建函数:

数值处理:
        rand():返回0和1之间一个随机数;
字符串处理:
        length([s]):返回指定的字符串长度;
        sub(r,s[,t]):基于r所表示的模式来匹配字符串的t中的内容,将其第一次被匹配到内容替换为s所表示的字符串
        gsub(r,s[,t]):基于r所表示的模式来匹配字符串t中的内容,将其所有被匹配到的内容均替换为s所表示的字符串;
        split(r,s[,t]):以r为分隔符去切割字符串s,并将切割后的结果保存至s表示的数组中;
注意:awk的数组下标从1开始编号,而非0.
        #awk ‘{split($0,userinfo,”:””);print userinfo[1]}’/etc/passwd
        substr(s,i[,n]):从s所表示的字符串中取子串,取法:从i表示的位置开始,取n个
        符;时间类函数:systime(),取当前系统实际按,结果形式为时间戳;

用户自定义函数:

function f_name(p,q) {
        …
}

示例:

原文地址:http://blog.51cto.com/13984342/2321529

时间: 2024-07-28 23:09:24

Linux的systemd特性及awk使用的相关文章

Linux的systemd特性及gawk使用

1. 简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理 Systemd的新特性: 系统引导时实现服务并行启动: 按需激活进程: 系统状态快照: 基于依赖关系定义服务控制逻辑: 核心概念:unit unit由其相关配置文件进行标识.识别和配置:文件中主要包含了系统服务.监听的socket.保存的快照以及其它与init相关的信息: 这些配置文件主要保存在: /usr/lib/systemd/system /run/system

Linux的文本编辑diff & sed & awk & grep

grep(关键字: 截取) 文本搜集工具, 结合正则表达式非常强大    主要参数 []    -c : 只输出匹配的行    -I : 不区分大小写    -h : 查询多文件时不显示文件名    -l : 查询多文件时, 只输出包含匹配字符的文件名    -n : 显示匹配的行号及行    -v : 显示不包含匹配文本的所有行(我经常用除去grep本身)    基本工作方式: grep 要匹配的内容 文件名, 例如:    grep 'test' d* 显示所有以d开头的文件中包含test的

LINUX 下 find grep sed awk 的常见基本用法特点

LINUX 下 find grep sed awk 的常见基本用法特点 只为让自己具有更高的水准,这就开始了长达6个月的小白进阶路! 这几天学习linux基础命令有点犯蒙,尤其是对文件查找这块.所有我想把一些我觉得常用的实用的参数项总结下来,大神勿喷哈... 不到之处请大家指教,小女子在此谢过了. 一.find:命令用于查找文件系统中指定的文件,其命令格式为: 1.find pathname -options [ -print  -exec  -ok ... ] (1)find 命令的参数: p

Linux Shell常用技巧(四) awk

Linux Shell常用技巧(四) awk 九.  awk实用功能: 和sed一样,awk也是逐行扫描文件的,从第一行到最后一行,寻找匹配特定模板的行,并在这些行上运行"选择"动作.如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上.如果一个动作没有模板,所有被动作指定的行都被处理.       1.  awk的基本格式:    /> awk 'pattern' filename    /> awk '{action}' filename    /> awk '

Linux Shell常用技巧(五) awk编程

Linux Shell常用技巧(五) awk编程 十一.  awk编程:    1.  变量:    在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可以是数字.字符串.根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文.下面为变量的赋值负号列表: 符号 含义 等价形式 = a = 5 a = 5 += a = a + 5 a += 5 -= a = a - 5 a -= 5 *= a = a * 5 a *= 5 /= a =

Linux文本处理必杀技之awk应用详解

AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯.彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识.awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命令可以查看正在应用的awk的来源(ls -l /bin/awk) awk是一款强大的报告日志生成处理工具,不同于sed和grep,它的侧重点是如何把文本信息更好的展

Linux中使用ps、awk、sh一起批量杀死所有的dotnet进程。

一.操作 Linux中使用ps.awk.sh一起批量杀死所有的dotnet进程. 二.命令 ps -ef|grep dotnet|awk 'NR==2{print "kill "$2}'|sh 说明: NR表示行号是第二行.$2表示是ps进程列表中的第2列. 三.如图

跟马哥学linux (lesson 8)awk & sed功能总结

一.awk 1.什么是awk awk 是一种程序语言. 它具有一般程序语言常见的功能.  因awk语言具有某些特点, 如 : 使用直译器(Interpreter)不需先行编译; 变量无类型之分(Typeless), 可使用文字当数组的下标(Associative Array)...等特色. 因此, 使用awk撰写程序比起使用其它语言更简洁便利且节省时间. awk还具有一些内建功能, 使得awk善于处理具数据行(Record), 字段(Field)型态的资料; 此外, awk内建有pipe的功能,

走进Linux之systemd启动过程

Linux系统的启动方式有点复杂,而且总是有需要优化的地方.传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方式,宣称弥补了以传统Linux SysV init为 基础的系统的缺点.在这里我们将着重讨论systemd的特性和争议,但是为了更好地理解它,也会看一下通过传统的以SysV init为基础的系统的Linux启动过程是什么样的.友情提醒一下,syst