GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Windows PowerShell Core 6.0 en Linux

PowerShell es un marco de configuración y automatización distribuido, escalable y heterogéneo, que consta de un shell de línea de comandos interactivo y un lenguaje de secuencias de comandos para el sistema operativo Windows. Está construido sobre .NET framework, y permite a los usuarios automatizar y simplificar las tareas del sistema. Para obtener más detalles sobre PowerShell, consulte el siguiente enlace.

En este breve tutorial, veamos cómo instalar PowerShell en Ubuntu 14.04/16.04/18.04 LTS y ediciones de servidor CentOS 7 de 64 bits.

Instalar Windows PowerShell Core 6.0 en Linux

PowerShell se puede instalar en muchas distribuciones populares de Linux, incluidas Arch Linux, Debian, Ubuntu, Fedora, CentOS, SUSE. Aquí he incluido instrucciones de instalación para Debian, Ubuntu y CentOS.

En Ubuntu 14.04 LTS:

Descargar y registrar la clave GPG del repositorio de PowerShell:

$ wget -q https://packages.microsoft.com/config/ubuntu/14.04/packages-microsoft-prod.deb
$ sudo dpkg -i paquetes-microsoft-prod.deb

Actualice la lista de fuentes de software:

$ sudo apt-obtener actualización

Luego, instale PowerShell usando el comando:

$ sudo apt-get install -y powershell

En Ubuntu 16.04 LTS:

Añadir clave GPG del repositorio de PowerShell:

$ wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
$ sudo dpkg -i paquetes-microsoft-prod.deb

Actualice la lista de fuentes de software:

$ sudo apt-obtener actualización

Luego, instale PowerShell usando el comando:

$ sudo apt-get install -y powershell

En Ubuntu 18.04 LTS:

Registre la clave GPG del repositorio de PowerShell:

$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
$ sudo dpkg -i paquetes-microsoft-prod.deb

Actualice las listas de repositorios e instale PowerShell:

$ sudo apt-obtener actualización
$ sudo apt-get install -y powershell

En Debian 8:

$ sudo apt-get install curl apt-transport-https
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key agregar -
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-jessie-prod jessie main"> /etc/apt/sources.list.d /microsoft.list'
$ sudo apt-obtener actualización
$ sudo apt-get install -y powershell

En Debian 9:

$ sudo apt-get install curl gnupg apt-transport-https
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key agregar -
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main"> /etc/apt/sources.list.d /microsoft.list'
$ sudo apt-obtener actualización
$ sudo apt-get install -y powershell

En CentOS 7:

Agregar repositorio de PowerShell como raíz usuario:

# curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

Instalar PowerShell:

# yum install -y powershell

Para otras distribuciones, consulte las instrucciones oficiales de instalación .

Ya hemos instalado PowerShell. A continuación, veremos cómo usarlo en tiempo real.

Primeros pasos con PowerShell

Tenga en cuenta que PowerShell para Linux aún se encuentra en etapa de desarrollo, por lo que se encuentra con algunos errores. Si hay algún error, únase al blog de la comunidad de PowerShell (El enlace se encuentra al final de este artículo) y obtenga ayuda.

Una vez que haya instalado PowerShell, ejecute el siguiente comando para ingresar a la consola/sesión de PowerShell.

pwsh

Así es como se ve la consola de PowerShell en mi servidor Ubuntu 18.04 LTS.

PowerShell 6.1.2Copyright (c) Microsoft Corporation. Todos los derechos reservados.https://aka.ms/pscore6-docsEscriba 'ayuda' para obtener ayuda.PS /home/sk>

PowerShell

En la sesión de PowerShell, mencionamos los comandos de PowerShell como cmdlets , y mencionamos el inicio de sesión de PowerShell como PS /> .

Trabajar en PowerShell es casi similar a BASH. Ejecuté algunos comandos de Linux en PowerShell. Parece que casi todos los comandos de Linux funcionan en PowerShell. Además, PowerShell tiene su propio conjunto de comandos (cmdlets). La función TAB (autocompletar) funciona como en BASH.

¿Borrar? Bueno, vamos a poner algunos ejemplos.

Ver versión de PowerShell

Para ver la versión de PowerShell, ingrese:

$PSVersionTable

Salida de muestra:

