技术栈
文章平均质量分 87
技术栈
Dreamhai
尊重是靠自己争取来的,未来是靠自己拼搏来的!
展开
-
nginx学习 3: Nginx 核心配置详解
一 . 结构说明说明:main: 配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。event: 配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。http: 可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type原创 2021-01-01 14:23:43 · 250 阅读 · 0 评论 -
Nginx 学习 2: nginx进程模型
一. 概述nginx有两类进程,一类称为master进程(相当于管理进程),另一类称为worker进程(实际工作进程)。启动方式有两种:单进程启动:此时系统中仅有一个进程,该进程既充当master进程的角色,也充当worker进程的角色。多进程启动:此时系统有且仅有一个master进程,至少有一个worker进程工作。master进程主要进行一些全局性的初始化工作和管理worker的工作;事件处理是在worker中进行的。首先简要的浏览一下nginx的启动过程,如下图:二. 实现原理这原创 2021-01-01 10:51:46 · 493 阅读 · 0 评论 -
ubuntu安装nginx与卸载
一. 安装nginx1. 前言安装nginx 主要有2种方式:1. 直接使用 sudo apt-get install nginx2. 使用源码的形式安装本次主要记录的是使用源码安装.2. 下载nginx源码a. nginx官网下载地址: >>nginx官网<<b . 使用wget 下载源码wget http://nginx.org/download/nginx-1.19.6.tar.gz3. 准备安装环境由于nginx是纯c写的, 需要安装c语言的编译环境原创 2020-12-31 17:49:44 · 792 阅读 · 0 评论 -
Nginx在Linux下常用的命令
一、命令说明选项说明-?,-h帮助命令-v查看版本号-V查看版本号和配置选项(可用类查看已安装的所有模块)-t测试配置文件是否正确-T测试nginx.conf文件是否存在语法错误-q优雅停止nginx,有连接时会等连接请求完成再杀死worker进程-s signal发送信号给主进程,信号有: stop, quit, reopen, reload-p prefix设置前缀路径 (默认路径: /usr/local/nginx/)原创 2020-12-31 16:21:22 · 503 阅读 · 0 评论 -
Nginx安装时:安装zlib1g-dev时提示“E: 无法定位软件包 zliblg-dev“的原因
起因安装zlig1g-dev 依赖包时: sudo apt-get install zliblg-dev安装失败发现zlig1g-dev中的第5个字母不是l,而是阿拉伯数字1解决输入sudo apt-get install zlib1g-dev即可解决问题原创 2020-12-30 22:20:00 · 2266 阅读 · 4 评论 -
Linux命令大全: cat命令 – 在终端设备上显示文件内容
1. 详情Linux系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?注意:当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按Ctrl+S键,停止滚屏;以及Ctrl+Q键可以恢复滚屏;而按Ctrl+C(中断)键则可以终止该命令的执行。或者对于大文件,干脆用more命令吧!语法格原创 2020-12-25 10:31:55 · 1042 阅读 · 0 评论 -
Linux命令大全: nohup命令 – 后端运行程序
nohup命令的全称为“no hang up”,该命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述原创 2020-12-25 10:23:51 · 629 阅读 · 1 评论 -
shell基础教程25: Shell字符串截取(最详细的教程,看完这篇可以弄懂整个原理)
Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。一.从指定位置开始截取这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串。既然需要指定起始位置,那么就涉及到计数方向的问题,到底是从字符串左边开始计数,还是从字符串右边开始计数。答案是 Shell 同时支持两种计数方式。1. 从字符串左边开始计数如果想从字符串的左边开始计数,那么截取字符串的具体格式如下:${string: start :length}其中,string原创 2020-12-24 09:49:37 · 2137 阅读 · 0 评论 -
Linux命令大全: mkdir命令 - 创建目录
1. 详解mkdir命令是“make directories”的缩写,用来创建目录。注意:默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。mkdir命令还可以同时创建多个目录,是不是很强大呢?语法格式 : mkdir [参数] [目录]常用参数:参数说明-p递归创建多级目录-m建立目录的同时设置目录的权限-z设置安全上下文-v显示目录的创建过程2.原创 2020-12-24 09:12:59 · 4104 阅读 · 0 评论 -
Shell 基础学习大全 2021 (一天就可以学会Shell编程)
1. Shell基础学习序号文章名简要说明1shell 基础教程一、shell简介1. 对shell的一些基础介绍 2. 集中常用的shell 3.如何查看系统支持的shell 4. 编写第一个shell脚本 5. shell常用的特殊符2shell 基础教程二、变量1. 变量如何定义? 2. 变量如何使用? 3. 如何正确的命名变量? 4. 变量的常用操作:制度变量,删除变量,变量类型 5. 单引号和双引号的区别3Shell 基础教程三、Shell原创 2020-12-24 08:51:00 · 518 阅读 · 0 评论 -
shell基础教程二十四: shell基础教程: Shell文件包含
像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。Shell 中包含脚本可以使用:. filename或source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下:url="http://see.xidian.edu.cn/cpp/view/2738.html"一个是主文件 main.sh,内容如下:#!/bin/bash原创 2020-12-24 08:50:42 · 187 阅读 · 0 评论 -
shell基础教程二十三: shell中常用的特殊符整理
1. shell特殊字符字符描述\a铃声字符\d格式为“日 月 年”的日期\eASCII转义字符\h本地主机名\H完全合格的限定域主机名\jshell当前管理的作业数\1shell终端设备名的基本名称\nASCII换行字符\rASCII回车\sshell的名称\t格式为“小时:分钟:秒”的24小时制的当前时间\T格式为“小时:分钟:秒”的12小时制的当前时间@格式为am/pm的12小时制的原创 2020-12-24 08:50:12 · 368 阅读 · 0 评论 -
shell基础教程二十二:read命令的读取
接收键盘或其它文件描述符的输入。read 命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中。read 命令格式如下:read [选项] [变量名]选项:-p:“提示信息”:在等待read输入时,输出提示信息;-t:秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间;-n:字符数:read命令只接收指定的字符数就会执行;-s:隐藏输入的数据,适用于机密信息的输入;更详细的命令说明,请查看《Linux命令:read-单行原创 2020-12-24 08:49:30 · 1025 阅读 · 0 评论 -
shell基础教程二十一: shell脚本中echo显示内容带颜色
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m 字符串 \033[ 属性效果" 例如:echo -e "\033[41;36m something here \033[0m" 脚本说明:其中41的位置代表底色, 36的位置是代表字的颜色 注: 1、字背景颜色和文字颜色之间是英文的"" 2、文字颜色后面有个m 3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 1. 文原创 2020-12-24 08:49:14 · 443 阅读 · 0 评论 -
shell基础教程 十七: Shell break和continue命令
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用break 和 continue 来跳出循环。break命令break命令允许跳出所有循环(终止执行后面的所有循环)。下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,就要使用break命令。#!/bin/bashwhile :do echo -n "Input a number between 1 to 5: " read aNum原创 2020-12-23 14:57:26 · 388 阅读 · 0 评论 -
shell基础教程 十六: Shell until循环
until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。until 循环格式为:until commanddo Statement(s) to be executed until command is truedonecommand一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。例如,使用 un原创 2020-12-23 14:52:47 · 365 阅读 · 0 评论 -
Shell基础教程十五:Shell while循环
while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:while commanddo Statement(s) to be executed if command is truedone命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么返回true。COUNTER从0开始,每次循环处理时,COUNTER加1。运行上述脚本,返回数字1到5,然后终止。COUNTER=0原创 2020-12-23 11:36:49 · 387 阅读 · 0 评论 -
Shell基础教程十四: Shell for循环
与其他编程语言类似,Shell支持for循环。for循环一般格式为:for 变量 in 列表do command1 command2 ... commandNdone列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。例如,顺序输出当前列表中的数字:for loop in 1 2 3 4 5do echo "The value is原创 2020-12-23 11:25:24 · 329 阅读 · 0 评论 -
Shell基础教程十三:Shell case esac语句
case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:case 值 in模式1) command1 command2 command3 ;;模式2) command1 command2 command3 ;;*) command1 command2 command3原创 2020-12-23 11:22:35 · 2109 阅读 · 0 评论 -
Shell基础教程十二: Shell test命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真例如:num1=100num2=100if test $[num1] -eq $[num2]then echo 'The two numbers are equal!'else echo 'Th原创 2020-12-23 11:18:17 · 215 阅读 · 0 评论 -
Shell基础教程十一: Shell if else语句
if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if … else 语句:if … fi 语句;if … else … fi 语句;if … elif … else … fi 语句。1. if ... else 语句if ... else 语句的语法:if [ expression ]then Statement(s) to be executed if expression is truefi如果 expression 返回 true,then原创 2020-12-23 11:08:48 · 830 阅读 · 0 评论 -
Shell基础教程十: shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。如同 echo 命令,printf 命令也可以输出简单的字符串:$printf "Hello, Shell\n"Hello, Shell$printf 不像 echo 那样会自动换行,必须显式添加换行符(\n)。printf 命令的语法:printf format-string原创 2020-12-23 11:02:02 · 3872 阅读 · 1 评论 -
Shell基础教程九:Shell echo命令 、shell输出颜色代码
echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式:echo arg您可以使用echo实现更复杂的输出格式控制。显示转义字符echo "\"It is a test\""结果将是:"It is a test"双引号也可以省略。显示变量name="OK"echo "$name It is a test"结果将是:OK It is a test同样双引号也可以省略。如果变量与其它字符相连的话,需要使用大括号({ }):mouth=8echo "$原创 2020-12-23 10:56:37 · 406 阅读 · 1 评论 -
Shell基础教程八: Shell数组:shell数组的定义、数组长度
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。定义数组在Shell中,用括号()来表示数组,数组元素用空格符号分割开。定义数组的一般形式为:array_name=(value1 … valuen)例如:array_name=(value0 value1 value2 value3)或者原创 2020-12-21 22:34:26 · 795 阅读 · 0 评论 -
Shell基础教程七:Shell字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。单引号str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。双引号your_name='qinjx'str="Hello, I know your are \"$your_name\"! \原创 2020-12-21 22:28:49 · 243 阅读 · 0 评论 -
Shell基础教程六:Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加:#!/bin/bashval=`expr 2 + 2`echo "Total value : $val"运行脚本输出:Total value : 4两点注意:表达式和运算符之间要有空格,例如 2+2原创 2020-12-21 22:20:37 · 259 阅读 · 0 评论 -
Shell基础教程五、Shell替换:Shell变量替换,命令替换,转义字符
如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。举个例子:#!/bin/basha=10echo -e "Value of a is $a \n"运行结果:Value of a is 10这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:Value of a is 10\n下面的转义字符都可以用在 echo 中:转义字符含义\\反斜杠\a警报,响铃\b退格(原创 2020-12-21 21:59:39 · 1550 阅读 · 0 评论 -
Shell 基础教程三、Shell的特殊变量
变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$#传递给脚本或函数的参数个数。$*传递给脚本或函数的所有参数。$@传递给脚本或函数的所有参数。被双引号(原创 2020-12-21 21:47:46 · 237 阅读 · 0 评论 -
Shell 基础教程四、Shell注释
以#开头的行就是注释,会被解释器忽略。sh里没有多行注释,只能每一行加一个#号。只能像这样:#--------------------------------------------# 这是一个自动打ipa的脚本,基于webfrogs的ipa-build书写:# https://github.com/webfrogs/xcode_shell/blob/master/ipa-build# 功能:自动为etao ios app打包,产出物为14个渠道的ipa包# 特色:全自动打包,不需要输入任何参数原创 2020-12-20 21:29:41 · 241 阅读 · 0 评论 -
shell 基础教程二、变量
变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则。在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部分的编程语言不同。例如在 C/C++ 中,变量分为整数、小数、字符串、布尔等多种类型。当然,如果有必要,原创 2020-12-20 21:25:36 · 251 阅读 · 0 评论 -
Shell实战:创建sh脚本时自动生成头部注释信息
前言作为一个进场在Linux系统上写shell脚本的开发人员, 对每个shell脚本都要编写重复的头部信息.这是一个很麻烦的事情,所以,有什么办法,在新建.sh文件的时候自动生成头部注释信息吗??当然是有的. 一下介绍几种方式.都是可以使用的一、创建脚本时自动添加头部信息(全自动)在Home目录下,新建一个文件.vimrc文件. 内容如下:autocmd BufNewFile *.sh exec ":call AddTitleForShell()"function AddTitleFor原创 2020-12-20 11:49:54 · 3058 阅读 · 3 评论 -
shell 基础教程一、shell简介
文章目录前言参考一. 简介shcshtcshashbash查看 `Shell`二、第一个Shell脚本三、Shell 的提示符前言使用Linux好几年了.一直没有系统的来学过Shell脚本,零零散散的学了不少.但是使用的时候总是到处去找资料,所以趁此机会好好的系统的学习一遍Shell脚本的语法.记录所学.参考菜鸟教程: >>点击查看<<C语言中文网:>>点击查看<<Shell 在线工具:>>Shell 在线工具<<一.原创 2020-12-20 11:09:41 · 448 阅读 · 1 评论 -
超级牛逼的骚操作搞定GitHub龟速下载,让你从此告别抓狂.github提速骚操作
一. 超抓狂的GitHub龟速下载众所周知,GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,包括我之前推荐的诸多优秀的开源项目全部都是位于GitHub上。但是每当我们看到优秀的开源项目,准备去下(bai)载(piao)时,会发现git clone的速度异常之慢!就我个人而言,在我50M移动宽带的环境下,我克隆开源项目就没发现速度大于过20.00 KiB/s的时候,这简直太难受了。哪怕是搭建TZ 也解决不了龟速下载的问题.恶心的一批.小项目倒还好,我等几分钟无所谓;一旦项目庞大起来,原创 2020-11-26 21:09:53 · 2433 阅读 · 0 评论 -
Msys2添加鼠标右键,在当前目录打开
1.找到安装目录的msys2_shell.cmd文件,在开头添加set "_T=%cd%" ,用以把当前目录保存到_T变量set "_T=%cd%"2.找到安装目录的home/用户/.bashrc开头加上export _T=${_T//\\//} # 把反斜杠换位正斜杠export _T="/${_T/:/}"if [[ $_T == "" ]]; then export _T="/c/" fi echo "cd $_T"cd "$_T"3.打开注册.原创 2020-11-20 22:28:07 · 1050 阅读 · 0 评论 -
MSYS2 镜像使用帮助
获取基本组件包Permalink请访问该镜像目录下的 distrib/ 目录(x86_64、i686),找到名为 msys2-<架构>-<日期>.exe的文件(如 msys2-x86_64-20141113.exe),下载安装即可。pacman 的配置Permalink1. 编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加: Server = http://mirrors.ustc.edu.cn/msys2/mingw/i6862.原创 2020-11-20 16:31:33 · 395 阅读 · 0 评论 -
MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)
一、安装测试系统: windows 10首先需要msys2的安装包,可以去官网下载安装包官网地址: http://www.msys2.org/本次下载的是 msys2-x86_64-latest.exe注意:1. msys2不可以安装在FAT*分区2. msys2不能安装在win XP系统上指定好安装路径(一般D根目录即可)本人使用的是默认路径,win10的c盘,一路下一步就好。安装好后,不要直接运行,先配置,软件源,否则下载超级慢安装完成后点击完 成退出安装程序注意: 此处不原创 2020-11-20 15:31:03 · 11548 阅读 · 2 评论 -
MSYS2使用教程——更新升级提示error: failed to update core (unable to lock database)的解决方法
在运行pacman -Sy 时遇到了如下的报错,导致不能正常更新升级:$ pacman -Sy:: Synchronizing package databases...error: failed to update mingw32 (unable to lock database)error: failed to update mingw64 (unable to lock database)error: failed to update msys (unable to lock datab.原创 2020-11-20 11:18:40 · 5543 阅读 · 3 评论