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

news2024/10/10 16:47:18

在这里插入图片描述

文章目录

  • 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类型的软件。

WindowsCLIGUI
WindowsWindows cmd/powershell资源管理器
类 Unixbash/zshGNOME/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 不限制脚本运行但会对非本地脚本弹出警告


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2202529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

作为一名测试工程师如何学习Kubernetes(k8s)技能

前言 Kubernetes(K8s)作为云原生时代的关键技术之一,对于运维工程师、开发工程师以及测试工程师来说,都是一门需要掌握的重要技术。作为一名软件测试工程师,学习Kubernetes是一个有助于提升自动化测试、容器化测试以及云原生应用测试能力的重…

解决:gpg: 从公钥服务器接收失败:服务器故障

当你添加密钥时报错,可以按照下面的步骤,依次输入。 # 停止 Network Manager 服务 sudo service network-manager stop# 删除 Network Manager 的状态文件 sudo rm /var/lib/NetworkManager/NetworkManager.state# 重新启动 Network Manager 服务 sudo …

Java项目实战II基于Java+Spring Boot+MySQL的高校心理教育辅导系统的设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在高等教育…

目标检测:yolov9训练自己的数据集,新手小白也能学会训练模型,一看就会

训练自己的数据集分为4部分,先配置环境,再获取制作自己的数据集,然后修改配置训练,最后验证训练结果。新手小白0基础建议一步一步跟着来,哪里看不懂的或者遇到哪有问题可以评论区交流或者私信问~ 1. 环境配置 在训练…

在树莓派上部署安装OAK

OAK设备可以与微型主机(例如树莓派)进行连接,在树莓派上安装DepthAI, 需要安装相关依赖Dependencies并且可以通过pip安装Depthai Library. DepthAI Library 在PyPi上对树莓派有预构建的 wheels 使用预配置的树莓派OS 镜像 我们提供预安装了D…

MIBench:首个模型反演攻击与防御基准测试工具。不仅集成了16种最先进的攻击和防御方法,还提供了9种常用评估协议,为标准化和公平的评估分析提供了便利。

2024-10-08,由哈尔滨工业大学(深圳)和清华大学深圳国际研究生院的研究人员联合创建的MIBench,作为首个模型反演攻击和防御的实用基准测试,不仅集成了16种最先进的攻击和防御方法,还提供了9种常用评估协议&a…

SRAM,DRAM,DTCM RAM,ITCM RAM

一:SRAM,DRAM,DTCM RAM,ITCM RAM 1.SRAM:(Static Random Access Memory)一种静态随机存取存储器计算机系统和嵌入式系统中作为高速数据存储容器,SRAM 使用触发器电路来存储每个位的数据&#x…

IDEA使用Maven创建父与子多模块项目

在 IntelliJ IDEA 中使用 Maven 创建父与子多模块项目是一个常见的开发实践,有助于更好地组织和管理代码。在多模块项目中,可以将公共的代码、资源或配置抽离到独立的模块中,然后在其他模块中直接引用。这样可以避免代码重复,提高…

【01】手把手教你0基础部署SpringCloud微服务商城教学-Mybatis篇(上)

序言: 微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。 想学习SpringCloud搭建项目,首先我们需要学习的就是Mybatis和Docker。 大家在日常开发中应该能发现,单表的CRUD…

IEC104规约的秘密之九----链路层和应用层

104规约从TCP往上,分成链路层和应用层。 如图,APCI就是链路层,ASDU的就是应用层 我们看到报文都是68打头的,因为应用层报文也要交给链路层发送,链路层增加了开头的6个字节再进行发送。 完全用于链路层的报文每帧都只有…

基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet模型【pytorch框架+python】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示: 基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili (一)简介 基于卷…

C++ | Leetcode C++题解之第467题环绕字符串中唯一的子字符串

题目&#xff1a; 题解&#xff1a; class Solution { public:int findSubstringInWraproundString(string p) {vector<int> dp(26);int k 0;for (int i 0; i < p.length(); i) {if (i && (p[i] - p[i - 1] 26) % 26 1) { // 字符之差为 1 或 -25k;} els…

京东统一存储实践

​作者&#xff1a;王腾蛟&#xff0c;2021年8月加入京东&#xff0c;目前主要负责京东离线存储(HDFS)相关工作。 导读 随着大数据时代的到来&#xff0c;海量数据的存储与处理成为了众多企业面临的重要挑战。HDFS 作为一个高可靠性、高扩展性的分布式文件系统&#xff0c;在…

1招!统一管理多个微信,工作效率真的太高了!

你是否经常在使用多个微信号时感到疲惫不堪&#xff1f;每当你需要切换账号时&#xff0c;是不是得不停地登陆、登出&#xff0c;甚至要带着几台手机外出&#xff1f;这种繁琐的操作不仅浪费时间&#xff0c;还严重影响了工作效率。 今天&#xff0c;我将为你分享一款强大的多…

【优选算法】(第三十二篇)

目录 ⼆进制求和&#xff08;easy&#xff09; 题目解析 讲解算法原理 编写代码 字符串相乘&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 ⼆进制求和&#xff08;easy&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#xff08;LeetCode&a…

C语言-常见文件操作函数详解(fgetc,fputc,fgets,fputs,fscanf,fprintf,fread,fwrite)

&#x1f30f;个人博客&#xff1a;尹蓝锐的博客 希望文章能够给到初学的你一些启发&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏支持一下笔者吧&#xff5e; 顺序读写数据常用函数 函数名调用形式功能返回值fgetcfgetc(fp)从指针变量fp指向的文件中读…

诺贝尔物理学奖向机器学习与神经网络致敬,科学边界的跨越与未来的启示

2024年诺贝尔物理学奖首次颁发给机器学习与神经网络领域的研究者&#xff0c;这一历史性事件打破了人们对诺贝尔物理学奖的传统认知&#xff0c;激起了全球学术界、科技界的广泛讨论。这一变化不仅标志着科学边界的延伸&#xff0c;也体现出人工智能技术对现实世界的深远影响。…

剪切走的照片:高效恢复与预防策略

一、剪切走的照片现象描述 在日常的数字生活中&#xff0c;照片作为记录生活点滴、工作成果的重要载体&#xff0c;其重要性不言而喻。然而&#xff0c;有时我们可能会遇到一种令人头疼的情况&#xff1a;原本打算通过剪切操作将照片移动到另一个位置&#xff0c;却意外地发现…

Java 8 的内存结构

Java8内存结构图 虚拟机内存与本地内存的区别 Java虚拟机在执行的时候会把管理的内存分配成不同的区域&#xff0c;这些区域被称为虚拟机内存&#xff0c;同时&#xff0c;对于虚拟机没有直接管理的物理内存&#xff0c;也有一定的利用&#xff0c;这些被利用却不在虚拟机内存…

Qt5.15.2静态编译 MinGW with static OpenSSL

如果想用VS2017编译,可参考:Qt5.15.2静态编译 VS2017 with static OpenSSL 一.环境 系统:Windows 10 专业版 64位 编译器:MinGW 8.1.0 第三方工具:perl,ruby和python PS:经验证,用MinGW 12.1.0来编译Qt5.15.2会报错 我用Phthon 2.7.18虽然可以编过,但是强烈建议Pyth…