linux脚本

转:python cgi编程

别来无恙 提交于 2020-02-26 04:49:26
转:http://www.runoob.com/Python/python-cgi.html 什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。 网页浏览 为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程: 1、使用你的浏览器访问URL并连接到HTTP web 服务器。 2、Web服务器接收到请求信息后会解析URL,并查找访问的文件在服务器上是否存在,如果存在返回文件的内容,否则返回错误信息。 3、浏览器从服务器上接收信息,并显示接收的文件或者错误信息。 CGI程序可以是Python脚本,PERL脚本,SHELL脚本,C或者C++程序等。 CGI架构图 Web服务器支持及配置 在你进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序。 Apache 支持CGI 配置: 设置好CGI目录: ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。 CGI文件的扩展名为.cgi

CGI编程

巧了我就是萌 提交于 2020-02-26 04:47:53
什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。 网页浏览 为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程: 1、使用你的浏览器访问URL并连接到HTTP web 服务器。 2、Web服务器接收到请求信息后会解析URL,并查找访问的文件在服务器上是否存在,如果存在返回文件的内容,否则返回错误信息。 3、浏览器从服务器上接收信息,并显示接收的文件或者错误信息。 CGI程序可以是Python脚本,PERL脚本,SHELL脚本,C或者C++程序等。 CGI架构图 Web服务器支持及配置 在你进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序。 Apache 支持CGI 配置: 设置好CGI目录: ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。 CGI文件的扩展名为.cgi,python也可以使用.py扩展名。 默认情况下,Linux服务器配置运行的cgi-bin目录中为/var

shell脚本:遍历删除

倖福魔咒の 提交于 2020-02-26 02:35:04
遍历删除文本内路径上文件 windows上测试可以安装Git linux中,准备删除文件的脚本deleteFile.sh,picture.txt保存待删除文件的文件路径,picture文件夹下面有三张待删除图片a/b/c.jpg deleteFile.sh脚本如下: #!/bin/bash #shell脚本 保存路径的文本 #./deleteFile.sh ./picture.txt #判断位置参数是否为1 if [ $# -ne 1 ];then echo "Usage $0 filename" exit fi #判断位置参数是否为文件 if [ ! -f $1 ];then echo "the $1 is not a file" exit fi #待删除文件路径的文本 filename=$1 echo "filename: $filename" >> info.txt #计算待删除的文件数量(总行数) NUM=`sed -n '$=' $filename` echo "picture delete num: $NUM" #逐行读取文件内容并删除对应路径的文件 success=0 for i in `cat $filename` do #成功信息重定向输出到info.txt echo "delete success: $i" >> info.txt rm -rf $i

Shell编程之shell基础

∥☆過路亽.° 提交于 2020-02-26 01:21:16
一、shell介绍 1.编程语言分类 2.shell简介 3.shell脚本 1)什么是shell脚本? 2)什么时候用到脚本? 3)shell脚本能干啥? 4)shell脚本的基本写法 5)shell脚本的执行方法 二、变量的定义 1.变量是什么? 2.什么时候需要定义变量? 3.变量如何定义? 4.变量的定义规则 1)变量名区分大小写 2)变量名不能有特殊符号 3)变量名不能以数字开头 4)等号两边不能有任何空格 5)变量名尽量做到见名知意 5.变量的定义方式有哪些? 1)基本方式 2)命令执行结果赋值给变量 3)交互式定义变量(read) 4)定义有类型的变量(declare) 6.变量的分类 1)本地变量 2)环境变量 3)全局变量 4)系统变量 三、简单四则运算 1.四则运算符号 2.了解i++和++i 四、扩展补充 1.数组定义 1)数组分类 2)普通数组定义 3)数组的读取 4)关联数组定义 2.其他变量定义 一、shell介绍 前言: 计算机只能认识(识别)机器语言(0和1),如(11000000 这种)。但是,我们的程序猿们不能直接去写01这样的代码,所以,要想将程序猿所开发的代码在计算机上运行,就必须找"人"(工具)来==翻译成机器语言==,这个"人"(工具)就是我们常常所说的 ==编译器== 或者 ==解释器== 。 1. 编程语言分类 编译型语言: ​ =

shell脚本:环境变量

佐手、 提交于 2020-02-25 15:31:21
环境变量 环境变量可以分成两种:全局变量与局部变量 linux中的全局变量是linux系统提前定义好的变量,不管是root还是普通用户登录系统,都是默认使用系统提前定义好的环境变量。 局部变量它只在当前的shell环境中有效,当进入子程序或新的子shell环境时,局部变量将无法再使用。 可以通过一个简单的例子,来理解全局和局部的区别 [ root@linus ~ ] # echo $ LANG zh_CN . UTF - 8 [ root@linus ~ ] # bash [ root@linus ~ ] # echo $ LANG zh_CN . UTF - 8 这是全局变量,进入新的shell环境,全局变量也不会改变。 [ root@linus ~ ] # a = hhh [ root@linus ~ ] # echo $a hhh [ root@linus ~ ] # bash [ root@linus ~ ] # echo $a 而局部变量只在当前shell环境中生效,打开一个新的shell环境,局部变量将无法使用。 区分全局和局部 对于区分全局和局部变量,除了打开新的shell环境外,还可以通过set和env命令进行区分。 首先是set,可以输出所有变量,包括局部和全局 [ root@linus ~ ] # a = hhh [ root@linus ~ ] # set |

执行脚本出现bin/bash: bad interpreter: No such file or directory

