shell脚本

shell简介

三世轮回 提交于 2020-01-31 03:12:36
1、什么是shell: Shell(壳)是一种用C语言编写的程序(命令解释器),是连接用户和Unix/Linux内核的桥梁。 它的功能和windows的图形界面是一样的,只不过操作的形式不一样。 它通过建立文件的形式并行的运行多个程序,帮助用户完成很多工作。 Shell即是一种命令语言,也是一种程序设计语言。 作为命令语言的时候,shell的工作形式是交互式的,用户输入一行命令,shell根据命令内容给出用户反馈信息; 作为程序设计语言时,shell的工作形式是非交互式的,在它的程序语言中,提供了许多参数和变量,并具有在高级程序语言中才具有的控制结构(if case while ),但是,shell程序不需要编译,而是从脚本文件中读取一行命令,执行一行,所以又称为解释行语言。 linux操作系统结构主要体现的是:用户空间和内核空间之间进行信息交换时,系统调用起着关键性的作用。 shell在这里,上通各种应用程序(以文件的形式存放在磁盘中)下通系统调用,好像胶水一样,将各种小功能程序和内核粘了起来,并在粘的节点处开了个接口,这使得各种小功能程序可以通过这个接口协同工作,从而增强了各个程序的功能。我们也知道,Shell是可编程的,它可以执行符合Shell语法的文本,往往很短的代码就可实现非常强大的功能,原因是这些shell语句通常都对系统调用做了一层封装。 2

Bash Shell脚本

元气小坏坏 提交于 2020-01-31 00:37:45
echo 1. echo "It is $num" 等价于 echo It is $num 且$num为变量的值。 2. echo 'It is $num' 则代表了"It is $num"这个字符串。 来源: CSDN 作者: Chernyang 链接: https://blog.csdn.net/qq_42890800/article/details/104117558

shell编程-服务管理

会有一股神秘感。 提交于 2020-01-30 01:34:49
linux 服务的分类:rpm包默认安装的服务(httpd),源码包安装的服务(tomcat) 查询已安装的服务 rpm包安装的服务 chkconfig --list 查看服务自启动状态,可以看到所有rpm包安装的服务 源码包安装的服务 查看服务安装的位置,一般在/usr/local/下 rpm安装服务和源码包安装服务的区别 rpm安装服务和源码包安装服务的区别就是安装位置的不同 源码包安装在指定的位置,一般是在/usr/local/ rpm包安装在默认位置中 /etc/rc.d/init.d 注意: service命令只能启动rpm包安装的服务,无法启动源码包安装的服务,因为service启动时寻找的目录就是 /etc/rc.d/init.d/ rpm包安装服务的默认位置 /etc/init.d : 启动脚本的位置 /etc/sysconfig/ 初始化环境配置文件位置 /etc/ 配置文件的位置 /etc/xinetd.conf xinetd配置文件 /etc/xinet.d/基于xinetd服务的启动脚本 /var/lib 服务产生的数据放在这里 /var/log/ 日志 独立服务的启动 /etc/init.d/独立服务名 start |stop|status|restart service 独立服务名 start |stop | status| restart

python调用shell命令

