Windows 基础(一):深入理解Windows,掌握命令行与Shell

内容预览 ≧∀≦ゞ

  • Windows 基础(一)
    • 声明
    • 导语
    • 一、Windows 和 Linux 的区别
    • 二、Windows 的Shell
      • Shell 和 终端 的区别
      • 1. 命令提示符(CMD)
      • 2. Windows PowerShell
      • 3. Windows Terminal
      • 4. Windows Subsystem for Linux (WSL)
    • 三、Windows 常用命令
      • 1. 文件与目录操作
      • 2. 文本处理
      • 3. 系统与网络管理
    • 结语

Windows 基础(一)


声明

笔记内容参考了B站UP主 泷羽sec 的学习视频,如有侵权,将立即删除。
本笔记旨在促进网络安全学习,任何不当使用均与作者无关,请勿逾越法律红线,否则后果自负。
希望这些内容能对各位师傅有所帮助,欢迎您的点赞和评论!


导语

在计算机操作系统的领域,Windows 和 Linux 作为最主流的两大平台,各自拥有独特的特点和功能。本文将重点探讨 Windows 系统的基本构架,并介绍不同类型的命令行工具和 Shell。此外,我们还将介绍一些常用的 Windows 命令,旨在帮助用户掌握 Windows 操作系统的基础知识和实用技巧。


一、Windows 和 Linux 的区别

特点WindowsLinux
用户界面主要使用图形用户界面(GUI),也提供命令行界面(CLI)主要通过命令行界面(CLI)操作,也有 GUI 选项
文件系统NTFS、FAT32、exFAText3、ext4、Btrfs、XFS、FAT32 等
开源与闭源大部分是闭源软件大部分是开源软件
软件安装常通过安装程序和微软商店通过包管理器(如 apt、yum、dnf)
权限管理用户账户控制(UAC)基于用户和组的权限管理
开发环境.NET Framework、Visual StudioGCC、Python、Java、各种开发工具
命令行工具PowerShell、CMD、Windows TerminalBash、Zsh、Fish 等
默认 ShellCMD(命令提示符)Bash(大多数发行版)
系统更新通过 Windows Update通过包管理器或命令行更新
硬件兼容性支持更广泛的硬件一些硬件可能需要额外的驱动支持
安全性病毒和恶意软件风险较多由于开源和权限管理,安全性较高
路径格式使用反斜杠(\),如 C:\Users\User (不区分大小写)使用斜杠(/),如 /home/user (区分大小写)
系统配置配置文件通常存储在注册表或特定目录配置文件通常为文本文件,位于 /etc 目录等

补充知识:

  1. 文件系统
  • Linux 文件系统:遵循“一切皆文件”原则。块设备(如硬盘分区)会挂载到目录结构中的某个位置。
  • Windows 文件系统:通过驱动器盘符(如 C:\D:\)来标识磁盘分区,同时也支持将分区挂载到目录。

二、Windows 的Shell

Windows 提供了多种命令行工具和环境,包括 CMD 和 PowerShell(这两个是 Shell),以及 Windows Terminal 和 WSL(分别是终端程序和兼容环境)。每种工具都有其独特的特点和用途。在正式介绍这些工具之前,我们先来了解一下 Shell 和终端的区别。

Shell 和 终端 的区别

Shell终端 是计算机系统中两种相关但不同的概念:

Shell

  • Shell 是一种命令解释器,提供了用户与操作系统核心(内核)交互的界面。
  • 它接受用户输入的命令,将其传递给操作系统执行,然后返回结果。
  • Shell 可以是文本界面的(如 Bash、CMD、PowerShell)或图形界面的。
  • 不同操作系统提供了不同类型的 Shell,比如 Windows 的 CMD 和 PowerShell,Linux 的 Bash 和 Zsh。

终端

  • 终端是一个运行 Shell 或其他程序的接口或窗口。
  • 现代的终端应用程序通常支持多个 Shell,可以在同一个终端窗口内运行不同的 Shell 实例。
  • 终端负责显示 Shell 的输出,并传递用户的输入到 Shell,但它本身不直接解释命令。
  • 终端可以管理多个会话、支持分屏、并提供个性化设置,如配色方案和快捷键。

简言之,Shell 是处理命令的程序,负责解释和执行命令;终端则是提供一个窗口或界面,让用户可以与 Shell 互动。

1. 命令提示符(CMD)

  • 简介:命令提示符是 Windows 的传统命令行界面,用户可以通过输入命令来执行各种操作。
  • 特点
    • 提供基本的文件和系统管理命令。
    • 支持批处理文件(.bat),可以编写简单脚本。
    • 命令格式相对简单,但功能有限。
  • 常用命令dircdcopydel 等。

