Shell
memoryqiu
这个作者很懒,什么都没留下…
展开
-
[Shell基础] shell 入门
1. 为什么要使用Shell脚本使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象 缺点:它们的效率通常不如编译型语言。 优点: 简单性: Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。 可移植性: 使用POSIX所定义的功能,可以做到脚本无需修改就可在不同的系统上执行 开...原创 2018-03-19 19:20:01 · 265 阅读 · 0 评论 -
[Shell] shell脚本操作mysql数据库
本文转载自: https://www.cnblogs.com/clover-siyecao/p/5591992.htmlshell脚本操作mysql数据库使用 mysql -e 参数可以执行各种 sql 的各种操作语句。不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法。格式:mysql -hhostname -Pport -uusername -...原创 2018-05-18 12:24:12 · 2525 阅读 · 0 评论 -
[Shell循环] while 语句
while循环用于不断执行一系列命令,通常为测试条件。#!/bin/shn=1while(( $n<=6 ))do echo $n let "n++"done使用中使用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量,具体可查阅:Bash let 命令#!/bin/bashn=1while [...原创 2018-03-21 15:54:30 · 481 阅读 · 0 评论 -
[Shell循环] for循环的常用写法
转载自:http://blog.csdn.net/BabyFish13/article/details/52981110第一类:数字性循环for1-1.sh#!/bin/bash for((i=1;i<=10;i++)); do echo $(expr $i \* 3 + 1); done for1-2.sh#!/bin/bash ...转载 2018-03-21 14:53:49 · 1267 阅读 · 0 评论 -
[Shell命令] test 命令:检查某个条件是否成立
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真实例演示:num1=100num2...原创 2018-03-21 14:44:03 · 824 阅读 · 0 评论 -
[shell] 部分命令缩写全称
cd: change directorychmod: change modechown: change ownerrm: removesed: stream editorssh: secure shellwc: word countdf: disk freedu: disk usagesudo: superuser dosu: substitude user 或 switch ...原创 2018-05-20 11:06:51 · 742 阅读 · 0 评论 -
Crontab定时任务配置
crontab的任务调度 crontab文件的含义: 用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command在以上各个字段中,还可以使用以下特殊字符: 星号(*):代表所有可能的值,例如month字段如果是星号...原创 2018-05-15 17:00:25 · 933 阅读 · 0 评论 -
[Shell基础] 字符串:定义、拼接和提取子字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。(1)单引号str='this is a string'单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。(2)双引号your_na...原创 2018-05-16 14:48:43 · 2445 阅读 · 0 评论 -
[shell基础] shell 脚本第一行注释 #!/bin/bash
1 #!/usr/bin/env bash通过/usr/bin/env 运行程序,用户不需要去寻找程序在系统中的位置(因为在不同的系统,命令或程序存放的位置可能不同),只要程序在你的$PATH中; 通过/usr/bin/env 运行程序另一个好处是,它会根据你的环境寻找并运行默认的版本,提供灵活性。 不好的地方是,有可能在一个多用户的系统中,别人在你的$PATH中放置了一个bash,可能出...原创 2018-05-16 17:10:55 · 1991 阅读 · 0 评论 -
[shell基础] shell文件的执行方式
sh文件介绍.sh为Linux的脚本文件,我们可以通过.sh执行一些命令点命令.命令和source是同一个命令,可以理解为source的缩写,简称点命令。假如有一个文件test.sh,脚本内容如下#!/bin/bashecho "step 1 sleeping"sleep 200echo "step 2 sleeping"sleep 200那么,现在按以下4种方...原创 2018-05-16 17:14:09 · 402 阅读 · 0 评论 -
[Shell命令] tar -cvf -xvf 压缩解压文件夹
压缩文件夹 xiaoq,命名为xiaoq.tar tar -cvf xiaoq.tar xiaoq/解压文件夹 tar -xvf xiaoq.tar原创 2018-05-16 17:15:57 · 67899 阅读 · 1 评论 -
[Shell基础] 执行脚本并输出日志文件
shell 错误输出重定向到标准输出 /tmp/test.sh > /tmp/test.log 2>&1>和<是文件重定向符。那么1和2是什么? 在shell中,每个进程都和三个系统文件相关联:标准输入stdin标准输出stdout标准错误stderr三个系统文件的文件描述符分别为0,1和2。 所以这里2&g原创 2018-05-16 17:20:47 · 98063 阅读 · 0 评论 -
[Shell习题] 常见题系列一
1 如何向脚本传递参数 ?./script argument 例子: 显示脚本文件名称./show.sh file1.txt #file1.txt为输入参数cat show.sh#!/bin/bashecho $12 如何在脚本中使用参数 ?第一个参数 : $1,第二个参数 :$2 例子 : 脚本会复制文件(arg1) 到目标地址(arg2)./copy...原创 2018-05-24 10:47:08 · 281 阅读 · 0 评论 -
[Shell习题] 常见题系列二
1 举例如何写一个函数 ?$ cat test2.sh#!/bin/bashfunction f(){echo "hello world"}f #函数调用f #函数连续调用两次# 输出:hello worldhello world2 如何连接两个字符串 ?$ a="hello"$ b="world"$ echo $a$bhelloworld...原创 2018-05-24 18:00:49 · 807 阅读 · 0 评论 -
[Shell习题] 常见题系列三
1 bash shell 脚本中哪个符号用于注释 ?#2 “>” 做什么 ?重定向输出流到文件或另一个流。3 如何在脚本文件中重定向标准输出和标准错误流到 log.txt 文件 ?在脚本文件中添加 exec >log.txt 2>&1 命令。4 echo ${variable:x:y}x - 起始位置 #从位置0开始计算 y - 长度...原创 2018-05-24 18:15:16 · 518 阅读 · 0 评论 -
[shell日期相关] 日期格式变换、生成带日期的文件名
在shell开发中,获取日期的方法获取当前日期:today=date +"%Y-%m-%d"获取昨天的日期:yesterday=date -d "-1 day" +"%Y-%m-%d"获取指定日期前N天的日期:date=date -d "$date -3 day" +"%Y-%m-%d" 其中$date 表示指定的日期原创 2018-05-17 11:00:00 · 8021 阅读 · 1 评论 -
[Shell条件判断] if else判断
if … else#!/bin/sha=10b=20if [ $a == $b ] # if与[ ]有空格,"[" 、 "]"与字符都有空格then echo "a is equal to b"else echo "a is not equal to b"fiif … elif … fi 语句可以对多个条件进行判断#!/bin/sh原创 2018-03-21 15:48:33 · 1523 阅读 · 0 评论 -
[Shell基础] 变量:定义、使用和删除变量
1. 定义变量定义变量时,变量名不加美元符号($),如:your_name="runoob.com"注意,变量名和等号之间不能有空格。2. 使用变量使用一个定义过的变量,只要在变量名前面加美元符号即可,如:your_name="qinjx"echo $your_nameecho ${your_name}原创 2018-03-19 19:35:10 · 329 阅读 · 0 评论 -
[Shell基础] 数组:定义、读取数组和获取数组长度
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。 类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。定义数组在Shell中,用括号来表示数组,数组元素用”空格“符号分割开。定义数组的一般形式为: 数组名=(值1 值2 … 值n) 例如: array_name=(value0 value1 val...原创 2018-03-19 19:42:23 · 6627 阅读 · 0 评论 -
[Shell基础] 向脚本传递参数
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。 n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:#!/bin/bashecho "Shell 传递参数实例!";echo "执行的文件名:$0";echo &原创 2018-03-19 20:56:37 · 1920 阅读 · 0 评论 -
[Shell基础] 文件包含外部脚本
Shell 可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。 Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间有一空格或 source filename 实例 创建两个 shell 脚本文件。 test1.sh 代码如下:#!/bin/bashurl="http://www.baidu.com"tes...原创 2018-03-19 21:09:13 · 414 阅读 · 0 评论 -
[Shell命令] cat 命令:查看文件的内容
cat命令一个文本输出命令,通常是用于观看某个文件的内容的; cat主要有三大功能: 1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件。$cat file1 file2 > filecat具体命令格式为 :...原创 2018-03-19 21:31:04 · 6339 阅读 · 0 评论 -
[Shell命令] chmod 命令:控制文件如何被调用
Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。 利用 chmod 可以控制文件如何被他人所调用实例1. 将文件 file1.txt 设为所有人皆可读取 :chmod ugo+r file1.txt 或者 chmod a+r file1.txt2. 将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其...原创 2018-03-19 21:41:03 · 903 阅读 · 0 评论 -
[Shell命令] mv 命令:更名或移动文件
Linux mv命令用来为文件或目录改名、或将文件或目录移入其它位置。mv参数设置与运行结果 命令格式 运行结果 mv 文件名 文件名 将源文件名改为目标文件名 mv 文件名 目录名 将文件移动到目标目录v mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名 mv 目录名 文件名 出错实...原创 2018-03-20 10:23:05 · 7294 阅读 · 0 评论 -
[Shell命令] rm 删除文件或目录& cp 复制文件或目录
Linux rm命令用于删除一个文件或者目录。语法 rm [options] name… 参数: -i 删除前逐一询问确认。 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 -r 将目录及以下之档案亦逐一删除。 实例1. 删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"$ rm test.txt 2. $ rm testdr rm: 无法删除...原创 2018-03-20 10:37:22 · 20140 阅读 · 0 评论 -
[Shell命令] 基本命令汇总
1.pwd显示当前目录2.cd 进入目录, cd / 进入根目录 ,cd workspace 进入workspace目录, cd ..进入到父目录, cd .进入当前目录(一个’点’符号)cd ~进入到用户主目录 home/usernam3.ls显示当前文件,ls -l显示当前文件详细信息 -rw-r–r– 1 admin None 27 三月 5 10:21 mytest1 -rw...原创 2018-03-20 11:03:42 · 256 阅读 · 0 评论 -
脚本文件dos格式转unix格式
执行shell脚本时提示bad interpreter:No such file or directory的解决办法问题原因:因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。脚本文件是DOS格式的 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.解决方法:可以有很多种办法看这个文件是DOS格式的还是UNIX格...原创 2018-03-20 11:13:00 · 2617 阅读 · 0 评论 -
[Shell命令] sed 命令:替换、删除、新增、选取文本
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为:sed [选项] ‘命令’ 输入文本 sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般sed 的用法中,所有来自 STDIN的资料一般都...原创 2018-03-20 21:39:21 · 6771 阅读 · 0 评论 -
[Shell命令] awk & cut 提取字段
1. awk假设现有文件test1,内容如下:name=xiaomingpasswd=123456要从中提取出用户名和密码:# 提取用户名cat test1 | grep 'name' | awk -F '=' '{print $2}'# 提取密码cat test1 | grep 'passwd' | awk -F '=' '{print $2}'cat tes...原创 2018-03-20 11:46:26 · 9236 阅读 · 0 评论 -
[Shell命令] sort -u删除重复行
在使用sort命令以默认的式对文件的行进行排序,使用的命令如下:sort testfile sort 命令将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出。$ cat test1 # test1文件原有排序 testtesttesthelloworldworldhellohello$ sort test1 #排序结果 ...原创 2018-03-19 21:57:07 · 10428 阅读 · 1 评论 -
[Shell命令] echo 命令:字符串输出
echo 用于字符串的输出。命令格式: echo string 您可以使用echo实现更复杂的输出格式控制。1.显示普通字符串:echo “It is a test” 这里的双引号完全可以省略,以下命令与上面实例效果一致: echo It is a test2.显示转义字符echo “\”It is a test\”” 结果将是: “It is a test” ...原创 2018-03-19 19:57:51 · 4106 阅读 · 0 评论 -
[Shell命令] find 命令:查找文件
1.按照文件名查找(1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找,-iname,会忽略大小写(2)find /etc -name httpd.conf #在/etc目录下文件httpd.conf(3)find /etc -name '*srm*' #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中...原创 2018-03-20 21:55:52 · 6585 阅读 · 0 评论 -
[Shell习题] 常见题系列四
1 如何获取传递给脚本的参数数目 ?echo $#2 如何在 bash 中定义数组 ?array=("Hi" "my" "name" "is") #可以加引号,也可以不加3 如何打印数组的第一个元素 ?echo ${array[0]}4 如何打印数组的所有元素 ?echo ${array[@]}5 如何输出所有数组索引 ?echo ${!ar...原创 2018-05-24 18:20:05 · 160 阅读 · 0 评论