Linux PowerShell 基础知识(新手指南)Linux PowerShell 基础知识(新手指南)Linux PowerShell 基础知识(新手指南)Linux PowerShell 基础知识(新手指南)
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux PowerShell 基础知识(新手指南)

适用于 Linux 的 PowerShell

近年来,微软有一种趋势是将其部分产品跨平台并开源。 Linux 本身也以子系统的形式成为 Windows 的一部分。 PowerShell 最初是一个仅限 Windows 的组件,于 2016 年 8 月 18 日以开源形式发布并实现跨平台,可用于 Linux 和 Mac OS。

PowerShell 是微软开发的任务自动化和配置管理系统。它由命令解释器 (shell) 和基于 .NET Framework 的脚本语言组成。

它提供对 COM(组件对象模型)和 WMI(Windows 管理规范)的完全访问,从而允许系统管理员在本地和远程 Windows 系统以及 WS-Management 和 CIM(通用信息模型)上执行管理任务,允许您来管理远程 Linux 系统和网络设备。

在此框架内,管理任务主要由称为 cmdlet(发音为 command-let)的特定 .NET 类执行。与 Linux 中的 shell 脚本类似,用户可以按照特定规则将 cmdlet 组存储在文件中,从而创建脚本或可执行文件。这些脚本可以用作独立实用程序或命令行工具。

如何在 Linux 上安装 PowerShell

官方文档“Installing PowerShell on Linux”中描述了在各种 Linux 发行版上的安装。

但是在官方文档中缺少有关某些发行版的信息,为了填补这一空白,编写了单独的说明:

  • 如何在 Linux Mint 中安装 PowerShell
  • 如何在 Arch Linux、Manjaro、BlackArch 上安装 PowerShell

Linux 上 PowerShell 的功能

1。命令大小写在 PowerShell 中并不重要

在 Windows 中,命令的大小写以及文件和文件夹的名称并不重要——这与 Linux 有很大不同,在 Linux 中,命令和文件的大小写都很重要。

PowerShell 从 Windows 继承了一个特性——大小写不重要。虽然本教程显示了不同大小写的命令(例如,Get-Date),但这实际上是为了更好的可读性,您是否输入 Get-Date 并不重要、GET-DATE、get-date 或 gET-dATE。

2。缺少一些命令

PowerShell 中的命令集取决于可用的模块,也就是说,即使在 Windows 计算机上,如果您安装了 Active Directory,那么新命令也会出现在 PowerShell 中。

Linux 版本的 PowerShell 缺少标准 Windows PowerShell 中的一些命令,主要是在涉及 Windows 特定的事情时。

3。许多别名和缩写

在PowerShell命令的脚本和示例中可以看到命令的不寻常的写法——在PowerShell中,缩写是允许的,而且还有很多别名,即相同的动作可以由不同方式编写的命令执行。

4。 PowerShell 版本

请注意,PowerShell 5 目前默认预装在 Windows 上,这显示安装了最新版本的 PowerShell 7。在 Windows 上,您也可以安装 PowerShell 7,但此版本不会取代预装版本 - 将有 2此外,从“高级用户菜单”(Win+x) 启动 PowerShell 版本时,将打开 PowerShell 5,而当您启动 Windows Terminal 时,将打开 PowerShell 7。

5。跳过选项名称

一些选项是位置性的,当指定它们的值时,您可以跳过选项名称——乍一看这可能看起来很混乱。

如何在 Linux 上使用 Powershell

在本节中,我们将对 Powershell 进行简短介绍;我们将在其中了解如何启动 PowerShell,运行一些基本命令,了解如何使用文件、目录和进程。稍后,您将学习如何列出所有可用命令、显示命令帮助和别名。

要启动 Powershell,请输入:


pwsh

您可以使用以下命令检查 Powershell 版本:


$PSVersionTable

如果您只需要版本号,则使用以下结构:


Get-Host | Select-Object Version

在 Linux 上运行一些基本的 Powershell 命令。

显示当前日期:


Get-Date

显示计算机正常运行时间:


Get-Uptime

显示当前工作目录:


Get-Location

在 Powershell 中处理文件和目录

1.新建一个空文件有两种方式:


New-Item hackware.stuff

或者:


"">hackware.stuff

然后向其中添加内容,查看文件内容。


Set-Content hackware.stuff -value "Делаем pwsh.ru - это весело!"
Get-Content hackware.stuff

2. 在 PowerShell 中删除该文件。


Remove-Item hackware.stuff
Get-Content hackware.stuff

3. 创建一个新目录。

看看下面的一组命令:


mkdir hackware-files
cd hackware-files
"">domains.list
ls

听起来有点熟?是的,如前所述,PowerShell 中有许多别名。可以使用以下命令执行相同的操作:


New-Item hackware-files -ItemType "directory"
Set-Location hackware-files
New-Item domains.list
Get-ChildItem -Name

事实上,这些命令不只是做同样的事情——它们是相同的。

4. 要显示一个长列表,显示有关文件和目录的详细信息,包括模式(文件类型)、上次修改时间,请输入:


dir

或者:


Get-ChildItem

要显示特定文件夹(在本例中为文件系统的根目录)的内容,请运行:


Get-ChildItem /

在 PowerShell 中使用进程

如何使用 PowerShell 查看 Linux 中所有正在运行的进程:


Get-Process

要查看有关具有给定名称的一个或一组正在运行的进程的详细信息,请将进程名称指定为上一个命令的参数,如下所示:


Get-Process httpd

输出中单位的值如上:

  • NPM(K) ——进程使用的非分页内存量,以千字节为单位。
  • PM(K) ——进程正在使用的可分页内存量,以千字节为单位。
  • WS(K) – 进程工作集的大小,以千字节为单位。工作集由进程最近引用的内存页面组成。
  • CPU(s) – 进程在所有处理器上使用的处理器时间量,以秒为单位。
  • ID – 进程 ID (PID)。
  • ProcessName – 进程的名称。

要获取有关一个或多个进程的所有可能数据,请使用以下形式的命令(将 httpd 替换为您感兴趣的进程的名称):


Get-Process httpd | Format-List *

要停止 ID 为 10500 的进程,请使用如下所示的命令:


Get-Process -Id 10500 | Stop-Process

在 PowerShell 中获得帮助

要了解更多信息,请获取用于各种任务的所有 PowerShell 命令的列表:


Get-Command

可以过滤 Get-Command 命令显示的信息。假设您想查看包含单词“Alias”的 PowerShell 命令,为此您需要运行以下命令:


Get-Command -Name *Alias

要显示有关命令 (cmdlet) 的帮助,请使用以下命令:


Get-Help CMDLETS

例如,要显示有关 Get-Alias cmdlet 的帮助:


Get-Help Get-Alias

要获得有关 Get-Command 的最完整帮助,请执行以下操作:


Get-Help Get-Command -Full

PowerShell 中的别名

要查看所有可用的命令别名,请输入:


Get-Alias

要获取有关特定别名的信息,请输入其名称:


Get-Alias -Name pwd

PowerShell 命令历史

最后但同样重要的是,显示命令历史记录(您之前运行的命令列表),如下所示:


history

所以这是对 Linux 上的 PowerShell 的介绍。当然,PowerShell 实际上可以做的远不止创建文件和显示正在运行的进程。

©2015-2025 艾丽卡 support@alaica.com