2. Windows PowerShell

  • 简介:PowerShell 是一个功能强大的命令行和脚本环境,结合了命令行和编程功能,支持访问 .NET 对象。
  • 特点
    • 提供丰富的命令和功能,支持复杂的自动化任务。
    • 支持管道功能,允许将一个命令的输出作为另一个命令的输入。
    • 支持对象而非文本,提供强大的数据操作能力。
    • 可以通过 cmdlet 执行特定操作。
  • 常用命令Get-CommandGet-HelpSet-ExecutionPolicyGet-Service 等。

3. Windows Terminal

  • 简介:Windows Terminal 是一个现代化的终端应用程序,支持多个选项卡和多个 Shell,如 CMD、PowerShell 和 WSL。
  • 特点
    • 提供丰富的自定义选项,如主题、配色方案和字体设置。
    • 支持同时运行多个 Shell,可以在不同选项卡中操作。
    • 提供 GPU 加速的文本渲染,提高了性能和视觉效果。
    • 支持 Unicode 和 UTF-8,适应多种语言和字符集。

4. Windows Subsystem for Linux (WSL)

  • 简介:WSL 允许用户在 Windows 上运行 Linux 发行版,提供一个与 Linux 命令行相似的环境。
  • 特点
    • 支持 Linux 命令和工具,用户可以运行大多数 Linux 应用程序。
    • 可以与 Windows 文件系统交互,轻松访问 Windows 文件。
    • 提供原生的 Linux 体验,适合开发者和系统管理员。
    • 支持安装多个 Linux 发行版(如 Ubuntu、Debian、Fedora 等)。

三、Windows 常用命令

由于 PowerShell 在红队场景中较少使用,这里主要介绍 CMD 中的常用命令。但需要注意的是,大多数 CMD 命令在 PowerShell 中也能兼容(PowerShell 通过别名处理实现兼容)。

1. 文件与目录操作

命令描述
dir显示目录内容
cd切换当前目录
md/mkdir创建新目录
rd删除目录(空或非空,加参数)
ren/rename重命名文件或目录
move移动或重命名文件/目录
copy复制文件
del删除文件
attrib设置文件属性

2. 文本处理

文本处理命令可以查看、查找和比较文本内容,常用于文件管理和脚本任务中。

命令描述
type显示文本文件内容
more分屏显示文本内容
find在文件中查找字符串
fc比较文件内容差异
echo显示消息或将文本写入文件

3. 系统与网络管理

Windows 提供了多种系统和网络管理命令,帮助用户查询网络配置、监控系统任务以及管理环境变量。

命令描述
ipconfig查看当前网络接口的配置
ping测试到指定目标的网络连接
netstat查看网络连接和端口状态
tasklist列出当前运行的进程或任务
taskkill终止特定的进程或任务
set显示或设置当前环境变量
for执行循环操作(批量处理)
sort对文本内容进行排序
tree以树状结构显示目录和子目录
systeminfo显示操作系统的详细信息
msinfo32打开系统信息窗口,显示详细信息

结语

在本文中,我们深入介绍了Windows 系统与LInux系统的不同之处以及终端命令行工具的使用,这些都是红队不可或缺的知识(不同系统下文件路径的区别等细微知识点尤其值得关注)。同时,需要强调的是,命令需要多敲多练,方可熟能生巧。

最后,再次感谢您阅读本篇文章,如果您对文中内容有任何疑问或建议,欢迎在评论区与我交流!您的点赞和分享将是我继续创作的动力。

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

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

相关文章

【数据库系统概论】第3章 关系数据库标准语言SQL(一)数据查询(超详细)

