重定向

linux shell 基础语法A-1

元气小坏坏 提交于 2019-11-28 22:59:47
从echo开始 echo可以看做print printf之类的东西。几乎所有的shell脚本都离不开echo。 echo有如下几个作用: (1)输出脚本执行流程的提示信息 (2)交互式脚本打印提示信息 (3)构建格式化的日志 (4)调试脚本时,可以用来打印出一些中间变量的值(当然也可以用bash +x调试执行脚本) 常用的option -n:不换行打印 -e:识别转移字符(如\t) 许多脚本的usage就是echo来实现的(cmd -h or cmd --help)。 变量 变量分类:一般在shell中分为环境变量,用户变量,位置变量等的特殊变量三大类。shell是一种弱类型语言(强类型语言c,变量定义后要强制变换才能使用另一种变量类型,而shell不关心,变量的类型依据使用环境自己变化)。 但我们还是可以把shell中使用变量分为几个场景: (1)字符串 root@ubuntu-jpk:~# echo "hello world" hello world (2)数值 root@ubuntu-jpk:~# a=1 root@ubuntu-jpk:~# b=2 root@ubuntu-jpk:~# c=$((a+b)) root@ubuntu-jpk:~# echo $c 3 (3)一维数组(列表) root@ubuntu-jpk:~# list=(China America

如何理解 Linux shell中“2》&1”?

大憨熊 提交于 2019-11-28 22:03:21
来自:编程珠玑(微信号:shouwangxiansheng) 前言 有时候我们常看到类似这样的脚本调用: ./test.sh > log.txt 2>&1 这里的2>&1是什么意思?该如何理解? 先说结论:上面的调用表明将./test.sh的输出重定向到log.txt文件中,同时将标准错误也重定向到log.txt文件中。 有何妙用 (如果已经明白是什么作用,可跳过此小节) 上面到底是什么意思呢?我们来看下面的例子,假如有脚本test.sh: #!/bin/bash date #打印当前时间 while true #死循环 do #每隔2秒打印一次 sleep 2 whatthis #不存在的命令 echo -e "std output" done 脚本中先打印当前日期,然后每隔2秒执行whatthis并打印一段字符。由于系统中不存在whatthis命令,因此执行会报错。 假如我们想保存该脚本的打印结果,只需将test.sh的结果重定向到log.txt中即可: ./test.sh > log.txt 执行结果如下: ubuntu$ ./test.sh >log.txt ./test.sh: 行 7: whatthis: 未找到命令 我们明明将打印内容重定向到log.txt中了,但是这条错误信息却没有重定向到log.txt中。如果你是使用程序调用该脚本,当查看脚本日志的时候

HTTP协议

和自甴很熟 提交于 2019-11-28 21:46:41
HTTP请求信息和响应信息的格式 请求: (1)请求行   a.请求方法     GET     HEAD:与GET请求基本一致,但是不返回内容     POST     PUT     DELETE     TRACE:是你用了代理上网,你想看看代理有没有修改你的HTTP请求,可以使用TRACE来测试     OPTIONS:返回服务器可用的请求方法   b.请求路径   c.所用的协议     HTTP/1.1 (2)请求头信息   Content-Type:application/x-www-form-urlencoded   Content-Length:23 (3)请求主体信息   主体信息可以没有   头信息结束后与主体信息之间要空一行 响应: (1)响应行   协议版本   状态码  状态文字       说明   1XX    信息      接收到请求,继续处理   2XX    成功      操作成功地收到,理解和接受   3XX    重定向     为了完成请求,必须采取进一步措施     --301/302 永久/临时重定向     --307 重定向中保持原有的请求数据     --304 NOT MODIFIED   4XX    客户端错误   请求的语法有错误或不能完全被满足     --404 NOT FOUND   5XX    服务端错误 

shell输入/输出重定向

不羁岁月 提交于 2019-11-28 20:03:08
command > file:将输出重定向到file command >> file:将输出以追加的方式重定向到file 说明:上述命令的意思是执行command然后将输出的内容存入到file(覆盖还是追加由> 和 >> 决定) [root@ipha-dev71-1 exercise_shell]# echo 1 > test.sh [root@ipha-dev71-1 exercise_shell]# cat test.sh # 查看文件内容 1 [root@ipha-dev71-1 exercise_shell]# echo 2 >test.sh [root@ipha-dev71-1 exercise_shell]# cat test.sh 2 [root@ipha-dev71-1 exercise_shell]# echo 3 >> test.sh [root@ipha-dev71-1 exercise_shell]# cat test.sh 2 3 command < file:将输入重定向到file 来源: https://www.cnblogs.com/wang-mengmeng/p/11425316.html

C# HTTP系列6 HttpWebResponse.StatusCode 响应代码中文详解

