Part 1:简介
PowerShell 是来自微软开源的一种任务自动化和配置管理框架语言,它结合了一个命令行 shell 和一个脚本语言,专为系统管理员、开发人员和其他 IT 专业人员设计,以帮助他们更高效地管理和自动化日常任务。如果你是一个重度的Powershell使用者,你可以使用powershell语言来管理Linux,或者在Linux上统一集成基于powershell语言的环境。
Part 2:在Linux环境下安装powershell
1、在线安装方式:
# Get version of RHEL/CentOS
source /etc/os-release
if [ ${VERSION_ID%.*} -lt 8 ]
then majorver=7
elif [ ${VERSION_ID%.*} -lt 9 ]
then majorver=8
else majorver=9
fi
# Download the Microsoft RedHat repository package
curl -sSL -O https://packages.microsoft.com/config/rhel/$majorver/packages-microsoft-prod.rpm
# Register the Microsoft RedHat repository
sudo rpm -i packages-microsoft-prod.rpm
# Delete the downloaded package after installing
rm packages-microsoft-prod.rpm
# Update package index files
sudo dnf update
# Install PowerShell
sudo dnf install powershell -y
2、离线安装方式
获取Linux环境下的Powershell安装包,在此建议直接访问微软的软件仓库进行下载:
微软仓库地址为:微软软件仓库https://packages.microsoft.com/
若你的环境为CentOS/RHEL序列操作系统,可访问如下链接直接下载:
注:上述URL下载的包对应CentOS/RHEL序列7.X版本的操作系统,若环境不一致,需按需修改对用的URL地址。
在Linux下安装powershell环境依赖libicu包 ,若未安装此包,需要先行安装:
yum install libicu
在软件包目录直接执行如下命令安装即可:
rpm -ivh powershell-preview-7.0.0_preview.3-1.rhel.7.x86_64.rpm
[root@test1 ~]# rpm -ivh powershell-preview-7.0.0_preview.3-1.rhel.7.x86_64.rpm
warning: powershell-preview-7.0.0_preview.3-1.rhel.7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID be1229cf: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:powershell-preview-7.0.0_preview.################################# [100%]
[root@test1 ~]#
此后可将pwsh命名加入到系统环境变量中:
echo 'export PATH=/opt/microsoft/powershell/7-preview/:$PATH' >> /etc/profile
source /etc/profile
默认的安装路径:$PSHOME: /opt/microsoft/powershell/7/
配置文件脚本存储位置:
AllUsersAllHosts - $PSHOME/profile.ps1
AllUsersCurrentHost - $PSHOME/Microsoft.PowerShell_profile.ps1
CurrentUserAllHosts - ~/.config/powershell/profile.ps1
CurrentUserCurrentHost - ~/.config/powershell/Microsoft.PowerShell_profile.ps1
模块存储位置:
用户模块 - ~/.local/share/powershell/Modules
共享模块 - /usr/local/share/powershell/Modules
默认模块 - $PSHOME/Modules
PSReadline 历史记录将记录到 ~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt
Part3: 使用示例
1、打开powershell:
[root@test1 ~]# pwsh
PowerShell 7.0.0-preview.3
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/powershell
Type 'help' to get help.
PS /root>
2、可以进一步查看powershell在Linux环境下支持哪些命令:
PS /root> Get-Command
CommandType Name Version Source
----------- ---- ------- ------
Function cd..
Function cd\
Function Clear-Host
Function Compress-Archive 1.2.3.0 Microsoft.PowerShell.Archive
Function Configuration 2.0 PSDesiredStateConfiguration
Function Expand-Archive 1.2.3.0
(此处列举部分)
3、导入第三方模块:
import-module -Name ./module_name.psd1
4、查看命令帮助信息:
Get-Help + 命令:获取帮助
Get-Help + 命令 + -Detailed:获取详细帮助信息(推荐)
Get-Help + 命令 + -Full:获取更详细帮助信息