【完-网络安全】Shell与脚本

文章目录
- 1.CLI与GUI
- 2.终端和Shell
- 2.1 Shell 壳层
- 2.2 终端
- 2.3 终端和Shell区别
- 3.标准流
- 4.PowerShell
- 4.1 管理员与非管理员
- 4.2 指令
- 4.3 重定向
- 4.4 管道
- 5.环境变量
- 5.1 影响范围
- 5.2环境变量的作用
- 5.3 常见的环境变量
- 6.脚本
1.CLI与GUI
CLI命令行界面(CLl,Command Line Interface)
是早期电脑最广泛的用户界面,用户通过键盘出入指令,指令的执行结果往往也以文本的形式呈现给用户。
GUI 图形用户界面
图形用户界面(GUl,Graphical UserInterface)是指采用图形方式显示的用户界面,图形用户界面的学习成本更低,用户可以使用标及键盘与应用程序、操作系统进行交互。
2.终端和Shell
2.1 Shell 壳层
Shell(也称为壳层)则是指为用户提供用户“界面”的软件,这里的界面一般指 CLI。当然也有 GUl的 Shell比如 windows Explorer,即windows 资源管理器。一般来说计算机科学中提到Shell 的时候都是指 CLI类型的软件。
| Windows | CLI | GUI |
|---|---|---|
| Windows | Windows cmd/powershell | 资源管理器 |
| 类 Unix | bash/zsh | GNOME/KDE |
2.2 终端
常见终端模拟器
Windows :控制台 TerminalWindows
Linux :gnome-terminal/Konsole
macOS:Terminal.app/iTerm2
2.3 终端和Shell区别
现代操作系统中,用户用到的看来是 **CLI形式的“命令行窗口”或“终端”往往包括两个部分:一个终端模拟器软件以及真正处理用户命令的 Shell 。**比如 Windows 下常见的命令提示符运行后包含一个终端模拟器 conhost.exe 以及一个 Shell cmd.exe 。

3.标准流
终端和 Shell 之间通过标准流进行通信,标准流有三个
·stdin即标准输入。
·stdout即标准输出。
.stderr即标准错误输出。
4.PowerShell
4.1 管理员与非管理员
管理员权限打开的和非管理员权限的 Powershell 可以通过窗口标题以及初始工作目录来区分。


4.2 指令
Tab 自动补全命令
方向键可以翻看命令历史记录
CTRL+C 可以中断当前指令或脚本运行
非管理员权限的命令行支持直接拖放目录或文件
按住左键选中内容后点击右键可复制,直接点击右键可黏贴