Valor de nombre---- -----PSVersion 6.1.2PSEdition CoreGitCommitId 6.1.2OS Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan ...Platform UnixPSCompatibleVersions {1.0, 2.0, 3.0, 4.0 ...}PSRemotingProtocolVersion 2.3SerializationVersion 1.1.0.1WSManStackVersion 3.0

Como puede ver en el resultado anterior, la versión de PowerShell es 6.1.2 .

Creación de archivos

Para crear un nuevo archivo, use 'New-Item' comando como se muestra a continuación.

Nuevo artículo ostechnix.txt

Salida de muestra:

 Directorio:/home/skMode LastWriteTime Longitud Nombre---- ------------- ------ ---------- 11/2/19 10:28 0 ostechnix.txt

o simplemente use ">" como se muestra a continuación:

""> ostechnix.txt

Aquí, "" - describe que el archivo está vacío. ostechnix.txt es el nombre del archivo.

Para agregar algunos contenidos en el archivo, ejecute el siguiente comando:

Set-Content ostechnix.txt -Value "¡Bienvenido al blog de OSTechNix!"

O

"¡Bienvenido al blog de OSTechNix!"> ostechnix.txt
Ver el contenido de un archivo

Hemos creado algunos archivos desde PowerShell. ¿Cómo vemos el contenido de esos archivos? Eso es fácil.

Simplemente use 'Get-Content' comando para mostrar el contenido de cualquier archivo.

Get-Content  

Ejemplo:

Obtener-Contenido ostechnix.txt

Salida de muestra:

¡Bienvenido al blog OSTechNix!
Eliminar archivos

Para eliminar un archivo o elemento, use 'Remove-Item' comando como se muestra a continuación.

Eliminar elemento ostechnix.txt

Verifiquemos si el elemento realmente se eliminó usando el comando:

Obtener-Contenido ostechnix.txt

Debería ver un resultado como el siguiente.

Get-Content:No se puede encontrar la ruta '/home/sk/ostechnix.txt' porque no existe. En la línea:1 char:1+ Get-Content ostechnix.txt+ ~~~~~~~~~~ ~~~~~~~~~~~~~~~+ CategoryInfo:ObjectNotFound:(/home/sk/ostechnix.txt:String) [Get-Content], ItemNotFoundException+ FullyQualifiedErrorId:PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand 

O simplemente puede usar "ls" comando para ver si el archivo existe o no.

Ver los procesos en ejecución

Para ver la lista de procesos en ejecución, simplemente ejecute:

Obtener-Proceso