目录 一、单表查询 1. 简单的数据查询 (1)选择表中若干列 (2)选择表中若干行(元祖) 2. 聚合函数与分组查询 聚集函数 GROUP BY分组查询 二、联接查询 1、连接概述 2. 内联接(INNER JO…

unity后端kbengine用DOTween让 移动同步丝滑

unity在网络同步kbengine框架,同步移动时, 看自己很丝滑,但看他人是在跳越移动,一闪一闪,像掉帧, 看什么插值,高频同步,都不实用 用DOTween的 transform.DOMove(目标位置, 时间); //顺滑移动动画 这段代码不是放在Avatar.cs,放在AvatarView.cs里 if (Avatar.isPlayer() false…

【Effective C++】阅读笔记3

1. 成员变量声明为Private 建议将成员变量声明为Private,然后再public中提供调用该数据的接口 设置成Private的原因分析 类内成员变量被声明为Private,那么就可以外部代码直接访问或者修改内部数据通过公共接口获取内部数据,这样可以减少对外…

CSS3新增背景属性(四)

CSS3新增背景属性 1 background-origin 设置背景图原点起始位置: padding-box:默认值从padding区域开始显示背景图像;border-box:从border区域开始显示背景图像;content-box:从content区域开始显示背景图像…

C语言中的main函数:命令行参数的工作原理

在C语言中,main函数是程序的入口点。它不仅可以接受返回值,还能处理命令行参数,允许用户在运行程序时传递数据。命令行参数是用户在启动程序时通过命令行界面提供的输入。C语言允许通过main函数的参数来访问这些输入。   int main(int argc…

我在命令行下学日语

同一个动作重复 300 遍,肌肉就会有记忆,重复 600 遍,脊柱就会有记忆,学完五十音图不熟练,经常遗忘或者要好几秒才想得起来一个怎么办?没关系,我做了个命令行下的小游戏 KanaQuiz 来帮助你记忆&a…

c++:vector

一、vector是什么? 1.1 vector的介绍 vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是…

一键切换暗黑模式,这些代码片段你不可错过

文章目录 前言正文1.多主题切换2.使用 SASS 实现轻松深色模式3.动画切换浅色与深色模式4.纯 CSS 主题切换5.GitHub 风格的深色模式切换6.持久深色模式7.基本 Vue 响应式切换8.创意灯泡切换 总结 前言 如今,许多网站设计师都会为用户提供浅色和深色模式的选择。这不…

理解为什么要有C++设计模式

什么时设计模式? 每一个模式描述了一个在我们周围不断重复的问题以及该问题的解决方案的核心,这样,就能一次有一次地使用该方案,而不必做重复劳动。 如何解决复杂性? 分解:人们面对复杂性有一个常见的做法…

HJ33 整数与IP地址间的转换

HJ33 整数与IP地址间的转换 整数与IP地址间的转换 描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。 举例:一个ip地址为10.0.3.193 每段数字 …

雷军救WPS“三次”,WPS注入新生力量,不再“抄袭”微软

救WPS“三次” 1989年,求伯君用128万行代码编写出了WPS1.0,宣告了中国自主办公时代的开启。 那时候,雷军还在武汉大学深造,他早就把求伯君当成了自己的榜样,这一来二去的,雷军和WPS之间也就结下了不解之缘…

[MySQL#10] 索引底层(1) | Page | 页目录

目录 1. 初识索引 2. 认识磁盘 3. MySQL与磁盘交互基本单位 4. 索引的理解 1. 重谈Page 2. 为什么IO交互要用Page 3. 有主键的表插入数据时的排序 4. 单个Page与多个Page 4.1 单个Page 4.2 多个Page 目录 单Page目录 多Page目录 在看本文之前,可以回顾…

sklearn 实现随机森林分类器 - python 实现

python sklearn 实现随机森林分类器 from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris # 加载数据集 irisload_iris() x,yiris.data,iris.target print("x y shape:",x.shape,y.shape) # 创建并训练模型 model Random…

Altium Designer使用技巧(二)

一、创建类 1、按DC键,打开对象类。 2、右键添加一个类。命名为PWR。 3、将所有的电源类,全部添加到新创建的类中,从非成员类中点选到成员类中。 4、右下角点panes ,点PCB。 5、然后在左边单击PWR,点连接,可显示或…

<十六>Ceph mon 运维

Ceph 集群有故障了,你执行的第一个运维命令是什么? 我猜测是ceph -s 。无论执行的第一个命令是什么,都肯定是先检查Mon。 在开始之前我们有必要介绍下Paxos协议,毕竟Mon就是靠它来实现数据唯一性。 一: Paxos 协议 1…

Python Flask 数据库开发

Python Flask 数据库开发 引言环境配置创建 Flask 应用,连接数据库定义路由定义模型创建表创建 API 数据库直接操作启动 Flask 应用app.py 示例运行 Flask访问应用 展望 引言 在现代 web 开发中,Python 的 Flask 框架因其轻量和灵活性受到广泛欢迎。结合…

NPOI 操作详解(操作Excel)

目录 1. 安装 NPOI 2. 使用 NPOI 创建新 Excel 文件 3. 设置列宽和行高 1. 设置列宽 2. 设置行高 3. 同时设置列宽和行高 4. 设置统一的行高 5. 设置统一的列宽 6. 应用统一的行高和列宽 4. 合并单元格 5. 设置单元格样式(字体、边框、背景色等&#xf…

TCP/IP网络编程:理解网络编程和套接字

TCP/IP网络编程:理解网络编程和套接字 网络编程又叫做套接字编程,是因为在网络编程中依赖使用套接字(socket),网络编程一般是C/S架构,即客户端/服务器模式,在服务器端依赖套接字绑定自身接口,并开启监听客户端连接&am…

Spring中lazy-init属性

Spring中lazy-init属性 1. 在 Spring 框架中的 lazy-init 属性 在 Spring 框架中,lazy-init 属性主要用于控制 Spring 容器中 Bean 的初始化时机。 含义: 当一个 Bean 被定义在 Spring 的配置文件(可以是 XML 配置或者基于注解的配置等效场景…

多处理机调度(李昂学长视频总结)25新增考点

多处理机定义:多处理机指的是某个计算机系统中有多个cpu,在多处理机调度中,多处理机一般指的是共享存储器处理机,其两个或更多的cpu全部共享一个公用的RAM。 根据系统中的处理机相同与否,可将多处理机系统分为如下两类…