走远了吗. 提交于 2020-02-25 11:44:52
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory VI打开文件,没发现任何问题, 把/bin/bash改成/bin/sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory 依然报错,脚本内容在VI下没有任何问题,仔细一看错误消息,^M..明显在第一行末尾被加入了个^M, 这种情况应该有两种原因 1.在WIN底下用文本编辑工具修改过参数变量,在保存的时候没注意编码格式造成的, 2.也有可能是在VIM里修改,第一行末尾按到ctrl_v 错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A. 可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的 (1). vi filename 然后用命令 :set ff? 可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看. 2.可以用执行dos2unix 命令转换编码 #dos2unix myshell.sh 3..也可以用sed 这样的工具来做: sed 's/

Linux-shell脚本

北战南征 提交于 2020-02-22 22:45:05
Linux-2020/2/22 开始学习Linux中的脚本语言:Shell脚本,和很多编程语言有相似之处,之前学习过C语言现在学习Shell起来理解没什么大问题,还需要熟悉具体命令及格式。 Shell语言在Vim编辑器内输入,可以通过vim XXX.sh 建立一个.sh(不强制后缀,但是建议使用,方便)的shell脚本。 首先必须声明脚本用什么Shell解释器来执行,目前学习是使用bash,则:#!/bin/bash 然后可以#加上注释,也可以直接书写命令。 在Shell脚本命令中有大量的参数使用,基本例如$0对应的是当前Shell脚本的程序的名称..... 判断用户的参数时候使用的 [ 条件表达式 ], 注意两边内均有空格!! 对于整数的比较,不能使用常规的 大于> 、小于<,因为这些是重定向符号,应该使用-gt 、-lt等具体参数。 判断语句:if if 条件测试操作1   then 命令序列1 elif 条件测试操作   then 命令序列2 else   命令序列3 fi 循环语句: for for 变量名 in 取值列表 do   命令序列 done #强推老师监控剩余内存告警语句,可拓展至发邮件告警,今后运维能用上# [ `free -m | grep Mum: | awk 'print $4'` -lt 1024 ] && echo "No FreeMum" ||

简明Python3教程 12.问题解决

[亡魂溺海] 提交于 2020-02-22 09:51:49
我们已经探究了python语言的方方面面,现在我们将通过设计编写一个有用的程序将这些内容有机的结合起来。 主要目标是让大家有能力独自编写程序。 问题 我们要解决的问题是”希望编写一个程序,用于创建所有重要文件的备份”。 尽管这个问题很简单,但并没有给出足够多的直观信息用以创建解决方案。所以进行少量的分析还是必须的。 例如,如何指定哪些文件需要备份?如何存储?存在哪? 适当的分析过问题后,我们开始设计程序。我们创建一个用于指明程序应该如何工作的列表。 在本例中,我已经创建了一个我希望程序如何工作的列表。 如果换作你来设计,你可能不会和我一样分析问题,毕竟每个人都有自己解决问题的思路,这很正常. 1.需要备份的文件和目录由一个列表指定。 2.备份必须存在一个主备份目录中。 3.文件会被备份为一个zip文件。 4.这个zip文件以当前的日期和时间命名。 5.我们使用任何标准linux/unix发行版中默认的标准 zip 命令创建zip文件。 Windows用户可以从GnuWin32工程页下载安装之,并将C:/Program Files/GnuWin32/bin添加到你的系统环境变量PATH中。 GnuWin32工程页: http://gnuwin32.sourceforge.net/packages/zip.htm zip命令下载: http://gnuwin32.sourceforge

Shell脚本知识汇总

五迷三道 提交于 2020-02-19 10:58:44
1、定义变量,没有$;变量名和等号之间没有空格。 BUILD_DIR="build_linux" 2、指定脚本解释器。 #!/bin/bash 3、注释#。 4、$0是要执行的脚本(不是命令行的第一个字符串)。 sh test.sh // $0是test.sh脚本,不是sh 5、获取当前文件的绝对路径。使用变量的值要$。 XWORKBENCH_ROOT="$( cd "$(dirname "$0")" ; pwd -P)" 参考链接: https://www.runoob.com/linux/linux-shell.html 来源: https://www.cnblogs.com/yangwenhuan/p/12329859.html

经典shell面试题

有些话、适合烂在心里 提交于 2020-02-19 08:46:24
70个经典的 Shell 脚本面试问题 转载自: http://www.imooc.com/article/1131 1) 如何向脚本传递参数 ? ./script argument 例子 : 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash echo $1 ( LCTT 译注:谢谢某匿名访客的提醒,原题有误,修改之。) 2) 如何在脚本中使用参数 ? 第一个参数 : $1,第二个参数 : $2 例子 : 脚本会复制文件(arg1) 到目标地址(arg2) ./copy.sh file1.txt /tmp/ cat copy.sh #!/bin/bash cp $1 $2 3) 如何计算传递进来的参数 ? $# 4) 如何在脚本中获取脚本名称 ? $0 5) 如何检查之前的命令是否运行成功 ? $? 6) 如何获取文件的最后一行 ? tail-1 7) 如何获取文件的第一行 ? head-1 8) 如何获取一个文件每一行的第三个元素 ? awk'{print $3}' 9) 假如文件中每行第一个元素是 FIND,如何获取第二个元素 awk'{ if ($1 == "FIND") print $2}' 10) 如何调试 bash 脚本 将 -xv 参数加到 #!/bin/bash 后 例子: #!/bin/bash –xv 11