倾然丶 夕夏残阳落幕 提交于 2019-11-28 19:26:06
系列目录 【已更新最新开发文章,点击查看详细】 1xx - 信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应 · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) · 101 - Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 2xx - 成功 这类状态代码表明服务器成功地接受了客户端请求 · 200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。 · 201 - Created 服务器已经创建了文档,Location头给出了它的URL。 · 202 - Accepted 已经接受请求,但处理尚未完成。 · 203 - Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝, 非权威性信息(HTTP 1.1新)。 · 204 - No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新, 这个状态代码是很有用的。 · 205 - Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。 · 206

shell脚本--重定向

泪湿孤枕 提交于 2019-11-28 19:17:48
重定向与管道符 一、重定向--tr 程序=指令(命令)+数据(由变量提供) 重定向分为三类:标准输入重定向、标准输出重定向、错误重定向 数据输入:键盘-----标准输入,但并不是唯一输入方式 标准输入:例 useradd cqy; | passwd --stdin “cqy”(给用户cqy添加密码) 例如:功能添加用户 useradd.sh user.txt文本文档1000个用户 数据输出:显示器----标准输出,但并不是唯一的输出方式 Ls /etc/ >a.txt fd文件标识符 0-9,常用的被定义的为0(标准输出),1(标准输入),2(错误输入输出(标准错误)) 虚拟文件系统VFS,用来做翻译,文件系统格式ext2、ext2、reiserfs、FAT、NTFS、iso9660等。 常见重定向符号 1、标准输出:>覆盖重定向【非常危险】(set -C(关闭覆盖重定向的功能,set +C加上覆盖重定向的功能;>|强制重定向))set用来查看环境标量 C >>追加重定向(不覆盖) 2、标准输入:< tr(替换文件内容) tr set1 [set2] <file.txt        << 将多行数据同时输入 1 2 3 4 5 6 7 8 9 Cat >> a.txt<<EOF >1 >2 >3 >EOF  3、错误输出:2> 2>> 不需要输出内容,只需要输出状态; Ls

请求转发与重定向的区别

五迷三道 提交于 2019-11-28 18:51:18
原文地址:https://blog.csdn.net/fox_bert/article/details/80634468 转发和重定向流程图如下 请求转发(服务器端转发): 1、客户端(HTML)向服务器发送一条请求,服务端发现匹配的servlet,并指定它去执行。当这个servlet执行完之后,它要调用getRequestDispacther()方法,返回值类型是RequestDispatcher,设定目标资源jsp(jsp==servlet是服务端)。 2、调用forward(ServletRequest req,ServletResponse res):该方法是RequestDispatcher接口的方法,将请求从一个servlet转发到服务器上另一个资源jsp(目标资源)(jsp==servlet是服务端) 3、目标资源jsp(jsp==servlet是服务端)接收转发过来的请求,并将接收数据后的jsp生成HTML返回给客户端 重点 : 转发是服务器行为,因此也是在这个web应用内转发,整个过程是一个请求一个响应。可以看做一个request请求里包含了多个servlet,多个servlet共享的是同一个request,所以他们之间可以通过getAttribute()读取前一个servlet的存值。 (因为是一次请求,所以地址栏是不会改变的) 由request执行转发操作

【深入HTTP协议】

淺唱寂寞╮ 提交于 2019-11-28 16:17:00
目录 HTTP 请求 HTTP 响应 原文: http://blog.gqylpy.com/gqy/305 HTTP是(Hyper Text Transfer Protocol)超文本传输协议的缩写. HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC. RFC 1945定义了HTTP/1.0版本,其中最著名的就是RFC 2616,RFC 2616定义了今天普遍使用一个版本——HTTP 1.1 -------> HTTP协议(Hyper Text Transfer Protocol)超文本传输协议是用于从WWW服务器传输超文本到本地浏览器的传送协议. 它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等. @ HTTP响应模型 · HTTP协议永远都是客户端发起请求,服务器回送响应,如下图: 这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端. HTTP工作流程 · 一次HTTP操作称为一个事务 ,其工作过程可分为四步: 首先客户机与服务器需要建立连接。只要单击某个超级链接

抓包代理工具——Charles

倾然丶 夕夏残阳落幕 提交于 2019-11-28 15:50:11
Charles使用详解 简介: Charles 是在 Mac/WIN下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。 Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。 除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。 安装及破解: 安装:去 Charles 的官方网站 下载最新版的 Charles 安装包,安装方式这里就不介绍了。 破解: 破解jar包获取地址 下载官方Charles安装好。破解JAR网址里面生成一个破解的JAR前往这个文件夹替换JAR包(这里生成要选择版本。看你在官网下的是多少版本就生成多少的版本)就破解完成了,重启使用即可。 附:macOS路径: /Applications/Charles.app/Contents/Java/charles.jar Windows: C:/Program Files/Charles/lib/charles.jar 使用及配置: 启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求

301/302重定向

眉间皱痕 提交于 2019-11-28 15:20:29
相关博文: http://www.mahaixiang.cn/seoyjy/866.html spam(搜索引擎垃圾技术) 相关博文: http://www.mahaixiang.cn/seoyjy/866.html 来源: https://www.cnblogs.com/mobaiyu/p/11412078.html