微软爱上 Linux:当 PowerShell 来到 Linux 时
创始人
2024-03-01 19:06:48
0

微软爱上 Linux 之后,PowerShell 这个原本只是 Windows 才能使用的组件,于 2016 年 8 月 18 日开源并且成为跨平台软件,登陆了 Linux 和 macOS。

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

PowerShell 提供对 COM ( 组件对象模型 Component Object Model ) 和 WMI ( Windows 管理规范 Windows Management Instrumentation ) 的完全访问,从而允许系统管理员在本地或远程 Windows 系统中 执行管理任务,以及对 WS-Management 和 CIM( 公共信息模型 Common Information Model )的访问,实现对远程 Linux 系统和网络设备的管理。

通过这个框架,管理任务基本上由称为 cmdlets(发音 command-lets)的 .NET 类执行。就像 Linux 的 shell 脚本一样,用户可以通过按照一定的规则将一组 cmdlets 写入文件来制作脚本或可执行文件。这些脚本可以用作独立的命令行程序或工具

在 Linux 系统中安装 PowerShell Core 6.0

要在 Linux 中安装 PowerShell Core 6.0,我们将会用到微软软件仓库,它允许我们通过最流行的 Linux 包管理器工具,如 apt-getyum 等来安装。

在 Ubuntu 16.04 中安装

首先,导入该公共仓库的 GPG 密钥,然后将 Microsoft Ubuntu 仓库注册到 APT 的源中来安装 PowerShell

$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
$ sudo apt-get update
$ sudo apt-get install -y powershell

在 Ubuntu 14.04 中安裝

$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
$ sudo apt-get update
$ sudo apt-get install -y powershell

在 CentOS 7 中安裝

首先,将 Microsoft RedHat 仓库注册到 YUM 包管理器仓库列表中,然后安装 PowerShell

$ sudo curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo
$ sudo yum install -y powershell

如何在 Linux 中使用 PowerShell Core 6.0

在这一节中,我们将会简单介绍下 PowerShell;我们将会看到如何启动 PowerShell,运行一些基础命令,操作文件、目录和进程。然后学习怎样列出所有可用的命令、显示命令帮助和别名。

输入以下命令来启动 PowerShell:

$ powershell

Start Powershell in Linux

在 Linux 中启动 PowerShell

你可以通过以下命令来查看 PowerShell 版本:

$PSVersionTable

Check Powershell Version

查看 PowerShell 版本

在 Linux 中运行基本的 PowerShell 命令。

get-date          [# 显示当前日期]
get-uptime        [# 显示开机时间]
get-location      [# 显示当前工作目录]

在 PowerShell 中操作文件和目录

1、 可以通过两种方法创建空文件:

new-item  tecmint.tex
或者
"">tecmint.tex

然后往里面添加内容并查看文件内容。

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex

Create New File in Powershell

在 PowerShell 中创建新文件

2、 在 PowerShell 中删除一个文件

remove-item tecmint.tex
get-content tecmint.tex

Delete File in Powershell

在 PowerShell 中删除一个文件

3、 创建目录

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls

Create Directory in Powershell

在 PowerShell 中创建目录

4、 执行长格式的列表操作,列出文件/目录详细情况,包括模式(文件类型)、最后修改时间等,使用以下命令:

dir

Directory Long Listing in Powershell

Powershell 中列出目录长列表

5、 显示系统中所有的进程:

get-process

View Running Processes in Powershell

在 PowerShell 中显示运行中的进程

6、 通过给定的名称查看正在运行的进程/进程组细节,将进程名作为参数传给上面的命令,如下:

get-process apache2

View Specific Process in Powershell

在 PowerShell 中查看指定的进程

输出中各部分的含义:

  • NPM(K) – 进程使用的非分页内存,单位:Kb。
  • PM(K) – 进程使用的可分页内存,单位:Kb。
  • WS(K) – 进程的工作集大小,单位:Kb,工作集由进程所引用到的内存页组成。
  • CPU(s) – 进程在所有处理器上所占用的处理器时间,单位:秒。
  • ID – 进程 ID (PID).
  • ProcessName – 进程名称。

7、 想要了解更多,获取 PowerShell 命令列表:

get-command

List Powershell Commands

列出 PowerShell 的命令

8、 想知道如何使用一个命令,查看它的帮助(类似于 Unix/Linux 中的 man);举个例子,你可以这样获取命令 Describe 的帮助:

get-help Describe

Powershell Help Manual

PowerShell 帮助手册

9、 显示所有命令的别名,輸入:

get-alias

List Powershell Command Aliases

列出 PowerShell 命令别名

10、 最后,不过也很重要,显示命令历史记录(曾运行过的命令的列表):

history

List Powershell Commands History

显示 PowerShell 命令历史记录

就是这些了!在这篇文章里,我们展示了如何在 Linux 中安装微软的 PowerShell Core 6.0。在我看来,与传统 Unix/Linux 的 shell 相比,PowerShell 还有很长的路要走。目前看来,PowerShell 还需要在命令行操作机器,更重要的是,编程(写脚本)等方面,提供更好、更多令人激动和富有成效的特性。

查看 PowerShell 的 GitHub 仓库:https://github.com/PowerShell/PowerShell

请在评论中分享你的观点。


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 狂热爱好者,将来的 Linux 系统管理员、web 开发者,目前是 TecMint 的内容编辑,是一个热爱研究计算机与坚定的分享知识的人。


via: http://www.tecmint.com/install-powershell-in-linux/

作者:Aaron Kili 译者:zijung 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

意外!微软发布AI对职业影...
(图片来源:摄图网) 自2023年ChatGPT掀起人工智能热潮,...
2025-08-06 20:17:37
微软官宣!将开源Windo...
快科技8月5日消息,微软近日宣布,计划开源Windows 11的用...
2025-08-05 18:42:51
微软 Win11 任务栏新...
IT之家 8 月 3 日消息,据 Windows Latest 报...
2025-08-03 08:42:49
刚刚,微软推出AI浏览器,...
梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 微软对浏览器...
2025-07-29 09:44:00
AI人才争夺战持续,微软挖...
“AI人才争夺战”硝烟弥漫,微软人工智能部门持续挖角谷歌DeepM...
2025-07-23 14:41:41
AI办公大战升温!Open...
很快,用户就能在 ChatGPT 中直接创建和编辑 Office ...
2025-07-18 09:12:35

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...