首页 > 系统相关 >Windows 基础(一):深入理解Windows,掌握命令行与Shell

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

时间:2024-11-02 10:49:34浏览次数:5  
标签:Shell Windows 命令 命令行 Linux PowerShell

内容预览 ≧∀≦ゞ

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系统的不同之处以及终端命令行工具的使用,这些都是红队不可或缺的知识(不同系统下文件路径的区别等细微知识点尤其值得关注)。同时,需要强调的是,命令需要多敲多练,方可熟能生巧。

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

标签:Shell,Windows,命令,命令行,Linux,PowerShell
From: https://blog.csdn.net/2301_79518550/article/details/143439428

相关文章

  • windows:家庭版 'gpedit.msc' 不是内部或外部命令,也不是可运行的程序
    说明:window10家庭版不支持gpedit.msc命令解决:联网安装所需依赖软件新建bat脚本@echooffsetfileName=policy.txt::获取依赖的软件信息dir/b%systemroot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum>%fileName%dir/b%syste......
  • 【shell脚本】使用 Shell 脚本比较和同步目录:自动化文件管理的利器
    原创日常运维文档在系统管理中,比较两个目录的内容是一项常见任务,尤其在数据备份和服务器维护时,它显得尤为重要。为此,我们可以使用Shell脚本来简化这个过程,实现自动化。下面将对一个名为compare_files.sh的脚本进行详细介绍,该脚本能够比较目录大小并使用rsync检查内容一......
  • Windows基础(1)命令学习
    Windows基础(1)系统配置linux:/etc和/proc(存储信息在目录)windows:注册表(存储信息在注册表里)windows的四种shell接口GUI图形化用户界面,操作简单cmd命令行用户接口,包含一组预定义的命令wmic微软基于wbem的实现,后被powershell取代powershell自动化脚本框架,支持.net架构wsl......
  • windows 驱动实例分析系列: NDIS 6.0的Filter 驱动改造(二)
    缓冲区池Filter驱动要发送数据,除了实现这两个回调之外,还需要分配一个NET_BUFFER_LIST池,用于从池中分配NET_BUFFER_LIST结构,注意内核代码必须仅从Pool中分配NET_BUFFER_LIST以及NET_BUFFER等缓冲区结构。分配 一般会使用下面的代码来分配缓冲区池:NDIS_HANDLEAllocateList......
  • windows 驱动实例分析系列: NDIS 6.0的Filter 驱动改造(一)
    NDIS生成的Filter例程已经非常完善,但根据需要还是要对它进行改造,以适应实际的需求,在这一类的改造中,主要涉及的三个方面:处理OID、发送数据包、接收数据包。需求和定义一般来说,Filter驱动要么需要对某些数据包进行处理、要么是需要对某些网络适配器的行为进行修改,所以需求最......
  • Windows部署rabbitmq
    本次安装环境:系统:Windows11软件建议版本:erlangOPT26.0.2rabbitmq3.12.4一、下载1.1下载erlang官网下载地址:1.2下载rabbitmq官网下载地址:建议使用解压版,安装版可能会在安装软件时出现查不到erlang环境的报错,导致安装失败。二、部署2.1部署erlang2.1.1安装http复制代码右键管......
  • shell脚本之awk的使用
    步骤一:awk的基本用法基本操作方法格式1:awk[选项]'[条件]{指令}'文件格式2:前置指令|awk[选项]'[条件]{指令}'其中print是最常用的编辑指令;若有多条编辑指令,可用分号分隔。Awk过滤数据时支持仅打印某一列,如第2列、第5列等。处理文本时,默认将空格、制表符作为分隔符。......
  • Linux-shell实例手册-网络操作
    本文章讲解的是在linux下跟网络相关的一些操作和命令,喜欢就点赞收藏哦,方便随时查阅!文章目录1Linux下网络基本命令2netstat3ssh4网卡配置文件5route6解决ssh链接慢7ftp上传8nmap9 流量切分线路10snmp1Linux下网络基本命令   rz  #通过ssh上传......
  • SHELL 猜随机数
    猜随机数脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,猜小了或猜大了,直至用户猜对脚本结束。#!/bin/bash#RANDOM为系统自带的系统变量,值为0-32767的随机数#使用取余算法将随机数变为1-100的随机数num=$[RANDOM%100+1]#使用read提示用户猜数......
  • 利用Msfvenom对Windows进行远程控制
    一、准备工作先在kali安装Apache2,下载代码如下sudoaptinstallapache2 启动Apache2服务serviceapache2start 在kali浏览器中输入你的kaliIP,得到该页面说明启动成功二、开始1.msf远控生成(1)在kali运行msf生成exemsfvenom-pwindows/meterpreter/reverse_t......