] #-e 为检测目录或文件是否存在 !为取反 then mkdir -v /tmp/ echo 'ok' fi if else if [ $USER == 'root' ] then echo 'hey admin' else echo 'hey user' fi if elif else -eq $ ] #$1 $2 为传参后的变量 then echo "$1 eq $2" elif [ $ -le $ ] then echo "$1 lesseq $2" el…
正则表达式 正则表达式介绍 特殊字符 POSIX特殊字符 一.正则表达式介绍 正则表达式是一种文本模式匹配,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").它是一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串.将匹配的子串替换或者从某个字符串中取出某个条件的子串. 正则表达式就像数学公式一样,我们可以通过正则表达式提供的一些特殊字符来生成一个匹配对应字符串的公式,用此来从海量数据中匹配出自己想要的数据. 正则表达式是一个三方产品,被常用计算机语言广…
0.sed 常用内部命令 a 在匹配后面添加 i 在匹配前面添加 p 打印 d 删除 s 查找替换 c 更改 y 转换 N D P 下面用a来演示 1.sed 'a 追加内容' 文件 # sed 'a newaddcontent' t.txt1 the quick brown fox jumps over the lazy dog.newaddcontent2 the quick brown fox jumps over the lazy dog.newaddcontent3 the quick…
case 语法 read -p "num:" n case $n in ) echo haha ;; ) echo hehe ;; ) echo heiehi ;; *) echo '1 or 2' ;; esac 丈母娘.sh in #$1 为传进来的第一个参数 zmn|ZMN) echo 'hello zhangmuniang' ;; lzr|LZR) echo 'hello laozhangren' ;; lnn|LNN) echo 'hello laonainai' ;; *)…
1. for in ` #seq 生成从1到10 如果生成从10到1则写作 seq 10 -1 1 do echo $i done for in 也可以循环出字符串 for i in where is a will there is a way do echo "word:$i" done 2.双小括号 ;i<;i++ )) #2个小括号是为了做运算 do echo $i done 3.一个简单的测试主机是否在线的shell for ((;;)) do ping -c1 $ &a…
语法 awk  [options] [BEGIN] {program} [END] [file] 常用命令选项 -F fs 指定描绘一行中数据字段的文件分隔符 默认为空格 -f file 指定读取程序的文件名 -v var=value 定义awk程序中使用的变量和默认值 注意:awk 程序脚本由左大括号和右大括号定义.脚本命令必须放置在两个大括号之间.由于awk命令行假定脚本是单文本字符串,所以必须将脚本包 括在单引号内. awk程序运行优先级是: 1)BEGIN: 在开始处理数据流之前执行,可…
start () { echo "Apache start ...... [OK]" #return 0 可以写一个返回值,比如执行成功返回 0 } stop () { echo "Apache stop ...... [Fail]" } start #调用函数 直接写函数名即可 stop 实战 nginx 启动管理脚本 #!/usr/bin/env bash nginx_dir=/usr/local/nginx nginxd=$nginx_dir/sbin/ngi…
while中的5种条件 1.数学比较 read -p "Num :" num1 ] do echo 'greater' sleep done 2.字符串比较 read -p "enter the password:" pw while [ $pw != password ] do read -p "enter the password:" pw done echo 'welcome' 3.检测文件是否存在 while [ ! -e /tmp/te…
1.continue ;i<;i++)) do ];then continue fi echo $i done # ./continue.sh12346789 2.break ;i<;i++)) do ];then break fi echo $i done # ./break.sh1234 3.break的另外一个小例子 按q退出 for ((;;)) do read -p "char:" ch if [ $ch == 'q' ];then break else echo…
echo -n "login:"read username  #read后面直接使用一个变量用于接收输入的数据 echo -n "password:"read -s password    #-s表示不显示输入内容 echo "account: $username password: $password" 使用read -p 可以省去输入echo echo -n "login:"read username 可以用read -p…
分区 #!/usr/bin/env bash #fdisk /dev/sdb << EOF #n # # # #+600M #w #EOF 创建lvm pvcreate /dev/sdb /dev/sdc vgcreate vg01 /dev/sdb /dev/sdc lvcreate -n lv01 -L 10G vg01 mkfs.xfs /dev/vg01/lv01 mkdir /lvmvol mount /dev/mapper/vg01-lv01 /lvmvol/ 简单的显示内存使用率…
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. .命令格式 top [参数] Shell 2.命令功能 显示当前系统正在执行的进程的相关信息,包括进程ID.内存占用率.CPU占用率等 3.命令参数 -b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i<时间> 设置间隔时间 -u<用户名> 指定用户名 -p<进程号> 指定进程 -n<次数> 循环…
Shell脚本调用SQL文格式 1. 定义需要执行的SQL文,以及需要输出文件 OUTFILE=\${DATADIR}/\${FILENAME} SQLFILE=\${DATADIR}/check_tradedetail.sql 2. 设置需要执行的SQL文 echo -n " select tr.id || ',' || m.merchant_code || ',' || m.merchant_name || ',' || to_char(tr.trade_start_time, 'yyyy-…
原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S' 2015-01-19 16:24:58 把javascript 中的Date object 格式化成适合的字符串,很不方便,模拟shell中的格式 下面先用3段简单的代码来说明模拟函数中用到的特性 字符串的replace var a = '1234' undefined a.replace('1…
常见解压/压缩命令 tar文件格式解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) .gz文件格式解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName .tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName .bz2文件格式解压1:bzip…
1.编写hello world脚本 #!/bin/bash # 编写hello world脚本 echo "Hello World!" 2.通过位置变量创建 Linux 系统账户及密码 #!/bin/bash # 通过位置变量创建 Linux 系统账户及密码 #$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 useradd "$1" echo "$2" | passwd ‐‐stdin "$1" 3.备份日志 #!…
inux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式 df [选项] [文件] Shell 2.命令功能 显示指定磁盘文件的可用空间.如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示.默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示. 3.命令参数 必要参数: -a 全部文件系统列表…
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. 1. 命令格式 chmod [-cfvR] [—help] [—version] mode file 2. 命令功能 用于改变文件或目录的访问权限,用它控制文件或目录的访问权限. 3. 命令参数 必要参数: -c 当发生改变时,报告处理信息 -f 错误信息不输出 -R 处理指定目录以及其子目录下的所有文件 -v 运行时…
Linux中的find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限. 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统). 1.命令格式 find pat…
在Linux系统中, at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron(crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 : crontab 命令. 一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完…
watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行. 1.命令格式 watch[参数][命令] 2.命令功能 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令 3.命令参数 -n或--interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间. -d或—differences 用-d或—differences 选项watch 会…
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令.要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行…
SaltStack+Shell: salt-master的配置: #cat /etc/salt/master user: root auto_accept: True salt-minion的配置(支持多master的配置): #cat /etc/salt/minion #minion唯一标识 id: $minion_ip module_dirs: - /etc/salt/module master: - master1_ip - master2_ip - master3_ip 说明: 1./e…
参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while read NAME do echo $NAME page_article${NAME%\.htm}.php done 我是将所有的.htm修改了page_article{}.php文件 运行之后是对的,看到输出的结果是自己想要的,就将echo 替换为 mv即可.…
Shell中的getopts和getopt用法 1.getopts getopts(shell内置命令)不能直接处理长的选项(如:--prefix=/home等),getopts有两个参数,第一个参数是一个字符串,包括字符和":",每一个字符都是一个有效的选项,如果字符后面带有":",表示这个字符有自己的参数.getopts从命令中获取这些参数,并且删去了"-",并将其赋值在第二个参数中,如果带有自己参数,这个参数赋值在"optarg&…
第一种方式:hbase shell test.txt test.txt:list 第二种方式:<<EOF重定向输入 我们经常在shell脚本程序中用<<EOF重定向输入,将我们输入的命令字符串作为一个执行程序的输入,这样,我们就不需要在那个程序环境中手工输入命令,以便自动执行我们需要的功能.将hbase的命令嵌入到shell中,可以在shell中如下书写: -------------------------------------- hbase shell << EOF…
shell命令批量创建文件 [root@w212 test]# for count in `seq 9` ;do echo "$count" > a.2018050$count;done…
while循环,使您能够重复执行一组命令,直到某些条件发生.它通常用于当你需要反复操纵的变量值. 语法 while command do Statement(s) to be executed if command is true done 这里Shell命令进行计算.如果结果值是 true,给定语句被执行.如果命令为 false,那么没有语句将不执行,程序将跳转到done语句后的下一行. 例子: 下面是一个简单的例子,使用while循环显示数字0到9: #!/bin/sh a=0 while…
if...fi 语句的基本控制语句,它允许Shell有条件作出决定并执行语句. 语法 if [ expression ] then Statement(s) to be executed if expression is true fi Shell expression求值.如果结果值是true,给定statement被执行.如果 expression 为false ,则没有语句将不会被执行.大部分的时候,会使用比较操作符决策. 关注对括号和表达之间的空间.这个空间是强制性的,否则语法错误. 如…
Shell 基本运算符 算术运算符: 运算符 描述 例子 + Addition - Adds values on either side of the operator `expr $a + $b` will give 30 - Subtraction - Subtracts right hand operand from left hand operand `expr $a - $b` will give -10 * Multiplication - Multiplies values on…