read

shell基础2

大憨熊 提交于 2020-02-12 19:06:13
五、shell变量和运算符 变量:   由字母、数字、下划线组成,但是不能以数字开头。   变量的默认类型都是字符串型,若要进行数值运算,则必须指定变量类型为数值型。一般用$(( ))。   变量用等号连接值,等号左右两侧不能有空格。   变量分类:     用户自定义变量: name="1111"     环境变量:一般大写     位置参数变量:这种变量主要是用来向脚本中传递参数或者属鸡的,变量名不能自定义,变量的作用是固定的。     预定义变量        (用户自定义变量和环境变量忽略不讲。)   1、位置参数变量:      $n n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}     $* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体     $@ 这个变量也代表命令行中所有的参数,$@把每个参数区分对待     $# 这个变量代表命令行中的所有参数的个数        2、 预定义变量:     $?  最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令不正确了。     $$  当前进程的id号     $!   后台运行的最后一个进程的进程号   3、read接收键盘输入:     read [选项] [变量名]   选项:

初见Python<6>:文件读写

青春壹個敷衍的年華 提交于 2020-02-12 01:20:57
1、open函数语法: python通过open函数打开文件,建立程序与文件之间的连接。 open函数语法:open(filename[,mode[,buffering]]) 其中filename是指要进行操作的文件名称,由文件名称和路径组成,需要加引号。 mode为操作模式参数,包括读、写、追加等。 buffering是缓冲参数,控制着文件的缓冲。当buffering=0或者False时,I/O就是无缓冲的,所有的读写操作都是直接针对硬盘的,如果是1或者True,I/O就是有缓冲的,python是用内存来代替硬盘,使得程序运行更快。大于1代表缓冲区的大小,单位为字节,-1或者其他任意负数代表使用默认的缓冲区大小。 只有filename参数是必须指定的,mode和buffering参数则是可选的,mode参数的缺省值为'r'。 2、参数mode的取值: (1)基本取值: r、w、a为打开文件的基本模式,分别表示只读、只写(覆盖写)、追加(追加写)。 b、t、+、U,与上面三个基本模式组合使用。 注意:文本模式用于打开文本文件,二进制模式用户打开二进制文件。 (2)常见的mode组合取值: (3)举例说明: 现在window系统PC机硬盘上存在文件G:\file1.txt,对其进行演示操作。 ①r模式: 报错的原因是路径中包含的'\'被识别为转义符,因此造成文件路径错误。

代码审计 | [De1CTF 2019]SSRF Me

你。 提交于 2020-02-09 23:07:44
[De1CTF 2019]SSRF Me 前言 以为是flask模板注入,但是看了其他师傅的writeup后发现是一个代码审计的流程,那就安心审计代码吧。 提示flag在/flag.txt中 整理后代码 #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request import socket import hashlib import urllib import sys import os import json reload ( sys ) sys . setdefaultencoding ( 'latin1' ) app = Flask ( __name__ ) secert_key = os . urandom ( 16 ) class Task : def __init__ ( self , action , param , sign , ip ) : self . action = action self . param = param self . sign = sign self . sandbox = md5 ( ip ) if ( not os . path . exists ( self . sandbox ) ) : #SandBox For

SET Transaction Isolation Level Read语法的四种情况

微笑、不失礼 提交于 2020-02-09 14:16:28
转自: http://www.cnblogs.com/qanholas/archive/2012/01/04/2312152.html 存储过程:SET Transaction Isolation Level Read语法的四种情况 这几天一直在弄存储过程,现在在这里跟大伙共享下资料: SET Transaction Isolation Level Read UNCOMMITTED 使用这句东东呢可以分为四种情况,现在就在这里逐一介绍: 第一种情况: READ COMMITTED 这句的作用是: 指定在读取数据时控制共享锁以避免脏读,但数据可在事务结束前更改,从而产生不可重复读取或幻像数据。该选项是 SQL Server 的默认值。 第二种情况: READ UNCOMMITTED 这句的作用是: 执行脏读或0级隔离锁定,这表示不发出共享锁,也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。 第三种情况: REPEATABLE READ 这句的作用是: 锁定查询中使用的所有数据以防止其他用户更新数据,但是其他用户可以将新的幻像行插入数据集,且幻像行包括在当前事务的后续读取中。因为并发低于默认隔离级别

SET Transaction Isolation Level Read语法的四种情况

