安装软件
[root@localhost ~]yum install -y pcre [root@localhost ~]yum install -y pcre-devel [root@localhost ~]yum install -y openssl-devel [root@localhost ~]useradd nginx [root@localhost ~]passwd nginx [root@localhost ~]tar -vzxf nginx-1.11.3.tar.gz -C /usr/local [root@localhost ~]cd nginx-1.11.3/ [root@localhost nginx-1.11.3]# ./configure \ > --group=nginx \ > --user=nginx \ > --prefix=/usr/local/nginx \ > --sbin-path=/usr/sbin/nginx \ > --conf-path=/etc/nginx/nginx.conf \ > --error-log-path=/var/log/nginx/error.log \ > --http-log-path=/var/log/nginx/access.log \ > --http-client-body-temp-path=/tmp/nginx/client_body \ > --http-proxy-temp-path=/tmp/nginx/proxy \ > --http-fastcgi-temp-path=/tmp/nginx/fastcgi \ > --pid-path=/var/run/nginx.pid \ > --lock-path=/var/lock/nginx \ > --with-http_stub_status_module \ > --with-http_ssl_module \ > --with-http_gzip_static_module \ > --with-pcre [root@localhost nginx-1.11.3]# make &&make install
2.启动、重启、关闭
[root@localhost ~]/usr/local/nginx/sbin/nginx //启动 [root@localhost ~]/usr/local/nginx/sbin -s reload //重启 [root@localhost ~]/usr/local/nginx/sbin -s stop //关闭
3.实现systemd管理nginx
[root@localhost ~]vim /usr/lib/systemd/system/nginx.service [Unit] Description=Nginx Service [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop
使用方法
awk [options] 'scripts' file1,file2, ...
指定选项,指定报告格式化后的脚本,最后指定文件内容的来源;这表示它可以从多个文件中读取文本信息,之后根据所指定的脚本,将其格式化为特定格式,最后显示出来;脚本的格式一般分为两部分组成,如下:
awk [options] 'PATTERN {action}' file1,file2,...
脚本主要由PATTERN和action组成,PATTERN叫模式,这就意味着它并不是对文件中的每一行都进行处理,而仅仅是处理那些能够被模式匹配到的行。行匹配到以后就action,也就是做出相应处理,一般最常见的处理机制是打印出来。常用的打印命令有print和printf可以自定义显示格式,如显示的宽度,显示为字符串还是数值等。
-awk基本处理机制
一次从文件读取一行文本,awk会对其自动进行切片, 将每一行按字符串的分隔符进行切割。如这一行是this is test,它会默认使用空白字符放分隔符,不管空了几格,这样这一行就会分成四片,一片中保存一个单词,而这四片在awk中可以使用一个变量来引用,这个变量相关于脚本中的位置参数;
$1,$2...$0
-测试
[root@qingcheng-app3 lgp]# vim awk.txt this is a test this[root@qingcheng-app3 lgp]# awk '{print $1,$2}' awk.txt this is [root@qingcheng-app3 lgp]# awk '{print $1}' awk.txt this [root@qingcheng-app3 lgp]# awk '{print $2}' awk.txt is指定分隔符的选项用-F,如-F:,表示以冒号为分隔符。另外还可以指定输出分隔符,如下:
print item1,item2,...
示列
[root@qingcheng-app3 lgp]# awk '{print NF}' awk.txt
4
//显示一共有几个字段
[root@qingcheng-app3 lgp]# awk '{print NR}' awk.txt
1
//NR是绝对计数u,显示行号
用户自定义变量
gawk允许用户自定义自己的变量以便在程序代码中使用,变量名命名规则与大多数编程语言相同,只能使用字母、数字和下划线,且不能以数字开头。gawk变量名称区分字符大小写;要定义变量,只要在BEGIN模式中加入变量名等于变量值即可或在命令行中用-v选项定义变量
[root@qingcheng-app3 ~]# awk -v test="hello awk" 'BEGIN{print test}'
hello awk
[root@qingcheng-app3 ~]# awk 'BEGIN{var="variable testing";print var}'
variable testing
//在awk中打印变量值是不用加$$的,加$符是打印字段。后面不带文件,只是做一个简单的演示的时候常用BEGIN。另外,在{}中定义变量时,系统会识别为两个语句,要用分号隔开。
printf命令的使用格式
printf format, item1,item2,...
要点:
a、与print命令的最大不同是,print需要指定format
b、format用户指定后面每个item的输出格式
c、printf语句不会自动打印行符,如果需要换行,要加\n
format格式的指示符都以%开头,后面跟一个字符,如下:
%c:显示字符的ASCII码
%d,%i:十进制整数
%e,%E:科学计数法显示数值
%f:显示浮点数
%g,%G:以科学计数法的格式或浮点数的格式显示数值
%s:显示字符串
%u:无符号整数
%%:显示%本身
修饰符
N:显示宽度
-:左对齐,不用一时是右对齐
+:显示数值符号
示列:
awk -F: '{printf "%-15s, %-10s\n",$1 $3}' /etc/passwd
//显示$1和$2时,$1左对齐显示15个字符串,没有内容就显示空白,显示$3时用10个字符,换行显示。这里还会显示一个逗号,这里是-15s后面的逗号
awk -F:'{printf "%-5d\n",$3}' /etc/passwd
//以十进制显示每个用户的ID号,做对齐
awk 'BEGIN{print rand()}
awk 'BEGIN{strand();print rand()}' //配合使用strand()函数,才生成一个大于0小于1的随机数
awk 'BEGIN{strand();print int(100*rand())}'
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
linux下文本编辑器vim的使用方法(复制、粘贴、替换、行号、撤销、多文件操作)
网友评论