控制字符

Unix系列shell程序编写从入门到精通(上)

心不动则不痛 提交于 2019-12-06 18:31:03
*Shell 是什么 ? 任何发明都具有供用户使用的界面。 UNIX 供用户使用的界面就是 Shell(DOS 的 command 熟悉吧,但 UNIX 的要强大的多 ) 。 Shell 为用户提供了输入命令和参数并可得到命令执行结果的环境。 为了不同的需要, UNIX 提供了不同的 Shell 。现在的 UNIX 大部分都支持 BourneShell ,以下教程就以 BourneShell(Bsh) 为例,一步步的领略 UNIX Shell 的强大功能,占先其强大魅力,达到更方便灵活的管理、应用 UNIX 的目的。 1.UNIX 内核和 Shell 的交互方法 启动 UNIX 时,程序 UNIX( 内核 ) 将被调入计算机内存,并一直保留在内存中直到机器关闭。在引导过程中,程序 init 将进入后台运行一直到机器关闭。该程序查询文件 /etc/inittab ,该文件列出了连接终端的各个端口及其特征。当发现一个活动的终端时, init 程序调用 getty 程序在终端上显示 login 等登陆信息。 (username 和 passwd) ,在输入密码后, getty 调用 login 进程,该进程根据文件 /etc/passwd 的内容来验证用户的身份。若用户通过身份验证, login 进程 把用户的 home 目录设置成当前目录并把控制交给一系列 setup 程序。

C语言I博客作业10

穿精又带淫゛_ 提交于 2019-12-05 20:17:18
问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 C语言I博客作业10 我在这个课程的目标是 熟练掌握C语言 这个作业在哪个具体方面帮助我实现目标 已经可以熟练掌握字符型的输入和输出 参考文献 Markdown基本语法 一.PTA实验作业 1. 編程打印空心字符菱形 题目内容描述:本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。 输入格式: 输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。 输出格式: 输出空心字符菱形。 输入样例: B 5 输出样例: B C C D D C C B (1)数据处理 数据表达: 用了整形变量h,k,k1,v,v1=1,i,和字符型变量op op和h是用户传入的字符和高度 k,k1用来控制每行首字母左边的空格数 v,v1用来控制两个字母间的空格数 i用来控制循环次数 数据处理:伪代码 定义整型变量h,k,k1,v,v1=1,i; h是用户传入的高度,k,k1用来控制每行首字母左边的空格数,v,v1用来控制两个字母间的空格数,i用来控制循环次数 定义字符型变量op ,op是用户传入的字符

数据链路层协议的三个基本问题

独自空忆成欢 提交于 2019-12-05 14:10:44
1.封装成帧(在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧的界限) 2.透明传输(定义一个字符“ESC”,在数据中遇到“EOT”或者“SOH”控制字符时,在控制字符前插入“ESC”转义字符,而接收端的数据链路层在将数据送往网络层之前删除这个插入的转义字符) 3.差错检测(循环冗余检验) 来源: https://www.cnblogs.com/1819zzh/p/11926817.html

servlet学习(三)--HttpServletResponse

陌路散爱 提交于 2019-12-03 16:52:14
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。 一、HttpServletResponse对象介绍      HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。 1.1、负责向客户端(浏览器)发送数据的相关方法    1.2、负责向客户端(浏览器)发送响应头的相关方法       1.3、负责向客户端(浏览器)发送响应状态码的相关方法    1.4、响应状态码的常量   HttpServletResponse定义了很多状态码的常量(具体可以查看Servlet的API),当需要向客户端发送响应状态码时,可以使用这些常量,避免了直接写数字,常见的状态码对应的常量:   状态码404对应的常量      状态码200对应的常量      状态码500对应的常量    二、HttpServletResponse对象常见应用 2.1

Go语言流程控制01--选择结构之if

