首页 > 其他分享 >信息安全系统设计与实现 学习笔记3

信息安全系统设计与实现 学习笔记3

时间:2023-09-24 17:37:12浏览次数:41  
标签:脚本 语句 shell 信息安全 笔记 学习 命令 sh 编程

一、总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?
一门程序设计语言的必备要素和技能包括:

  1. 语法:掌握语言的基本语法,包括变量、数据类型、运算符、流程控制语句、函数、类等。
  2. 算法和数据结构:能够设计和实现常用的算法和数据结构,如数组、链表、栈、队列、树、图等。
  3. 编程范式:了解编程范式,包括面向过程、面向对象、函数式编程等。
  4. 调试和测试:能够使用调试工具和编写测试代码,进行程序的调试和测试。
  5. 编程工具:掌握使用编程工具,如编辑器、IDE、版本控制工具、构建工具等。

在shell脚本中对应的呈现方式

  1. 语法:shell脚本也有自己的语法,需要掌握基本的语法规则和命令。
  2. 算法和数据结构:shell脚本可以使用数组和变量等数据结构,同时也需要掌握常用的shell命令和工具,如grep、awk、sed等。
  3. 编程范式:在shell脚本中,可以使用面向过程的编程范式,也可以使用函数式编程的思想。
  4. 调试和测试:shell脚本同样需要进行调试和测试,可以使用echo命令输出调试信息,同时也可以编写测试脚本进行测试。
  5. 编程工具:在编写shell脚本时,可以使用编辑器和shell环境,如bash、zsh等。同时也可以使用版本控制工具和构建工具,如git、make等。

二、第十章学习笔记
(一)SH编程

  1. sh脚本
    是一个包含sh语句的文本文件,命令解释程序sh要执行该语句。
   #! /bin/bash
   # comment line
   echo hello

sh脚本的第一行通常以#!组合开始,通常被称为shebang,
(二)sh脚本与C程序(gpt提问)
----sh---------------C-------

mysh a b c d  | a.out a b c d
$0 $1 $2 $3 $4| main(int argc, char *argv[])

----sh---------------C-------

  1. SH是解释程序,逐行读取sh脚本并执行。而C程序必须先编译链接到一个二进制可执行文件,然后通过主sh的子进程运行可执行文件。
  2. 其次,C语言每个变量都有一个类型,而sh中每个变量都是字符串,只有一个类型。
  3. 每个C程序必须有一个main()函数,每个函数必须定义一个返回值类型和参数。相反,sh脚本不需要main函数。在sh脚本中,第一个可执行语句是程序的入口点。