Salida de muestra:

 NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------ ----- ----- ------ -- -- -- --------- 0 0.00 0.00 0.02 599 599 Agetty 0 0.00 0.00 0.00 2385 385 Anacron 0 0.00 0.00 0.00 0.00 257 0 ATA_SFF 0 0.00 0.0 0.07 556 556 Auditd 0 0.00 0.00 0.03 578 578 Avahi-Daemon 0 0.00 0.00 0.00 590 578 Avahi-Daemon 0 0.00 0.00 0.05 2327 327 Bash 0 0.00 0.00 0.00 19 0 Bioset 0 0.00 0.00 0.00 352 0 Bioset 0 0.00 0.00 0.00 360 0 Bioset 0 0.00 0.00 0.35 597 597 Crond 0 0.00 0.00 0.00 31 0 Crypto 0 0.00 0.00 0.00 0,11 586 586 dbus-daemon 0 0,00 0,00 0,03 63 0 deferwq 0 0,00 0,01 0,93 585 585 firewalld 0 0,00 0,00 0,00 30 0 fsnotify_mark 0 0,00 0,00 0,00 43 0 ipv6_addrconf 0 0,00 0,00 0,02 94 0 kauditd 0 0,00 0,00 0,00 20 0 kblockd 0 0.00 0.00 0.00 14 0 kdevtmpfs 0 0,00 0,00 0,00 351 0 kdmflush 0 0,00 0,00 0,00 359 0 kdmflush 0 0,00 0,00 0,00 13 0 khelper 0 0,00 0,00 0,03 29 0 khugepaged 0 0,00 0,00 0,00 26 0 khungtaskd 0 0,00 0,00 0,00 18 0 kintegrityd 0 0,00 0,00 0.00 41 0 kmpath_rdac D 0 0.00 0.00 0.00 42 0 kpsmosed 0 0.00 0.00 0.00 28 0 KSMD 0 0.00 0.00 0.17 3 0 KSOFTIRQD/0 0 0.00 0.00 0.02 27 0 KSWAPD0 0 0.00 0.00 0.00 2 0 KTHREADD 0 0.00 0.00 0.00 39 0 Kthrotld 0 0.00 0.00 0.01 2313 0 ktrabajador/0:0 0 0,00 0,00 0,04 2369 0 ktrabajador/0:0H 0 0,00 0,00 0,00 2440 0 ktrabajador/0:1 0 0,00 0,00 0,05 2312 0 ktrabajador/0:2H 0 0,00 0,00 0,20 2370/6 0 0.00 0.00 0.00 0.25 6 0 KWorker/U2:0 0 0.00 0.00 0.00 272 0 KWORKER/U2:2 0 0.00 0.00 0.0 0.01 473 473 VMEDAD 0 0.00 0.00 0.02 2036 036 MAESTRO 0 0.00 0.00 0.00 0.00 21 0 MD 0 0.00 0.00 0.00 7 0 Migration /0 0 0.00 0.00 0.00 0.00 15 0 Netns 0 0.00 0.00 0.22 653 653 NetworkManager 0 0.00 0.00 0.00 16 0 Perf 0 0.00 0.00 0.01 2071 036 Pickup 0 0.00 0.00 0.05 799 799 Polkitd 0 0.00 0.02 5.02 2401 327 Powershell 0 0.00 0.00 000 2072 036 QMGR 0 0.00 0.00 0.00 8 0 RCU_BH 0 0.00 0.00 0.73 10 0 RCU_SCHED 0 0.00 0.00 0.00 0.00 9 0 RCUOB/0 0 0.00 0.00 0.51 11 0 RCUOS/0 0 0.00 0.00 0.06 582 582 RSYSLOGD 0 0.00 0.00 267 0 SCSI _EH_0 0 0.00 0.00 0.00 271 0 SCSI_EH_1 0 0.00 0.00 0.00 0.00 275 0 SCSI_EH_2 0 0.00 0.00 0.00 269 0 SCSI_TMF_0 0 0.00 0.00 0.00 273 0 SCSI_TMF_1 0 0.00 0.00 0.00 277 0 SCSI_TMF_2 0 0.00 0.033 033174 174 174 022 022 2222222222224D 0 0.00 0.00 1.68 1 1 Systemd 0 0.00 0.00 0.24 453 453 Systemd-Journal 0 0.00 0.00 0.04 579 579 Systemd-logind 0 0.00 0.00 0.19 481 481 Systemd-udevd 0 0.00 0.00 0.54 1175 175 Tuned 0 0.00 0.00 0.02 12 0 WatchDog/0 0 0.00 0.00 0.01 798 798 WPA_Suplicant 0 0.00 0.00 0.00 17 0 redacción de escritura 0 0.00 0.00 0.00 378 0 XFS_MRU_CACHE 0 0.00 0.00 0.00 379 0 XFS-BUF/DM-1 0 0.00 0.00 0.00 539 0 XFS-BUF/SDA1 0 0.00 0.00 0.00 382 0 xfs-cil/dm-1 0 0.00 0.00 0.00 542 0 xfs-cil/sda1 0 0.00 0.00 0.00 381 0 xfs-conv/dm-1 0 0.00 0.00 0.00 541 0 xfs-conv/sda1 0 0.00 0.00 38 0. -data/dm-1 0 0,00 0,00 0,00 540 0 xfs-data/sda1 0 0,00 0,00 0,51 383 0 xfsaild/dm-1 0 0,00 0,00 0,00 543 0 xfsaild/sda1 0 0,00 0,00 0,00 x3salloc 

El comando anterior mostrará la lista completa de procesos en ejecución en su sistema Linux.

Para ver cualquier proceso en ejecución en particular, use '-Name' opción con el comando anterior.

Por ejemplo, para ver el proceso de PowerShell, ejecute:

Obtener-Proceso -Nombre pwsh

Salida de muestra:

 NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------ ----- ----- ------ -- -- -- --------- 0 0.00 99.32 3.28 2575 398 pwsh
Ver alias de comandos

