GNU/Linux >> Belajar Linux >  >> Linux

Mendapatkan Keuntungan dari PowerShell di Linux:Panduan Pemula

Microsoft PowerShell secara tradisional dianggap sebagai produk khusus Windows tetapi sekarang tidak lagi. Pada PowerShell v6, kemampuan penuh PowerShell sekarang tersedia lintas platform dengan Linux sebagai yang paling populer.

Dalam tutorial ini, Anda akan mempelajari cara memulai dari awal dengan menginstal PowerShell di Ubuntu (distribusi Linux lainnya serupa), cara menjalankan perintah, dan bahkan menginstal beberapa modul.

Mari kita mulai!

Prasyarat

Tutorial ini akan berisi berbagai demo. Jika Anda ingin mengikuti, pastikan Anda memiliki yang berikut:

  • Semua distribusi Linux yang didukung – Tutorial ini menggunakan Peppermint 10 yang berbasis Ubuntu 18.04 (LTS).
  • Akun dengan akses root.

Memperbarui Repositori Paket

Sebelum melompat untuk menginstal PowerShell di Linux, Anda harus terlebih dahulu memperbarui daftar repositori manajer paket apt. Beberapa distribusi Linux menggunakan manajer paket apt untuk menginstal paket apt; PowerShell adalah salah satunya.

Untuk memastikan bahwa apt dapat menemukan paket PowerShell dan ketergantungan apa pun saat mengunduh, Anda harus terlebih dahulu memperbarui daftar repositori paket apt. Untuk melakukannya, jalankan [apt update]() .

sudo apt update

Menginstal PowerShell di Linux

Sekarang setelah Anda memperbarui repositori paket, saatnya untuk menginstal PowerShell di Linux. Karena tutorial ini menggunakan distribusi berbasis Ubuntu, Anda memiliki dua cara berbeda untuk menginstal PowerShell; menggunakan paket snap atau melalui .NET SDK.

Menginstal PowerShell melalui Paket Snap

Cara termudah untuk menginstal PowerShell di Ubuntu adalah melalui snaps. Snaps adalah paket yang bekerja di beberapa versi dan distribusi Linux.

Untuk menginstal PowerShell di Linux melalui paket snap, buka terminal dan jalankan snap install Perintah Linux dengan sudo hak untuk menggunakan nama paket snap powershell .

Secara default, paket snap dibatasi cakupannya untuk alasan keamanan. Menentukan --classic parameter memungkinkan Anda membuat perubahan pada sistem Anda di luar kotak pasir keamanan.

sudo snap install powershell --classic

Menginstal PowerShell melalui .NET SDK

1. Terkadang Anda akan menemukan bahwa paket snap PowerShell tidak berisi PowerShell versi terbaru. Ketika itu terjadi, Anda selalu dapat memilih rute .NET SDK yang akan selalu diperbarui.

PowerShell dikemas dengan .NET Core sehingga ketika Anda menginstal .NET SDK, Anda juga mendapatkan PowerShell!

Unduh dan instal .NET SDK terbaru yang tersedia dengan menjalankan perintah di bawah ini menggunakan apt manajer paket. Pada tulisan ini, paket .NET SDK terbaru yang tersedia adalah v5.0.8. Anda dapat memeriksa versi terbaru yang tersedia di sini.

sudo apt install dotnet-sdk-5.0

2. Sekarang, instal PowerShell melalui dotnet aplikasi menggunakan dotnet tool install . dotnet tool perintah menentukan paket NuGet yang dikemas sebagai PowerShell.

Dengan menentukan --global pilihan, dotnet menginstal paket PowerShell ke ~\.dotnet\tools dan memastikan direktori berada di PATH sistem sehingga Anda dapat menjalankannya dari mana saja.

dotnet tool install --global PowerShell 

Menjalankan Perintah PowerShell Dasar di Linux

Sekarang setelah Anda menginstal PowerShell di Linux, apa selanjutnya? Mari kita mulai dengan menjalankan beberapa perintah dasar. Untuk memulai PowerShell, cukup jalankan pwsh dan Anda akan dibawa ke konsol interaktif PowerShell.

Menjadi bahasa skrip lintas platform, PowerShell di Linux mendukung semua perintah yang umum dikenal dari CMD dan shell baris perintah Linux seperti sudo apt update . Tidak perlu membuka terminal Bash!

Mulai sekarang, Anda dapat menjalankan ribuan perintah PowerShell bawaan. Saat Anda melakukannya, periksa versi PowerShell yang diinstal menggunakan $PSVersionTable . Anda akan melihat bahwa PSEdition ditampilkan sebagai Core dan Platform adalah Unix .