(三)命令行参数(gpt提问)
可使用与运行sh命令完全相同的参数调用sh脚本
mysh one two three
可以通过位置参数$0、$1等访问命令行参数。
(四)sh变量
所有的sh变量值都是字符串,未赋值的sh变量是NULL字符串。
(五)sh中的引号
sh有许多特殊字符,如$/*<>等,可使用\或单引号来引用它们。
(六)sh语句
sh语句包括所有Unix/Linux语句,以及可能的I/O重定向
ls
ls > outfile
date
cp f1 f2
mkdir newdir
cat < filename
sh命令
(一)内置命令

  1. .file:读取并执行文件
  2. break [n]:从最近的第n个嵌套循环中退出
  3. cd [dirname]:更换目录
  4. continue [n]:重启最近的第n个嵌套循环
  5. eval [arg...]:计算一次参数并让sh执行生成的命令。
  6. exec [arg...]:通过这个sh执行命令,sh将会退出。
  7. exit [n]:使sh退出,退出状态为n。
  8. export [var…]:将变量导出到随后执行的命令.
  9. trap [arg] [n]:接收到信号n后执行参数。
  10. umask [ddd]:将掩码设置为八进制数 ddd 的。
  11. wait pid]: 等待进程 pid,如果没有给出pid,则等待所有活动子进程。
  12. read命令:当sh执行read命令时,它会等待来自stdin的输入行。

(二)Linux命令
echo命令:讲参数字符串作为行回显到stdout。它通常将相邻的多个空格压缩为一个空格,除非有引号
expr命令:间接更改变量的值。
管道命令:在sh脚本中经常使用管道作为过滤器。
实用命令:
axk:数据处理程序。
cmp:比较两个文件。
comm:选择两个排序文件共有的行。
grep:匹配一系列文件的模式。
diff:找出两个文件的差异。
join:通过使用相同的键来连接记录以比较两个文件。
sed:流或行编辑命令。
sort:排序或合并文件。
tail:打印某个文件的最后口行。
tr:一对一宇符翻译。
uniq:从文件中删除连续重复行。
命令替换
在SH中,$A会被替换为A值。同样,当sh遇到‘cmd’(用引号括起来)或$(cmd)时,它会先执行cmd,然后用执行的结果字符串替换$(cmd)。
sh控制语句
sh是一种编程语言,支持许多执行控制语句。
(一)if-else-fi语句

标签:脚本,语句,shell,信息安全,笔记,学习,命令,sh,编程
From: https://www.cnblogs.com/laijiayi/p/17726269.html

相关文章

  • flex布局笔记
    一、认识flex布局认识flexbox:弹性盒子是一种用于按行或按列布局元素的一维布局方法;元素可以膨胀一填充额外的空间,收缩一适应更小的空间;通常我们使用flexbox来进行布局的方案之为flex布局(flexlayout);flex布局的重要概念开启了flex布局的元素叫flexcontainerflexcontai......
  • 学习笔记3
    程序设计语言必备要素和技能对于Python、C和Java这三门常见的编程语言,它们都有一些共同的必备要素和技能。语法和语义:编程语言的语法和语义是这个语言的基础。这包括了熟悉变量、数据类型、运算符、控制流程等基本语法结构,以及了解编程语言的特性和约束。数据结构与算法:了......
  • SpringCloud微服务学习笔记(一)
    微服务介绍用于开发大型项目时,将所有代码都放在一个项目中会增加压力,而且单体架构的并发数也有限,占用的线程多的时候就不行了。这时就需要用到微服务分布式开发。单体架构(monolithicstructure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编......
  • #20211105李宜时《信息安全系统设计与实现》第三周学习总结
    20211105李宜时《信息安全系统设计与实现》第三周学习总结学习不同编程语言的必备要素和技能1.语法和基本结构了解编程语言的语法和基本结构是编程的第一步。这包括变量、数据类型、运算符、条件语句、循环结构等。以下是Python、C和Java中的示例代码片段:Python#定义变量并......
  • Python教程(14)——Python函数的入门学习
    函数是什么?在编程中,函数是一段可重用的代码块,用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化,提高代码的可读性和可维护性。函数通常包括以下组成部分:函数名:用于标识函数,并可以通过函数名调用执行该函数。参......
  • 《信息安全系统设计与实现》学习笔记3
    第十章sh编程sh脚本sh脚本是一个包含sh语句的文本文件,命令行解释程序sh要执行该语句。创建文件文本mysh,包含:#!/bin/bash#commentlineechohellosh脚本与C程序sh脚本和C程序有一些相似之处,但他们在根本上是不同的。sh是解释程序,逐行读取sh脚本并直接执行这些行,而C......
  • MySQL实战45讲基础篇笔记
    基础架构与查询连接器1、root用户更改普通用户的权限将在下次普通用户重连时生效,即不会影响到当前连接的用户。2、空闲状态的链接经过设置的等待时间后会断开连接,下次使用需要重连。3、长连接和短连接:建立连接的过程比较复杂-->少使用短连接4、长连接使用时间MySQL内存占用......
  • 【监督学习:线性回归和分类】3.分类
    逻辑回归分类问题假设预测的变量y是离散的值,需要使用逻辑回归(LogisticRegression,LR)的算法,实际上它是一种分类算法。二元分类二元分类问题是指y只有两个离散值的情况,例如:垃圾邮件分类:y=1表示是垃圾邮件,y=0表示不是垃圾邮件癌症检测:y=1表示患有癌症,y=0表示没有癌症假说表......
  • 2023 20213423梁锦辉《计算机基础与程序设计》第一周学习总结
    2023-2024-1 20213423  《计算机基础与程序设计》第1周学习总结作业信息:加入云班课,参考学习本周学习资源注册博客园账号,加入2022-2023-1-计算机基础与程序设计参考 基于VirtualBox虚拟机安装Ubuntu图文教程安装Linux系统快速浏览一遍教材计算机科学概论,课本每章......
  • 初章·一个slam小白的学习之路
    个人简介:坐标魔都,攀岩爱好者,大三CS本科生,从小没有竞赛经历,靠高考小宇宙爆发考上了现在的学校(小众院校,不是top但很卷),被一众oi大佬吊打,目前专业排名68%。由于大一和大二GPA太拉报不了三加一,于是决定在学校的实验室多花些时间。大二加入了学校的slam实验室,一脸懵逼地自学了半年的slam......