התחלה עם PowerShell ב-Linux [מדריך למתחילים]

לאחר ש-Microsoft התאהבה ב-Linux (מה שנהרס באופן פופולרי להיות ידוע כ"מיקרוסופט אוהבת לינוקס"), Microsoft Loves Linux), PowerShell שהיה במקור רכיב בלבד ל-Windows, הפוכה לשיתוף פעולה ונעשית זמינה ברחבי הפלטפורמה ב-18 באוגוסט 2016, זמין על Linux ו-Mac OS.

PowerShell הוא מערכת אוטומציה משימות וניהול הגדרות שפותחה על ידי Microsoft. היא מורכבת ממשפט הפירוש של שפת פקודה (shell) ושפת תסריט שבנוי על ה-shell ושפת התסריט שבנוי על ה-.NET Framework.

היא מספקת גישה מלאה ל-COM (Component Object Model) ו-WMI (Windows Management Instrumentation), ובכך מאפשרת למפקחים מערכות לבצע משימות מיקומיות גם על מערכות Windows מקומיות ומרוחקות, כמו גם WS-Management ו-CIM (Common Information Model) המאפשרים ניהול מרוחק של מערכות Linux ומכשירי רשת.

תחת מסגרת זו, משימות הניהול מבוצעות ביסודן על ידי מחלקות מיוחדות של .NET הנקראות cmdlets (מבוטאים קומנד-לטס).

כמו תסריטים של פורטל בלינוקס, משתמשים יכולים לבנות תסריטים או קומפילים על ידי שמירת קבוצות של cmdlets בקבצים על פי כללים מסוימים. תסריטים אלו יכולים לשמש ככלי שימוש בשורת הפקודה עצמאיים או כלים.

התקנת PowerShell במערכות Linux

להתקין PowerShell ב-Linux, נשתמש במאגר הבית של מיקרוסופט שיאפשר לנו להתקין באמצעים הנפוצים ביותר לניהול תיקיות ב-Linux כגון apt-get או apt ו-yum או dnf.

להתקין PowerShell על Ubuntu

ראשית יש לייבא מפתחות GPG הציבוריים GPG, ואז לרשום את המאגר Microsoft Ubuntu ברשימת מקורות החבילות APT כדי להתקין Powershell:

$ sudo apt-get update
$ sudo apt-get install -y wget apt-transport-https software-properties-common
$ wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

להתקין PowerShell על Debian 11

PowerShell עבור שחרורי ההתקנה של החברה Debian מופץ למאגרי חבילות לשימוש קל בהתקנה ועדכונים.

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

התקנת PowerShell ב-Debian 10

$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

התקנת PowerShell במערכות RHEL

PowerShell עבור התפריטות המבוססות על RHEL כגון CentOS Stream, Rocky, ו-AlmaLinux מופץ לאתרים הרשמיים של Microsoft לשירות התקנה קלה ועדכונים.

---------- On RHEL, CentOS, Rocky & AlmaLinux 9 ---------- 
$ curl https://packages.microsoft.com/config/rhel/9.0/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL, CentOS, Rocky & AlmaLinux 8 ----------
$ curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL/CentOS 7 ----------
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

כיצד להשתמש ב-Powershell ב-Linux

בסעיף זה, נעשה הכרות קצרה עם Powershell; שם נראה כיצד להתחיל ב-powershell, לבצע כמה פקודות בסיסיות ולהסתכל על האופן לעבוד עם קבצים, ספריות ותהליכים. מאוחר יותר נצלול לתוך כיצד לרשום את כל הפקודות הזמינות, ולהצג עזרה בפקודה ואליס.

כדי להתחיל ב-Powershell, הקלד:

$ pwsh

PowerShell 7.3.3
PS /root> 

אפשר לבדוק את גרסת ה-Powershell עם הפקודה הבאה:

PS /root> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.3
PSEdition                      Core
GitCommitId                    7.3.3
OS                             Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

ביצוע כמה פקודות בסיסיות של Powershell ב-Linux.

get-date          [# Display current date]
get-uptime        [# Display server uptime]
get-location      [# Display present working directory]
Running PowerShell Commands

עבודה עם קבצים וספריות ב-Powershell

1. צור קובץ ריק חדש בשתי הדרכים הבאות:

new-item  tecmint.tex
OR
“”>tecmint.tex

אז הוסף תוכן לזה וצפה בתוכן הקובץ.

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex
Create New File in Powershell

2. למחוק קובץ ב-PowerShell.

remove-item tecmint.tex
get-content tecmint.tex
Delete File in Powershell

3. ליצור ספרייה חדשה.

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls
Create a Directory in Powershell

4. כדי לבצע רשימה ארוכה, שמציגה פרטים על קובץ / ספרייה כולל מצב (סוג קובץ) וזמן השינוי האחרון.

dir
Directory Long Listing in Powershell

5. לצפות בכל התהליכים המתנהלים במערכת שלך:

get-process
View Running Processes in Powershell

6. כדי לצפות בפרטים של תהליך יחיד / קבוצה של תהליכים מתנהלים עם שם נתון, הכנס את שם התהליך כארגומנט לפקודה הקודמת כך:

get-process apache2
View Specific Process in Powershell

משמעות היחידות בפלט לעיל:

  • NPM(K) – כמות הזיכרון שאינו נדחף שהתהליך משתמש בו, בקילוביות.
  • PM(K) – כמות הזיכרון הנדחף שהתהליך משתמש בו, בקילוביות.
  • WS(K) – גודל קבוצת העבודה של התהליך, בקילוביות. קבוצת העבודה מכילה את הדפים של הזיכרון שנוצרו לאחרונה על ידי התהליך.
  • CPU(s) – כמות הזמן שהתהליך השתמש בו במעבדים כולם, בשניות.
  • ID – מספר תהליך (PID).
  • ProcessName – שם התהליך.

7. כדי לדעת עוד, קבל רשימה של כל פקודות PowerShell למשימות שונות:

get-command
List Powershell Commands

8. כדי ללמוד איך להשתמש בפקודה, צפה בדף העזר שלה (כמו דף העזר ב-Unix / Linux); בדוגמה זו, אפשר לקבל עזרה עבור הפקודה Describe:

get-help Describe
Powershell Help Manual

9. כדי לצפות בכל הפקודות האחרות הזמינות, הקלד:

get-alias
List Powershell Command Aliases

10. ולאחרונה, להציג את ההיסטוריה של הפקודות (רשימה של הפקודות שהפעלת בעבר) בדרך הבאה:

history
List Powershell Commands History

זהו, עבור כעת, במאמר זה הראנו לך איך להתקין Powershell של Microsoft ב-Linux. בעיניי, Powershell עדיין יש עוד דרך ארוכה ללכת בהשוואה לקופסאות Unix/Linux המסורתיות שמציעות יתרונות טובים יותר, יותר מרגשים ויתרונות יצירתיים יותר כדי להפעיל מכונה מהשורת פקודה ולמטרות תכנות (סקריפטים) גם.

בקר במאגר Powershell ב-Github: https://github.com/PowerShell/PowerShell

עם זאת, תוכל לנסות ולשתף איתנו את הדעות שלך בתגובות.

Source:
https://www.tecmint.com/install-powershell-in-linux/