岁酱吖の 提交于 2020-02-09 14:15:49
存储过程:SET Transaction Isolation Level Read语法的四种情况 这几天一直在弄存储过程,现在在这里跟大伙共享下资料: SET Transaction Isolation Level Read UNCOMMITTED 使用这句东东呢可以分为四种情况,现在就在这里逐一介绍: 第一种情况: READ COMMITTED 这句的作用是: 指定在读取数据时控制共享锁以避免脏读,但数据可在事务结束前更改,从而产生不可重复读取或幻像数据。该选项是 SQL Server 的默认值。 第二种情况: READ UNCOMMITTED 这句的作用是: 执行脏读或0级隔离锁定,这表示不发出共享锁,也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。 第三种情况: REPEATABLE READ 这句的作用是: 锁定查询中使用的所有数据以防止其他用户更新数据,但是其他用户可以将新的幻像行插入数据集,且幻像行包括在当前事务的后续读取中。因为并发低于默认隔离级别,所以应只在必要时才使用该选项。 第四种情况: SERIALIZABLE 这句的作用是: 在数据集上放置一个范围锁

数据库事务的四大特性和事务隔离级别

可紊 提交于 2020-02-08 09:38:23
Reference: [1] http://www.cnblogs.com/fjdingsd/p/5273008.html [2] http://blog.csdn.net/fg2006/article/details/6937413 数据库事务四大特性 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下 四个特性 : ⑴ 原子性(Atomicity)   原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 ⑵ 一致性(Consistency)   一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。   拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。 ⑶ 隔离性(Isolation)   隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。   即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束

mysql事务回滚机制概述

柔情痞子 提交于 2020-02-08 05:11:47
应用场景: 银行取钱,从ATM机取钱,分为以下几个步骤 1 登陆ATM机,输入密码; 2 连接数据库,验证密码; 3 验证成功,获得用户信息,比如存款余额等; 4 用户输入需要取款的金额,按下确认键; 5 从后台数据库中减掉用户账户上的对应金额; 6 ATM吐出钱; 7 用户把钱拿走。 对于上面的取钱这个事情,如果有一步出现错误的话,那么就会取消整个取钱的动作,但是如果在第5步,系统后台已经把钱减了,但是ATM机没有取出来,那么就应用到mysql中的事务。简单地 来说,就是取钱这7步要么都完成,要么就啥也不做,在数据库中就是这个道理。 事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销,在事务中,每个正确的原子 操作都会被顺序执行,直到遇到错误的原子操作。回滚的意思其实即使如果之前是插入操作的话,那么会执行删除之前插入的记录,如果是修改操作的话,那么会执行将update之前的记录还原。 因此,正确的原子操作是真正被执行过的,是物理执行。 事务是由一条或者多条sql语句组成,在事务的操作中,要么这些sql语句都执行,要么都不执行。 事务的ACID特性:原子性,一致性,隔离性,持久性。 在当前事务中确实能看到插入的记录,最后只不过被删除了,但是auto_increament不会删除而是改变值

微信(url.cn),新浪微博(t.cn)短网址生成api接口以及php,python的调用方法

℡╲_俬逩灬. 提交于 2020-02-07 04:29:21
微信营销中,原链接太长总是很不方便分享,转化率极低。所以我们一般使用微信短链接即url.cn的短网址或者新浪微博(t.cn)段王子样式来缩短我们的链接,再发布到微信平台进行链接分享,今天给大家分享一个微信短链接生成接口,以及微信url.cn短网址新浪t.cn短网址的生成方式。 微信url.cn短链接生成api接口: http://qingmeidwz.cn/wxshorturl.php?url_long=http://www.baidu.com 新浪t.cn短链接api接口: http://qingmeidwz.cn/shorten.json?url_long=http://www.baidu.com 使用说明: 将api接口地址中 "http://www.baidu.com"换成需要缩短的网址,然后直接复制前往浏览器中打开即可。 PHP调用演示: $url = 'http://www.baidu.com'; $api_url = 'http://qingmeidwz.cn/wxshorturl.php?url_long=http://www.baidu.com'; $short_url = file_get_contents($api_url); echo $short_url; JAVA调用演示: public static void main(String path[])

压缩字符串

元气小坏坏 提交于 2020-02-06 14:18:27
给定一组字符,使用原地算法将其压缩。 压缩后的长度必须始终小于或等于原数组长度。 数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。 在完成原地修改输入数组后,返回数组的新长度。 示例 输入: [“a”,“a”,“b”,“b”,“c”,“c”,“c”] 输出: 返回6,输入数组的前6个字符应该是:[“a”,“2”,“b”,“2”,“c”,“3”] 说明: "aa"被"a2"替代。"bb"被"b2"替代。"ccc"被"c3"替代。 这题的思路是用双指针法,一个指针是read指针用于读,还有一个指针是write用于写 其实说是双指针,其实为了更方便赋值,还需要一个指针记录一个字符的起始位置,具体代码如下所示 class Solution { public int compress ( char [ ] chars ) { int anchor = 0 ; int write = 0 ; for ( int read = 0 ; read < chars . length ; read ++ ) { if ( read + 1 == chars . length || chars [ read ] != chars [ read + 1 ] ) { chars [ write ++ ] = chars [ anchor ] ; if ( read > anchor ) {