¿Eres demasiado perezoso para escribir un comando completo? Simplemente escriba algunas palabras y presione la tecla de tabulación, el comando se completará automáticamente o se mostrará la lista de comandos sugeridos, al igual que en el shell BASH de Linux.

Alternativamente, hay alias para algunos comandos.

Por ejemplo, para borrar la pantalla, escribiría: Clear-Host .

O simplemente puede escribir el alias del comando anterior 'cls' o 'clear' para borrar la pantalla.

Para ver la lista de alias disponibles, ejecute:

Obtener-Alias

Esta es la lista completa de alias disponibles:

CommandType Nombre Versión Origen ----------- ---- ------- ------ ¿Alias? -> Where-Object Alias ​​% -> ForEach-Object Alias ​​cd -> Set-Location Alias ​​chdir -> Set-Location Alias ​​clc -> Clear-Content Alias ​​clear -> Clear-Host Alias ​​clhy -> Clear-History Alias ​​cli -> Clear-Item Alias ​​clp -> Clear-ItemProperty Alias ​​cls -> Clear-Host Alias ​​clv -> Clear-Variable Alias ​​cnsn -> Connect-PSSession Alias ​​copy -> Copy-Item Alias ​​cpi -> Copy-Item Alias ​​cvpa -> Convert-Path Alias ​​dbp -> Disable-PSBreakpoint Alias ​​del -> Remove-Item Alias ​​dir -> Get-ChildItem Alias ​​dnsn -> Disconnect-PSSession Alias ​​ebp -> Enable-PSBreakpoint Alias ​​echo -> Write-Output Alias ​​epal -> Exportar -Alias ​​Alias ​​epcsv -> Export-Csv Alias ​​erase -> Remove-Item Alias ​​etsn -> Enter-PSSession Alias ​​exsn -> Exit-PSSession Alias ​​fc -> Format-Custom Alias ​​fhx -> Format-Hex 3.1.0.0 Microsoft.PowerShell .Utility Alias ​​fl -> Format-List Alias ​​foreach -> ForEach-Object Alias ​​ft -> Format-Table Alias ​​fw -> Format-Wide Alias ​​gal -> Get-Alias ​​Alias ​​gbp -> Get-PSBreakpoint Alias ​​gc -> Get- Alias ​​de contenido gci -> Get-Chil dItem Alias ​​gcm -> Get-Command Alias ​​gcs -> Get-PSCallStack Alias ​​gdr -> Get-PSDrive Alias ​​ghy -> Get-History Alias ​​gi -> Get-Item Alias ​​gin -> Get-ComputerInfo 3.1.0.0 Microsoft.PowerShell. Alias ​​de administración gjb -> Obtener alias de trabajo gl -> Obtener alias de ubicación gm -> Obtener alias de miembro gmo -> Obtener alias de módulo gp -> Obtener alias de propiedad de elemento gps -> Obtener alias de proceso gpv -> Obtener valor de propiedad de elemento Alias ​​group -> Group-Object Alias ​​gsn -> Get-PSSession Alias ​​gsv -> Get-Service Alias ​​gu -> Get-Unique Alias ​​gv -> Get-Variable Alias ​​h -> Get-History Alias ​​history -> Get-History Alias icm -> Invoke-Command Alias ​​iex -> Invoke-Expression Alias ​​ihy -> Invoke-History Alias ​​ii -> Invoke-Item Alias ​​ipal -> Import-Alias ​​Alias ​​ipcsv -> Import-Csv Alias ​​ipmo -> Import-Module Alias ​​kill -> Detener-Proceso Alias ​​md -> mkdir Alias ​​medida -> Medir-Objeto Alias ​​mi -> Move-Item Alias ​​move -> Move-Item Alias ​​mp -> Move-ItemProperty Alias ​​nal -> New-Alias ​​Alias ​​ndr -> New -PSDrive Alias ​​ni -> New-Item Alias ​​nmo -> New-Module Alias ​​nsn -> New-PSSession Alias ​​nv -> New-Variable Alias ​​oh -> Out-Host Alias ​​popd -> Pop-Location Alias ​​pushd -> Push-Location Alias ​​pwd -> Get-Location Alias ​​r -> Invoke-History Alias rbp -> Remove-PSBreakpoint Alias ​​rcjb -> Receive-Job Alias ​​rcsn -> Receive-PSSession Alias ​​rd -> Remove-Item Alias ​​rdr -> Remove-PSDrive Alias ​​ren -> Rename-Item Alias ​​ri -> Remove-Item Alias ​​rjb -> Remove-Job Alias ​​rmo -> Remove-Module Alias ​​rni -> Rename-Item Alias ​​rnp -> Rename-ItemProperty Alias ​​rp -> Remove-ItemProperty Alias ​​rsn -> Remove-PSSession Alias ​​rv -> Remove-Variable Alias ​​rvpa -> Resolve-Path Alias ​​sajb -> Start-Job Alias ​​sal -> Set-Alias ​​Alias ​​saps -> Start-Process Alias ​​sasv -> Start-Service Alias ​​sbp -> Set-PSBreakpoint Alias ​​sc -> Set-Content Alias ​​select -> Alias ​​de objeto seleccionado set -> Alias ​​de variable de conjunto si -> Alias ​​de elemento de conjunto sl -> Alias ​​de ubicación de conjunto sls -> Alias ​​de cadena de selección sp -> Alias ​​de propiedad de elemento de conjunto spjb -> Alias ​​de detención de trabajo spps -> Detener -Process Alias ​​spsv -> Stop-Service Alias ​​sv -> Establecer tipo de alias de variable -> Obtener alias de contenido donde -> Dónde-Alias ​​de objeto wjb -> Esperar trabajo