我与影子孤独终老i 提交于 2019-12-03 02:41:53
package main import "fmt" /* 字符串比大小 比首字符在字符集中出现的序号,首字符相同则比较第二个字符,以此类推 go的编译器默认使用UTF8字符集 在UTF8字符集中数字出现的顺序为:0123456789 */ func main031() { fmt.Println("0">"9") fmt.Println("012">"011") fmt.Println("0823">"0423") } /* 根据用户输入的生日判断其星座: ①单分支:如果位于0823-0922之间(处女座),输出“阁下真乃神人也!” */ func main032() { var birthday string fmt.Println("请输入您的生日,例如0823") fmt.Scan(&birthday) if birthday > "0823" && birthday < "0922"{ fmt.Println("阁下真乃神人也") } fmt.Println("诊断结束") } /* 根据用户输入的生日判断其星座: ②双分支:如果位于0823-0922之间(处女座),输出“阁下乃神人也!”,否则输出“垃圾” */ func main033() { var birthday string fmt.Println("请输入您的生日,例如0823") fmt.Scan(

转载一篇很好的关于终端的文章

给你一囗甜甜゛ 提交于 2019-12-02 06:07:48
终端 终端的基本概念 在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal) ,在 “引言”一节 讲过,控制终端是保存在PCB中的信息,而我们知道 fork 会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上。此外在 第 33 章 信号 还讲过,在控制终端输入一些特殊的控制键可以给前台进程发信号,例如Ctrl-C表示 SIGINT ,Ctrl-\表示 SIGQUIT 。 在 第 28 章 文件与I/O 中讲过,每个进程都可以通过一个特殊的设备文件 /dev/tty 访问它的控制终端。事实上每个终端设备都对应一个不同的设备文件, /dev/tty 提供了一个通用的接口,一个进程要访问它的控制终端既可以通过 /dev/tty 也可以通过该终端设备所对应的设备文件来访问。 ttyname 函数可以由文件描述符查出对应的文件名,该文件描述符必须指向一个终端设备而不能是任意文件。下面我们通过实验看一下各种不同的终端所对应的设备文件名。 例 34.1. 查看终端对应的设备文件名 #include

ASCII码

自作多情 提交于 2019-12-01 05:03:09
㈠定义 ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于 拉丁字母 的一套电脑 编码 系统,主要用于显示现代 英语 和其他 西欧 语言。它是最通用的信息交换标准,并等同于 国际 标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。 ㈡表达方式 ★ASCII 码使用指定的7 位或8 位 二进制数 组合来表示128 或256 种可能的 字符 。标准ASCII 码也叫基础ASCII码,使用7 位 二进制数 (剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊 控制字符 。 ★0~31及127(共33个)是 控制字符 或通信专用字符(其余为可显示字符) ①控制符:LF(换行)、CR( 回车 )、FF(换页)、DEL( 删除 )、BS(退格)、BEL(响铃)等 ②通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等; ③ASCII值为8、9、10 和13 分别转换为 退格 、制表、换行和回车字符; ★32~126(共95个)是 字符 (32是空格),其中48~57为0到9十个阿拉伯数字。 ★65~90为26个大写英文字母,97

linux引导过程和服务控制

旧城冷巷雨未停 提交于 2019-11-29 02:52:32
1、系统引导流程 (1)BIOS( Basic Input Output System ) 服务器主机开机以后,将根据主板BIOS中的设置对CPU (Central ProcessingUhit中央处理器) , 内存显卡,键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。 检测失败通常会通过显示器屏蒂或者蜂鸣器报警。 基本输入输出系统主要功能: BIOS存储硬件的配置信息, CPU虚拟化开关, 系统的引导顺序, 主机硬件时间( BIOS独立的电池、电池没电的效果,主机的时间不准,不会影响系统引导,但是硬件的部分配置信息会丢失,BIOS会恢复出厂设置) BIOS电池放电也是为恢复出厂设置 加电自检 硬件初始化 引导操作系统 (2)MBR引导   当从本机硬 盘中启动系统时,首先根据硬盘第个扇区中MBR (Master Boot Record主引导记录)的设置, 将系统控制权传递给包含操作系统引导文件的分区( /boot) ;   或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB)。 (3)GRUB菜单   对于Linux操作系统来说, GRUB (GRand Unified Bootloader.统启动加载器) 是使用最为广泛的多系统引导器程序。   系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项

Java Web学习(七)HttpServletResponse(客户端响应)

女生的网名这么多〃 提交于 2019-11-28 19:49:48
本文借鉴: 孤傲苍狼 (特此感谢!) 一、定义   HttpServletResponse对象代表 服务端的响应 ,通过这个对象提供的方法,可以向客户机输出数据。 二、常用方法 PS: 在JavaWeb开发中,只要是写URL地址,那么建议最好以 "/" 开头,也就是使用绝对路径的方式, 如果"/"是给服务器用的,则代表当前的web工程,如果"/"是给浏览器用的,则代表webapps目录。 PS: 也可以使用 request.getContextPath() 来代替 "/项目名称" 的方式,这样更加灵活。     /** * 1.向客户端(浏览器)发送数据 * 原理:Servlet程序向ServletOutputStream或PrintWriter对象中写入的数据将被Servlet引擎从response里面获取,Servlet引擎将这些数据当作响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。 * PS:getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。 * PS:Serlvet的service方法结束后,Servlet引擎将检查getWriter或getOutputStream方法返回的输出流对象是否已经调用过close方法,如果没有,Servlet引擎将调用close方法关闭该输出流对象。 */

10、shell编程+流程控制+分支嵌套

给你一囗甜甜゛ 提交于 2019-11-26 19:38:01
SHELL 编程 shell 是一个命令解释器,侦听用户指令、启动这些指令、将结果返回给用户(交互式的shell) shell 也是一种简单的程序设计语言、利用它可以编写一些系统脚本。 查看本机 shell 信息: cat /etc/shells --查看本支持的shell echo $SHELL --查看当前支持的shell shell 在执行命令时,各种命令的优先级: 别名 -> 关键字 -> 函数 -> 内置命令 -> 脚本 别名:命令的另一种形式,有些情况下可以简化命令的输入,例如可以将很长的命令定义成短别名。 别名的设置: alias 别名= ' ' 如: alias del='rm -i' alias ll='ls -l' alias 显示存在的别名 删除别名: unalias del bash 初始化: /etc/profile -> ~/.bash_profile -> /etc/profile.d/*.sh -> ~/.bashrc -> /etc/bashrc bash 退出时也会执行一些脚本 ~/.bash_logout bash 命令历史 默认情况下, shell 执行的命令会保留下来,保存的地方有两个:内存和~/.bash_history    保存下来后,可以查看,也可以上翻去执行。    执行的命令先放在内存中,退出窗口时写到 ~/.bash