4.3 重定向
在 Powershell 或其他 Shell 中,可以将指令执行的结果输出到文件中,甚至输出流之间也可以相互输出,我们称之为重定向。
“> ”重定向输出并覆盖
“> >” 重定向输出并追加
2>&1 2代表stderr,1代表stdout,即将stderr重定向到std
4.4 管道
在 Powershell 或其他 Shell 中,还可以将第一个指令的输出作为第二个指令的输入,来实现程序之间的互通,管道的符号是。比如想要删除当前文件夹中,文件名包含的所有文件。可以运行
dir -Name | grep | rm
5.环境变量
5.1 影响范围
不同类型的环境变量影响范围不同,用户变量只对特定用户生效,而系统变量则全局生效。
系统变量,与 Windows操作系统包括网络状况有关,由操作系统定义。管理员权限的用户可以添加添加、修改或删除;系统变量的作用域是全局的对所有用户生效。
用户变量,由操作系统、某些应用程序以及用户建立,相应的用户可以:增加、修改或删除;用户变量只影响对应的用户。
5.2环境变量的作用
环境变量在现代操作系统中几乎无处不在,常见作用有
为各个进程提供系统相关信息,比如Windows下环境变量 TEMP 对应临时文件夹。
PATH环境变量存放一些目录,Shel在执行指令时会试图从这些目录查应程序。
脚本中可以用环境变量来存储一些必要的数据,甚至可以将这些数据传这其他进程。
5.3 常见的环境变量
Windows 下常见的环境变量有,
Path:可执行文件搜索路径
ProgramFiles:默认程序安装目录·
windir:Windows 文件夹的路径
APPDATA:当前用户程序数据存放路径
TEMP/TMP:当前用户临时文件夹
6.脚本
什么是脚本
将多条 cmdles 集中在一个文件中,像编程一样自动化完成任务,这个文件我们称之为“脚本”。
cmd.exe的脚本扩展名为.bat,称之为批处理文件
Powershell的脚本扩展名为.ps1
脚本执行策略
Windows 上出于安全考虑,默认脚本执行策略为Restricted,即阻止所有脚本运行。Powershell执行策略包括以下几种:
AllSigned 可以运行脚本,但要求数字签名,包括本地编写的脚本
Bypass 不阻止任何脚本运行
RemoteSigned 可以运行脚本,远程下载的脚本需要数字签名,而本地写的不用
Restricted 不允许运行脚本
Undefned 未定义
Unrestricted 不限制脚本运行但会对非本地脚本弹出警告
相关文章:
【完-网络安全】Shell与脚本
文章目录 1.CLI与GUI2.终端和Shell2.1 Shell 壳层2.2 终端2.3 终端和Shell区别3.标准流 4.PowerShell4.1 管理员与非管理员4.2 指令4.3 重定向4.4 管道 5.环境变量5.1 影响范围5.2环境变量的作用5.3 常见的环境变量 6.脚本 1.CLI与GUI CLI命令行界面(CLl,Command Line Interfa…...
磁盘标签和分区标签
在Windows中,我们为分区命名,那个名字就是「分区标签」。所以说“分区标签”是给分区的一个名字。 「磁盘标签」其实是我们经常说的「分区表」,比如MBR、GPT等等。而「分区标签」,虽然叫做“分区”标签,但它则是文件系…...
关于摩托车一键启动无钥匙进入、智能科技创新
摩托车一键启动无钥匙进入功能 一、工作原理 摩托车的一键启动无钥匙进入功能采用了世界最先进的RFID无线射频技术和最先进的车辆身份编码识别系统,率先应用小型化、小功率射频天线的开发方案,并成功融合了遥控系统和无钥匙系统,沿用了传统…...
怎么找矩阵系统,怎么源码搭建,源头技术开发需要哪些支持
一、引言 在进行矩阵系统源码搭建时,选择合适的工具至关重要。正确的工具选择不仅可以提高开发效率,还能确保系统的稳定性、可扩展性和性能。本文将探讨在矩阵系统源码搭建过程中如何选择合适的工具。 二、前端开发工具选择 前端框架 React:由…...
云原生化 - 工具镜像(简约版)
在微服务和云原生环境中,容器化的目标之一是尽可能保持镜像小型化以提高启动速度和减少安全风险。然而,在实际操作中,有时候需要临时引入一些工具来进行调试、监控或问题排查。Kubernetes提供了临时容器(ephemeral containers&…...
uni-app如何搭建项目(一步一步教程)
来来来,看这里 uni-app新建项目教程uni-app项目结构 首先我们要有一个HBuilder这个软件,然后我们来搭建uni-app项目 uni-app新建项目教程 首先我们打开这个HBuilder软件,好我们就出现这个界面,我们点击新建项目 然后我们选择…...
javascript中原型链(__proto__)与原型(prototype)
JavaScript中原型链(proto)与原型(prototype) 在JavaScript中,理解原型链(__proto__)和原型(prototype)对于深入掌握面向对象编程至关重要。本文将通过示例代码,详细解析__proto__和prototype之间的关系&a…...
基于多种机器学习的酒店客户流失预测模型的研究与实现
文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍实现过程 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 项目背景: 在当今竞争激烈的酒店行业中,预测和防止客户流…...
Unity实现自定义图集(三)
以下内容是根据Unity 2020.1.0f1版本进行编写的 1、实现编辑器模式下进游戏前Pack全部自定义图集 同Unity的图集一样,Unity的编辑器模式会在进游戏前把全部的SpriteAtlas都打一次图集,如图: 我们也实现这样的效果。 首先需要获取全部的图集路径。因为目前使用的是以.…...
【测开面试真题】
针对地图导航设计测试用例 文章目录 1. selenium 定位元素的方式有几种?2. 自动化测试能够取代人工测试吗?3. 什么是回归测试? 1. selenium 定位元素的方式有几种? 🐧①通过CSS选择器定位;🐧②…...
RelationGraph实现工单进度图——js技能提升
直接上图: 从上图中可以看到整个工单的进度是从【开始】指向【PCB判责】【完善客诉】【PCBA列表】,同时【完善客诉】又可以同时指向【PCB判责】【PCBA列表】,后续各自指向自己的进度。 直接上代码: 1.安装 1.1 Npm 方式 npm …...
针对脚本爬虫攻击的防御策略与实现
随着互联网的发展,网站和应用程序面临着越来越多的自动化攻击,其中包括使用脚本进行的大规模数据抓取,即所谓的“爬虫攻击”。这类攻击不仅影响网站性能,还可能导致敏感数据泄露。本文将探讨如何识别爬虫攻击,并提供一…...
JVM发展历程
JVM发展历程 Sun Classic VM 早在1996年Java1.0版本的时候,Sun公司发布了一款名为sun classic VM的Java虚拟机,它同时也是世界上第一款商用Java虚拟机,JDK1.4时完全被淘汰。这款虚拟机内部只提供解释器。现在还有及时编译器,因此…...
C语言 | Leetcode C语言题解之第470题用Rand7()实现Rand10()
题目: 题解: // The rand7() API is already defined for you. // int rand7(); // return a random integer in the range 1 to 7int rand10() {while(true) {int index (rand7() - 1) * 7 rand7(); if(index < 40) return index % 10 1; } }...
【JavaScript】拷贝对象的几种方式与对比
#工作中拷贝对象是常有的事,我们需要分清楚深浅拷贝,一般来说要做的都是深拷贝,不然会有关联影响# 解构赋值 es6新语法,简洁是简洁,但是需要注意深拷贝只针对第一层 使用方式:{...obj} let stu {name:…...
高防服务器为何有时难以防御CC攻击及其对策
高防服务器通常被用来抵御各种类型的DDoS攻击,包括CC(Challenge Collapsar)攻击。然而,在某些情况下,即使是配备了高级防护措施的高防服务器也可能难以完全防御CC攻击。本文将探讨导致这一现象的原因,并提供…...
性能测试工具locust —— Python脚本参数化!
1.1.登录用户参数化 在测试过程中,经常会涉及到需要用不同的用户登录操作,可以采用队列的方式,对登录的用户进行参数化。如果数据要保证不重复,则取完不再放回;如可以重复,则取出后再返回队列。 def lo…...
Java中的拦截器、过滤器及监听器
过滤器(Filter)监听器(Listener)拦截器(Interceptor)关注点web请求系统级别参数、对象Action(部分web请求)如何实现函数回调事件Java反射机制(动态代理)应用场…...
Nginx 和 Lua 设计黑白名单
使用 Nginx 和 Lua 设计黑白名单机制,借助 Redis 存储 在现代网络应用中,安全性是一个不可忽视的关键因素。应用程序需要能够有效地管理访问权限,以保护其资源不被恶意用户攻击。黑白名单机制是实现访问控制的一种有效方式。本文将详细介绍如…...
【部署篇】Redis-01介绍
一、Redis介绍 1、什么是Redis? Redis,英文全称是Remote Dictionary Server(远程字典服务),Redis是一个开源的、使用ANSI C语言编写的Key-Value存储系统,支持网络、可基于内存亦可持久化。 它提…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