Setelah selesai di konsol PowerShell, keluar dengan menjalankan exit memerintah. Perintah ini akan mengembalikan Anda ke terminal Bash Anda.

Keterbatasan PowerShell pada Linux

Hanya karena Anda dapat menginstal PowerShell dan menjalankan perintah di dalamnya, tidak berarti Anda dapat melakukan segala kemungkinan di Windows. Lagi pula, Linux sebagai Open Source, adalah sistem operasi yang sama sekali berbeda dan beberapa perintah tidak akan tersedia untuk fitur yang tidak tersedia di Linux.

Windows -ne Linux

Misalnya, karena Linux tidak memiliki registri, Anda tidak akan melihat drive PowerShell apa pun. Get-PSDrive cmdlet akan tetap tersedia tetapi hanya akan mengembalikan volume penyimpanan Linux yang terpasang dan Drive PS standar lainnya. Anda dapat melihat contohnya di bawah ini.

Get-PSDrive | Format-Table -Auto

Tidak seperti Microsoft Windows, Linux tidak memiliki Common Information Model (CIM) maupun Windows Management Instrumentation (WMI). Kedua hal ini membantu dalam memberikan informasi tentang pengelolaan perangkat dan aplikasi ke sistem operasi Windows.

Anda dapat melihat di bawah bahwa cmdlet Windows PowerShell Get-CimInstance tidak tersedia di PowerShell di Linux.

Get-CimInstance -ClassName Win32_BIOS

Tetapi jika Anda mencoba menggunakan Get-CimInstance di Windows PowerShell, Anda akan melihat di bawah bahwa ini berfungsi seperti yang diharapkan.

Tidak Ada Pekerjaan Terjadwal

Kelemahan lain dari PowerShell di Linux adalah kurangnya pekerjaan terjadwal. Pekerjaan terjadwal adalah fitur praktis di Window PowerShell yang memungkinkan Anda menjalankan tugas di latar belakang melalui Windows Task Scheduler.

Untuk membuat pekerjaan terjadwal di Windows PowerShell mengharuskan Anda untuk mendaftar pekerjaan melalui Register-ScheduledJob cmdlet. Anda akan melihat contoh menyalin beberapa buku kerja Excel yang berfungsi di Windows PowerShell di bawah ini. Anda akan melihat bahwa Register-ScheduledJob cmdlet tidak ditemukan.

Meskipun Anda tidak dapat menjadwalkan pekerjaan, Anda masih dapat meminta pekerjaan latar belakang menggunakan Start-Job memerintah. Start-Job cmdlet memungkinkan Anda menjalankan tugas latar belakang di PowerShell untuk menjalankan tugas tanpa interaksi dengan sesi saat ini.

Mungkin Anda ingin membuat daftar semua file di /var/backups tetapi lakukan di latar belakang. Anda dapat membuat perintah untuk dieksekusi dalam ScriptBlock dan buat pekerjaan bernama GetAllBackupFiles panggil dengan Start-Job , seperti yang ditunjukkan di bawah ini.

Start-Job -Name GetAllBackupFiles -ScriptBlock {Get-ChildItem /var/backups -Recurse}

Setelah pekerjaan latar belakang dimulai, Anda kemudian dapat menerima output dari pekerjaan itu menggunakan Retrieve-Job cmdlet dengan menentukan -Name yang Anda berikan saat memulainya.

Retrieve-Job -Name GetAllBackupFiles

Bekerja dengan Modul PowerShell di Linux

Konsep penting dalam Windows PowerShell adalah modul PowerShell. Modul PowerShell adalah kumpulan perintah yang dibuat sebagai “paket” yang dibuat baik dari Microsoft maupun melalui komunitas PowerShell.

Menemukan Modul yang Terpasang

Secara default, PowerShell di Linux, seperti Windows, menginstal berbagai modul. Temukan semua modul tersebut dengan menjalankan Get-Module perintah, seperti yang ditunjukkan di bawah ini. ListAvailable parameter memberitahu Get-Module untuk mengembalikan semua modul pada sistem file; bukan hanya modul yang dimuat.

Get-Module -ListAvailable

Anda dapat melihat di bawah bahwa Pester modul dipasang di /root/.local/share/powershell/Modules yang merupakan lokasi pengguna untuk modul PowerShell. Anda akan mempelajari cara memasang modul di bagian mendatang.

