PowerShell trên AlmaLinux 9 sẽ như thế nào?

Powershell là shell để chạy các dòng lệnh (command line) trên Windows có từ thời Windows Vista vào 01/2007.

PowerShell v2.0 được hoàn chỉnh hơn và là 1 thành phần được tích hợp trong Windows 7 và Windows Windows Server 2008 R2.

Microsoft sau đó quyết định mở mã nguồn của PowerShell trên Github vào 08/2016.

Từ đó PowerShell chạy được trên các nền tảng khác (cross platform) như Linux, macOS.

PowerShell LTS là bản hỗ trợ dài hạn (Long Term Support) đi kèm theo vòng đời phát triển của .NET Framework.

PowerShell 7.4 LTS đi kèm .NET 8.0.0 được hỗ trợ tới 10/2026.

Xem thông tin giới thiệu về PowerShell trên AlmaLinux 9.

yum info powershell-lts
Installed Packages
Name         : powershell-lts
Version      : 7.4.1
Release      : 1.rh
Architecture : x86_64
Size         : 173 M
Source       : powershell-lts-7.4.1-1.rh.src.rpm
Repository   : @System
From repo    : @commandline
Summary      : PowerShell is an automation and configuration management platform.
URL          : https://microsoft.com/powershell
License      : MIT
Description  : PowerShell is an automation and configuration management platform.
             : It consists of a cross-platform command-line shell and associated scripting language.

Xem phiên bản PowerShell LTS 7.4.1 đã cài trên AlmaLinux 9.

# pwsh
PowerShell 7.4.1
PS /root> 
PS /root> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
OS                             AlmaLinux 9.3 (Shamrock Pampas Cat)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

PS /root> get-host

Name             : ConsoleHost
Version          : 7.4.1
InstanceId       : e37e9647-0acb-4e1e-bcd5-56d83ab3a7e2
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

Liệt kê 30 lệnh PowerShell trên AlmaLinux 9.

(Get-Command)[0..29] 

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           Get-PSResource                                     1.0.1      Microsoft.PowerShell.PSResourceGet
Function        cd..                                                          
Function        cd\                                                           
Function        cd~                                                           
Function        Clear-Host                                                    
Function        Compress-Archive                                   1.2.5      Microsoft.PowerShell.Archive
Function        exec                                                          
Function        Expand-Archive                                     1.2.5      Microsoft.PowerShell.Archive
Function        Find-Command                                       2.2.5      PowerShellGet
Function        Find-DSCResource                                   2.2.5      PowerShellGet
Function        Find-Module                                        2.2.5      PowerShellGet
Function        Find-RoleCapability                                2.2.5      PowerShellGet
Function        Find-Script                                        2.2.5      PowerShellGet
Function        Get-CredsFromCredentialProvider                    2.2.5      PowerShellGet
Function        Get-InstalledModule                                2.2.5      PowerShellGet
Function        Get-InstalledScript                                2.2.5      PowerShellGet
Function        Get-PSRepository                                   2.2.5      PowerShellGet
Function        help                                                          
Function        Import-PSGetRepository                             1.0.1      Microsoft.PowerShell.PSResourceGet
Function        Install-Module                                     2.2.5      PowerShellGet
Function        Install-Script                                     2.2.5      PowerShellGet
Function        New-ScriptFileInfo                                 2.2.5      PowerShellGet
Function        oss                                                           
Function        Pause                                                         
Function        prompt                                                        
Function        PSConsoleHostReadLine                              2.3.4      PSReadLine
Function        Publish-Module                                     2.2.5      PowerShellGet
Function        Publish-Script                                     2.2.5      PowerShellGet
Function        Register-PSRepository                              2.2.5      PowerShellGet
Function        Save-Module                                        2.2.5      PowerShellGet

Gõ thử vài lệnh PowerShell trên Linux xem thế nào.

PS /root> New-Item DevSecOps.Edu.VN                    

    Directory: /root

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
-rw-r--r--       root root         3/5/2024 20:16            0 DevSecOps.Edu.VN

PS /root> New-Item -ItemType Directory DevSecOps.EDU.VN

    Directory: /root

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
drwxr-xr-x       root root         3/5/2024 20:16            6 DevSecOps.EDU.VN

PS /root> Get-ChildItem                                

    Directory: /root

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
drwxr-xr-x       root root         3/2/2024 23:22            6 Desktop
drwxr-xr-x       root root         3/5/2024 20:16            6 DevSecOps.EDU.VN
drwxr-xr-x       root root         3/2/2024 23:22            6 Documents
drwxr-xr-x       root root         3/2/2024 23:22            6 Downloads
drwxr-xr-x       root root         3/2/2024 23:22            6 Music
drwxr-xr-x       root root         3/2/2024 23:22            6 Pictures
drwxr-xr-x       root root         3/2/2024 23:22            6 Public
drwxr-xr-x       root root         3/2/2024 23:22            6 Templates
drwxr-xr-x       root root         3/2/2024 23:22            6 Videos
-rw-------       root root         3/2/2024 23:03         1012 anaconda-ks.cfg
-rw-r--r--       root root         3/5/2024 20:16            0 DevSecOps.Edu.VN