Para ver el alias de cualquier comando en particular, escriba:

Cls Get-Alias

Salida de muestra:

CommandType Nombre Versión Fuente ----------- ---- ------- ------ Alias ​​cls -> Clear-Host
Ver la lista completa de comandos disponibles

Para ver la lista de todos los comandos de PowerShell disponibles, ejecute:

Obtener comando
Ver ayuda

¿No sabes qué hará en particular? No hay problema. Simplemente escriba 'ayuda' para obtener ayuda. No tienes que buscar en Internet.

También puedes usar 'Get-Help' comando junto con cualquier comando de powershell. Es algo parecido a 'man' comando en Linux.

Por ejemplo, para mostrar la sección de ayuda de un comando llamado "Clear-Host", ejecute:

Obtener-Ayuda Clear-Host

Salida de muestra:

NOMBRE Clear-Host SINOPSIS SINTAXIS Clear-Host [] DESCRIPCIÓN VÍNCULOS RELACIONADOS https://go.microsoft.com/fwlink/?LinkID=225747OBSERVACIONES Para ver los ejemplos, escriba:"get-help Clear-Host -ejemplos". Para obtener más información, escriba:"get-help Clear-Host -detailed". Para obtener información técnica, escriba:"get-help Clear-Host -full". Para obtener ayuda en línea, escriba:"get-help Clear-Host -online

Como ve arriba, 'Get-Help' muestra la sección de ayuda de un comando específico de PowerShell, como el nombre del comando, el formato de sintaxis, los alias y los comentarios, etc.

Para salir de la consola de PowerShell, simplemente escriba:

salir

Espero que tenga una idea básica sobre cómo instalar la versión alfa de PowerShell Core en Linux (Ubuntu y CentOS) y el uso básico.

Lectura adicional:

  • PowerShell en GitHub
  • Introducción a PowerShell de Channel9:tutorial en vídeo
  • Página de la comunidad de PowerShell
  • Canal de YouTube de PowerShell

Lectura relacionada:

  • Instalar subsistema de Windows para Linux con un solo comando

Linux
  1. Cómo instalar Python en Linux

  2. Cómo instalar Java en Linux

  3. Cómo instalar NodeJS en Linux

  4. Cómo instalar o eliminar Windows PowerShell en Ubuntu/Lubuntu Linux

  5. Cómo instalar la calculadora de Microsoft Windows en Linux

Cómo instalar WSL2 (Subsistema de Windows para Linux 2) en Windows 10

Cómo instalar Linux Bash Shell en Windows 10

Cómo instalar el subsistema de Windows para Linux

¿Cómo instalar Linux Fedora en Hyper-v Windows 10?

¿Cómo instalar Linux Mint en Hyper-v Windows 10?

Cómo instalar (.NET Core) Dotnet Core en distribuciones de Linux