PowerShell 是一个跨平台的 (Windows, Linux 和 OS X) 自动化和配置工具(框架),可以和已有的工具友好集成,特别优化用于处理结构化数据 (如 JSON, CSV, XML 等), REST APIs 以及对象模型。它包含一个命令行 Shell、一个关联的脚本语言以及一个用于处理 cmdlets 的框架。
在 Linux 系统中安装 PowerShell Core 6.0
要在 Linux 中安装 PowerShell Core 6.0,我们将会用到微软软件仓库,它允许我们通过最流行的 Linux 包管理器工具,如 apt-get、yum 等来安装。
$ 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 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/14.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 中安裝
$ sudo curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo
$ sudo yum 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
在 Linux 中启动 PowerShell
你可以通过以下命令来查看 PowerShell 版本:
<span style="color: #bd63c5;line-height: 26px">$PSVersionTable</span>
查看 PowerShell 版本
在 Linux 中运行基本的 PowerShell 命令。
get-date [<span style="color: #57a64a;font-style: italic;line-height: 26px"># 显示当前日期]</span>
get-uptime [<span style="color: #57a64a;font-style: italic;line-height: 26px"># 显示开机时间]</span>
get-location [<span style="color: #57a64a;font-style: italic;line-height: 26px"># 显示当前工作目录]</span>
在 PowerShell 中操作文件和目录
1、 可以通过两种方法创建空文件:
new-item tecmint.tex
或者
<span style="color: #d69d85;line-height: 26px">""</span>>tecmint.tex
然后往里面添加内容并查看文件内容。
<span style="color: #4ec9b0;line-height: 26px">set</span>-content tecmint.tex -value <span style="color: #d69d85;line-height: 26px">"TecMint Linux How Tos Guides"</span>
get-content tecmint.tex
在 PowerShell 中创建新文件
2、 在 PowerShell 中删除一个文件
remove-item tecmint.tex
get-content tecmint.tex
在 PowerShell 中删除一个文件
3、 创建目录
mkdir tecmint-files
<span style="color: #4ec9b0;line-height: 26px">cd</span> tecmint-files
“”>domains.list
ls
在 PowerShell 中创建目录
4、 执行长格式的列表操作,列出文件/目录详细情况,包括模式(文件类型)、最后修改时间等,使用以下命令:
Powershell 中列出目录长列表
5、 显示系统中所有的进程:
get-process
在 PowerShell 中显示运行中的进程
6、 通过给定的名称查看正在运行的进程/进程组细节,将进程名作为参数传给上面的命令,如下:
get-process apache2
在 PowerShell 中查看指定的进程
输出中各部分的含义:
NPM(K) – 进程使用的非分页内存,单位:Kb。
PM(K) – 进程使用的可分页内存,单位:Kb。
WS(K) – 进程的工作集大小,单位:Kb,工作集由进程所引用到的内存页组成。
CPU(s) – 进程在所有处理器上所占用的处理器时间,单位:秒。
ID – 进程 ID (PID).
ProcessName – 进程名称。
7、 想要了解更多,获取 PowerShell 命令列表:
get-command
列出 PowerShell 的命令
8、 想知道如何使用一个命令,查看它的帮助(类似于 Unix/Linux 中的 man);举个例子,你可以这样获取命令 Describe 的帮助:
get-help Describe
PowerShell 帮助手册
9、 显示所有命令的别名,輸入:get-alias
列出 PowerShell 命令别名
10、 最后,不过也很重要,显示命令历史记录(曾运行过的命令的列表):
<span style="color: #4ec9b0;line-height: 26px">history</span>
显示 PowerShell 命令历史记录
就是这些了!在这篇文章里,我们展示了如何在 Linux 中安装微软的 PowerShell Core 6.0。在我看来,与传统 Unix/Linux 的 shell 相比,PowerShell 还有很长的路要走。目前看来,PowerShell 还需要在命令行操作机器,更重要的是,编程(写脚本)等方面,提供更好、更多令人激动和富有成效的特性。