@[TOC](内容预览 ≧∀≦ゞ
Windows 基础(一)
导语
在计算机操作系统的领域,Windows 和 Linux 作为最主流的两大平台,各自拥有独特的特点和功能。本文将重点探讨 Windows 系统的基本构架,并介绍不同类型的命令行工具和 Shell。此外,我们还将介绍一些常用的 Windows 命令,旨在帮助用户掌握 Windows 操作系统的基础知识和实用技巧。
一、Windows 和 Linux 的区别
| 特点 | Windows | Linux |
|---|---|---|
| 用户界面 | 主要使用图形用户界面(GUI),也提供命令行界面(CLI) | 主要通过命令行界面(CLI)操作,也有 GUI 选项 |
| 文件系统 | NTFS、FAT32、exFAT | ext3、ext4、Btrfs、XFS、FAT32 等 |
| 开源与闭源 | 大部分是闭源软件 | 大部分是开源软件 |
| 软件安装 | 常通过安装程序和微软商店 | 通过包管理器(如 apt、yum、dnf) |
| 权限管理 | 用户账户控制(UAC) | 基于用户和组的权限管理 |
| 开发环境 | .NET Framework、Visual Studio | GCC、Python、Java、各种开发工具 |
| 命令行工具 | PowerShell、CMD、Windows Terminal | Bash、Zsh、Fish 等 |
| 默认 Shell | CMD(命令提示符) | Bash(大多数发行版) |
| 系统更新 | 通过 Windows Update | 通过包管理器或命令行更新 |
| 硬件兼容性 | 支持更广泛的硬件 | 一些硬件可能需要额外的驱动支持 |
| 安全性 | 病毒和恶意软件风险较多 | 由于开源和权限管理,安全性较高 |
| 路径格式 | 使用反斜杠(\),如 C:\Users\User (不区分大小写) |
使用斜杠(/),如 /home/user (区分大小写) |
| 系统配置 | 配置文件通常存储在注册表或特定目录 | 配置文件通常为文本文件,位于 /etc 目录等 |
补充知识:
- 文件系统
- 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),可以编写简单脚本。
- 命令格式相对简单,但功能有限。
- 常用命令:
dir、cd、copy、del等。
2. Windows PowerShell
- 简介:PowerShell 是一个功能强大的命令行和脚本环境,结合了命令行和编程功能,支持访问 .NET 对象。
- 特点:
- 提供丰富的命令和功能,支持复杂的自动化任务。
- 支持管道功能,允许将一个命令的输出作为另一个命令的输入。
- 支持对象而非文本,提供强大的数据操作能力。
- 可以通过 cmdlet 执行特定操作。
- 常用命令:
Get-Command、Get-Help、Set-ExecutionPolicy、Get-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 通过别名机制实现了对这些命令的兼容。
这个小伙伴总结的笔记也非常不错,十分推荐:https://www.yuque.com/yuqueyonghubkyqvo/hxh303/ugf2qv2g0tzq82bu
1. 文件与目录操作
这些命令用于管理文件和目录,包括创建、删除、重命名、复制等常用操作。
| 命令 | 描述 |
|---|---|
dir |
显示目录内容 |
cd/chdir |
切换当前目录 |
md/mkdir |
创建新目录 |
rd/rmdir |
删除空目录,使用 /S 参数可删除非空目录 |
ren/rename |
重命名文件或目录 |
move |
移动文件或重命名目录 |
copy |
复制文件 |
xcopy |
复制目录及其所有子目录 |
del/erase |
删除文件 |
attrib |
显示或修改文件属性 |
tree |
以树状结构显示目录和子目录 |
2. 文本处理
这些命令用于查看、查找和比较文本内容,适用于文本文件管理和脚本任务。
| 命令 | 描述 |
|---|---|
type |
显示文本文件内容 |
more |
分屏显示文本内容 |
find |
在文件中查找指定字符串 |
findstr |
高级文本搜索功能,支持正则表达式 |
fc |
比较文件内容差异 |
echo |
显示消息或将文本写入文件 |
sort |
对文本内容进行排序 |
3. 系统与网络管理
Windows 提供了多种系统和网络管理命令,用于查询网络配置、监控系统任务、设置环境变量等操作。
| 命令 | 描述 |
|---|---|
ipconfig |
显示网络接口的配置 |
ping |
测试到指定目标的网络连通性 |
tracert |
跟踪数据包到目标地址的路由 |
netstat |
显示网络连接、路由表和端口状态 |
tasklist |
列出当前运行的进程 |
taskkill |
终止指定的进程 |
set |
显示或设置环境变量 |
for |
循环执行批量操作(适用于批处理脚本) |
systeminfo |
显示操作系统的详细信息 |
msinfo32 |
启动系统信息窗口,显示详细系统信息 |
shutdown |
关机、重启或注销计算机 |
hostname |
显示本机的主机名 |
结语
在本文中,我们深入介绍了Windows 系统与LInux系统的不同之处以及终端命令行工具的使用,这些都是红队工作中不可或缺的知识点(特别是不同系统下文件路径等细微差异)。需要强调的是,命令需要多敲多练,方可熟能生巧。
最后,再次感谢您阅读本篇文章,如果您对文中内容有任何疑问或建议,欢迎在评论区与我交流!您的点赞和分享将是我继续创作的动力。
原文 https://blog.csdn.net/2301_79518550/article/details/143439428