Anda dapat melihat setiap lokasi untuk memasang modul dengan melihat PSModulePath variabel lingkungan, seperti yang ditunjukkan di bawah ini. Karena nilai $env:PSModulePath adalah satu string, tutorial menggunakan split operator untuk membagi string pada titik dua (bukan titik koma seperti Windows) untuk menampilkan setiap jalur pada baris yang berbeda.

$env:PSModulePath -split ':'

Memasang Modul PowerShell di Linux

Meskipun PowerShell di Linux hadir dengan berbagai modul yang sudah diinstal, kemungkinan Anda akan membutuhkan lebih banyak fungsionalitas. Ketika itu terjadi, Anda dapat memanfaatkan Galeri PowerShell. Galeri PowerShell adalah gudang ribuan modul yang berfungsi baik di Windows maupun Linux.

Menggunakan Install-Module cmdlet, Anda dapat menginstal modul di Linux seperti halnya di Windows. Tetapi pertama-tama, Anda harus menemukan modul yang Anda cari menggunakan Find-Module .

Katakanlah Anda ingin menjalankan beberapa pengujian Pest menggunakan kerangka pengujian Pester yang populer. Pester datang dikemas dalam modul. Periksa untuk melihat apakah modul Pester tersedia di Galeri PowerShell menggunakan Find-Module cmdlet.

Find-Module Pester

Anda dapat melihat di bawah bahwa Find-Module menemukan modul Pester yang tersedia.

Setelah Anda memverifikasi bahwa modul Pester tersedia, sekarang instal modul menggunakan Install-Module cmdlet menentukan Name modul.

Install-Module -Name Pester

Saat Anda menjalankan Install-Module , PowerShell akan menanyakan Anda tentang repositori yang tidak tepercaya karena repositori ditandai sebagai tidak tepercaya. Untuk pengujian, peringatan ini tidak perlu dikhawatirkan, jadi ketik A untuk mengonfirmasi.

Setelah modul terinstal, sekarang jalankan Get-InstalledModule cmdlet dan Anda akan melihat bahwa Pester telah diinstal dan perintahnya sekarang tersedia.

Anda juga akan melihatnya dengan menggunakan Get-Command cmdlet, Anda juga dapat menemukan semua perintah di dalam Pester modul, seperti yang ditunjukkan di bawah ini.

Get-Command -Module Pester

Menjalankan Skrip PowerShell Dari Bash

Untuk menyelesaikan tutorial ini, mari kita akhiri dengan menjalankan skrip PowerShell dari Bash. Sepanjang tutorial ini, Anda telah menjalankan perintah PowerShell secara interaktif di dalam konsol PowerShell. Jika Anda memiliki skrip PowerShell yang perlu Anda jalankan, tidak perlu masuk ke konsol PowerShell. Sebagai gantinya, Anda dapat menjalankan skrip langsung dari Bash.

Untuk mendemonstrasikan menjalankan skrip PowerShell dari Bash, buka editor teks Linux favorit Anda dan rekatkan perintah berikut dan simpan file sebagai DrivesInformation.ps1 . Script ini hanya akan menghitung semua drive PS.

Get-PSDrive

Di terminal Bash Anda, alih-alih menjalankan pwsh , tekan Enter dan kemudian jalankan skrip di dalam konsol PowerShell, aktifkan skrip langsung dari Bash. Untuk melakukannya, jalankan pwsh lagi tetapi kali ini tentukan skrip PowerShell yang baru saja Anda buat, seperti yang ditunjukkan di bawah ini.

Anda akan melihat bahwa Anda menerima output yang sama seperti yang Anda terima di dalam sesi PowerShell interaktif langsung di terminal Bash Anda.

pwsh /home/tex/DrivesInformation.ps1

Kesimpulan

Anda sekarang harus memiliki awal yang baik dalam menjalankan PowerShell di Linux! Sekarang terserah Anda untuk mulai mempelajari lebih lanjut tentang PowerShell dan mengotomatiskan semua yang Anda bisa!


Linux
  1. Cara Memasang RHEL 8:Panduan Langkah-demi-Langkah Lengkap

  2. Cara Menginstal Discord di Linux:Panduan Langkah demi Langkah

  3. Panduan pemula untuk firewalld di Linux

  1. Panduan pemula untuk izin Linux

  2. Cara Menginstal Slack di Linux:Panduan yang Mudah Diikuti

  3. Cara Menginstal Void Linux:Panduan Langkah-demi-Langkah Lengkap

  1. Cara Menginstal Windows PowerShell Core 6.0 di Linux

  2. Panduan pemula untuk pemecahan masalah jaringan di Linux

  3. Panduan Lengkap Untuk Menginstal OxygenOS Di OnePlus One Di Linux