时光怂恿深爱的人放手 提交于 2020-01-29 07:18:01
1.1 os.system(command) 在一个子shell中运行command命令,并 返回command命令执行完毕后的退出状态 。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。 1.2 os.popen(command,mode) 打开一个与command进程之间的管道。这个函数的 返回值是一个文件对象 ,可以读或者写(由mode决定,mode默认是’r')。如果mode为’r',可以使用此函数的返回值调用read()来获取command命令的执行结果。 os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。 1.3 commands.getstatusoutput(command)   使用 commands.getstatusoutput 函数执行command命令并 返回一个元组(status,output),分别表示command命令执行的返回状态和执行结果 。对command的执行实际上是按照{command;} 2>&1的方式,所以output中包含控制台输出信息或者错误信息。output中不包含尾部的换行符。 实例: >>>import commands >

Liunx学习笔记 - 07 - 03 shell script(shell脚本)

为君一笑 提交于 2020-01-29 04:47:37
Liunx学习笔记 - 07 - 03 shell script(shell脚本) 1 何为shell script shell script(程序化脚本)是利用shell的功能所写的一个程序,这个程序使用纯文本文件,将一些shell的语法和命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能,达到我们想要的处理目的。 所有的编程语言都是由Hello World引入的,所以写个Hello World的shell脚本看看。 vim sh01_HelloWorld.sh # vim新建并编辑sh01_HelloWorld.sh文件 敲入该文件内容如下: #!/bin/bash # Program: # This program shows "Hello World!" in your screen. # History: # 2019/12/30 by Mei Guanhua echo "Hello World!" exit 0 说明: 第一行#!/bin/bash说明该script使用的shell类型为bash,这一行必不可少,默认写法; 后面#开头的为注释行; echo "Hello World!"为主命令,即向屏幕输出Hello World!字符串; 最后一行exit 0的意思是结束程序,并输出个0,这个0给到了环境变量?里,即表明程序正确执行了,当然

shell编程基础

不羁岁月 提交于 2020-01-29 04:30:00
1.1 命名规则 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。 1.2 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号($)即可 加花括号是为了帮助解释器识别变量的边界,推荐给所有变量加上花括号,这是个好的编程习惯 已定义的变量,可以被重新定义 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变 使用 unset 命令可以删除变量, 不能删除只读变量 1.3 变量类型 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。 shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 1.4 Shell字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似 字符串的拼接 获取字符串长度 echo

Linux Shell常用技巧(五)

不打扰是莪最后的温柔 提交于 2020-01-28 19:25:40
十一. awk编程: 1. 变量: 在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义。变量的类型可以是数字、字符串。根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文。下面为变量的赋值负号列表: 符号 含义 等价形式 = a = 5 a = 5 += a = a + 5 a += 5 -= a = a - 5 a -= 5 *= a = a * 5 a *= 5 /= a = a / 5 a /= 5 %= a = a % 5 a %= 5 ^= a = a ^ 5 a ^= 5 /> awk '$1 ~ /Tom/ {Wage = $2 * $3; print Wage}' filename 该命令将从文件中读取,并查找第一个域字段匹配Tom的记录,再将其第二和第三个字段的乘积赋值给自定义的Wage变量,最后通过print命令将该变量打印输出。 /> awk ' {$5 = 1000 * $3 / $2; print}' filename 在上面的命令中,如果$5不存在,awk将计算表达式1000 * $3 / $2的值,并将其赋值给$5。如果第五个域存在,则用表达式覆盖$5原来的值。 我们同样也可以在命令行中定义自定义的变量,用法如下: /> awk -F: -f awkscript month=4 year=2011

UNIX SHELL基础知识总结(一)

让人想犯罪 __ 提交于 2020-01-28 17:12:47
1. Unix常目录结构与作用: 2. 基本命令 : $echo $date $who $who am i 3. 创建文件的几种方式 : A. touch FileName 创建空文件 B. > FileName 创建空文件 C. vi FileName 创建空文件并开始编辑其中内容 D. cat /dev/null > FileName 创建空文件 4. 文件操作: $rm:删除文件;(rm -rf FilePath:强制删除FilePath及其下的所有内容;r:向下递归;f:强制删除,不做任何提示) $cp:文件复制; $mv:文件重命名; $cat:查看文件内容; $ls[list]:(-l 显示文件详细描述信息)查看当前目录中的文件; $wc:(-l:行数;-c:字符数;-w:单词数)统计文件中的单词数量; $ln:链接文件; $sort:排序; $file:查看文件类型; 5. 文件夹操作: $.:当前目录; $mkdir(Make Directory):创建目录; $cd(Change Directory):切换目录; $pwd(Print Working Directory):显示宿主目录; $rmdir(Remove Directory)删除目录; $mv:文件移动 6. 文件基本类型: 以‘_’开头为普通文件; 以‘b’开头为块设备(Block Device);

Shell脚本

匆匆过客 提交于 2020-01-28 15:25:52
Shell脚本介绍 参考文档1:http://c.biancheng.net/view/932.html 参考文档2:https://baike.baidu.com/item/Shell%E8%84%9A%E6%9C%AC/572265?fr=aladdin Shell脚本学习指南: http://c.biancheng.net/shell/ 来源: CSDN 作者: 小旺旺。 链接: https://blog.csdn.net/qq_41094332/article/details/104099231

python执行使用shell命令方法

落花浮王杯 提交于 2020-01-28 14:10:00
1. os.system(shell_command) 直接在终端输出执行结果,返回执行状态0,1 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示。这实际上是使用C标准库函数system()实现的。 缺点:这个函数在执行command命令时需要重新打开一个终端,并且 无法保存command命令的执行结果 。 os.system('cat /etc/passwdqc.conf') 2. os.popen() 打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是’r')。如果mode为’r',可以使用此函数的返回值调用read()来获取command命令的执行结果。 os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。 tmp = os.popen('ls -l *').readlines() 3. commands.getstatusoutput(command) 使用commands.getstatusoutput(command)函数执行command命令并返回一个元组(status,output)