几种常见的Shell 发布时间: 2022-05-04 10:54:04 评论数: 0
上面提到过,Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本。Linux上常见的Shell脚本解释器有bash、sh、ash、csh、ksh,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。bashbash是Linux系统默认使用的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。Linux使用它作为默认的shell是因为它有诸如以下的特色: 可以使用类似DOS下面的doskey的功能,用方向键查阅和快速输入并修改命令。 自动通 ......
Shell变量 发布时间: 2022-05-01 14:13:44 评论数: 0
Shell支持自定义变量。定义变量定义变量时,变量名不加美元符号($),如:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。 使用变量使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如:your_name="tom" echo $your_name echo ${your_name}变量 ......
shell脚本kill掉mysql锁表进程 发布时间: 2022-04-29 14:46:21 评论数: 0
今天发现服务器上的mysql出现锁表了,show processlist后发现好多都是因为写进session才锁表的,看到这个想起了会不会是硬盘空间不够了,马上查看了服务器硬盘空间,发现都100%了,马上清理硬盘空间,清理完后,还要杀掉mysql里锁表的进程,网上搜了个shell脚本来kill锁表的进程.1.下面是脚本内容:cat /root/soft_shell/mysql_sleep_kill.sh#!/bin/bash >/root/locked_log.txt >kill_thread_id.sql mysql -u root -e "show proces ......
Shell until循环 发布时间: 2022-04-27 00:07:18 评论数: 0
until循环执行一系列命令直至条件为真时停止。until循环与while循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。until循环格式为: until 条件     command1     command2     ...     commandN done 条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。 ......
Shell if else语句 发布时间: 2022-04-25 09:58:28 评论数: 0
和Java、PHP等语言不一样,sh的流程控制不可为空,如:<?php if (isset($_GET["q"])) { search(q); } else { //do nothing } ?>在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样:if condition then command1 command2 ... commandN fi当然,也可以写成一行(适用于终端命令提示符),像这样:if test $[2*3] -eq $[1+5]; ......
Shell脚本语言与编译型语言的差异 发布时间: 2022-04-22 13:15:42 评论数: 0
大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言。编译型语言很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。运行程序时,直接读取目标代码(object code)。由于编译后的目标代码(object code)非常接近计算机底层,因此执行效率很高,这是编译型语言的优点。但是,由于编译型语言多半运作于底层,所处理的是字节、整数、浮点数或是其他机器层级的对象,往往实现一个简单的功能需要大量 ......
Shell test命令 发布时间: 2022-04-19 16:15:18 评论数: 0
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真 例如:num1=100 num2=100 if ......
第一个Shell脚本 发布时间: 2022-04-18 00:21:29 评论数: 0
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。输入一些代码:#!/bin/bash echo "Hello World !"“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。运行Shell脚本有两种方法。作为可执行程序将上面的代码保存为test.sh,并cd到相应目录:chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本注意,一定要写成./test ......
Shell字符串 发布时间: 2022-04-16 20:33:07 评论数: 0
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。单引号str='this is a string'单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。 双引号your_name='qinjx' str="Hello, I know your are \"$your_name\"! \n"双引号的优点: 双引号里可以有变量 双引号里可以出现转义字符 ......
CentOS6最小化安装初始化系统基础环境脚本+Linux内核参数简解 发布时间: 2022-04-14 10:24:49 评论数: 0
#!/bin/bash cat << EOF +---------------------------------------------------------------------------+ | Initialize for the CentOS 6_installed. | +---------------------------------------------------------------------------+ EOF function format() { #sleep 1 #echo -e "\033[42;37m ####### ......
一堆SHELL脚本 发布时间: 2022-04-12 12:15:14 评论数: 0
本文收集了一堆的SHELL脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的。关于这些技巧的出处,诶,我也忘了,可能来自theunixschool、 commandlinefu、酷勤网和igigo.net,当然了,也有部分是我自己的经验心得,管他呢,进了我的脑子就是我的了。0. shell 调试 sh -x somefile.sh 在somefile.sh 文件里加上set+x set-x 1. 用 && || 简化if elsegzip -t a.tar.gz if [[ 0 == $? ......
Shell函数 发布时间: 2022-04-09 07:24:07 评论数: 0
本教程目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数。shell中函数的定义格式如下: 函数名(){     command1     command2     ...     commandN     [ return value ] }如果愿意,可在函数名前加上关键字function,这取决于使用者。 function 函数名(){     command1     command2     ...     commandN     [ return value ......
为Shell传递参数 发布时间: 2022-04-07 07:28:38 评论数: 0
我们可以在执行 Shell 脚本时,可以向脚本传递参数。脚本内获取参数的格式为:$n。(n 代表一个数字,0为所执行的shell脚本名称,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……)我们先编写一个脚本,名字为test.sh,她的内容如下:#!/bin/bash echo "Shell 输出脚本名称及参数"; echo "执行的脚本名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3";我们再给脚本赋予运行权限后,运行输出:$ chmod +x test.sh $ ./test.sh 1 ......
第十二章 学习 shell脚本之前的基础知识 发布时间: 2022-04-05 08:26:30 评论数: 0
日常的linux系统管理工作中必不可少的就是SHELL脚本,如果不会写shell脚本,那么你就不算一个合格的管理员。目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目。有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富。笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要不断的练习,只要你shell脚本写的好,相信你的linux求职路就会轻松的多。笔者在这一章中并不会多么详细的介绍shell脚本,而只是带你进入shell脚本的世界,如果你很感兴趣那么请到网上下载相关的资料或者到 ......
SHELL 分析日志 发布时间: 2022-04-02 03:54:29 评论数: 0
列出当天访问次数最多的IP命令:cut -d- -f 1 /usr/local/apache2/logs/access_log |uniq -c | sort -rn | head -20 原理:        cut        -d, --delimiter=DELIM               use DELIM instead of TAB for field delimiter               表示用-分割,然后-f 1         -f, --fields=LIST               select only these fields; ......
给Linux服务器或VPS增加防CC攻击脚本 支持白名单过滤 发布时间: 2022-03-30 19:51:26 评论数: 0
此脚本对使用了CDN的网站无效,对使用了反向代理的网站也不太适合#!/bin/bash #从第一个参数取得限制阈值,如果未设置最高并发,将设置为100 if [[ -z $1 ]];then num=100 else num=$1 fi #进入到脚本所在目录 cd $(cd $(dirname $BASH_SOURCE) && pwd) #取得当前请求大于阈值$num的IP列表 iplist=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+ ......
linux中shell编程之date用法 发布时间: 2022-03-28 17:46:28 评论数: 0
使用date命令转换基础时间秒为年月日: 命令为: date -d @1281161747 注意一定不要忘记符号“@”#date 获取当前时间 #date -d "-1 week" +%Y%m%d 获取上周日期(day,month,year,hour) #date --date="-24 hour" +%Y%m%d 同上 date_now=`date +%s` shell脚本里面赋给变量值 %% 输出%符号 %a 当前域的星期缩写 (Sun..Sat) %A 当前域的星期全写 (Sunday..Saturday) %b 当前域的月份缩写(Jan..Dec) %B 当前域的月份全 ......
Shell for循环 发布时间: 2022-03-26 09:30:26 评论数: 0
与其他编程语言类似,Shell支持for循环。for循环一般格式为:for 变量名 in 列表 do command1 command2 ... commandN done当变量值在列表里,for循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的shell命令和语句。in列表可以包含替换、字符串和文件名。in列表是可选的,如果不用它,for循环使用命令行的位置参数。例如,顺序输出当前列表中的数字:for loop in 1 2 3 4 5 do echo "The value is: $loop" ......
markov算法 发布时间: 2022-03-25 00:54:18 评论数: 0
1. 问题描述马尔可夫链算法用于生成一段随机的英文,其思想非常简单。首先读入数据,然后将读入的数据分成前缀和后缀两部分,通过前缀来随机获取后缀,籍此产生一段可读的随机英文。为了说明方便,假设我们有如下一段话: Show your flowcharts and conceal your tables and I will be mystified. Show your tables and your flowcharts will be obvious.假设前缀的长度为2,则我们处理输入以后得到如下数据,我们首先获取一个前缀,然后在前缀的后缀列表中随机选择一个单词,然后改变 ......
Shell case语句 发布时间: 2022-03-22 09:06:06 评论数: 0
Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:case 值 in 模式1) command1 command2 ... commandN ;; 模式2) command1 command2 ... commandN ;; esaccase工作方式如上所示。取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。取值 ......


友情链接: php5000技术知识分享 github 码云 开源中国 csdn linux中国 阿里云 unix技术网 composer中文网 php packagist php python 安卓软件 大众源码 DevStore 猪八戒威客网 人人都是产品经理 PHPwind论坛 互联网的一些事 新客网 黑马程序员 火星时代 hao123it ThinkSNS 开源社区 51CTO学院 办事儿网 IT论坛 java教程 最代码 程序员客栈 大数据培训 小程序开发 微信小程序 php开发新闻 微信小程序 java学习 微信小程序 Linux书籍 网站ip流量 xw素材网 新浪云 腾讯云 华为云 百度 新浪 网易 淘宝 腾讯 1688 搜狐 优酷 房天下 hao123 携程 天涯社区