เริ่มต้นใช้งาน PowerShell ใน Linux [คู่มือเริ่มต้น]
หลังจากที่ Microsoft หลงรัก Linux (ที่ได้รับความนิยมจนเป็นที่รู้จักในชื่อ “Microsoft Loves Linux ”) PowerShell ซึ่งแต่เดิมเป็น Windows - ส่วนประกอบเท่านั้น เป็นโอเพ่นซอร์สและสร้างข้ามแพลตฟอร์มเมื่อวันที่ 18 สิงหาคม 2559 พร้อมใช้งานบน Linux และ Mac OS
PowerShell คือระบบจัดการงานอัตโนมัติและการกำหนดค่าที่พัฒนาโดย Microsoft ประกอบด้วยล่ามภาษาคำสั่ง (เชลล์) และภาษาสคริปต์ที่สร้างขึ้นบน .NET Framework
ให้การเข้าถึง COM (Component Object Model) และ WMI (Windows Management Instrumentation) ได้อย่างสมบูรณ์ จึงทำให้ระบบทำงานได้ ผู้ดูแลระบบเพื่อดำเนินงานด้านการดูแลระบบบนระบบ Windows ทั้งภายในและระยะไกล รวมถึง WS-Management และ CIM (โมเดลข้อมูลทั่วไป) ทำให้สามารถบริหารจัดการระบบ Linux ระยะไกลพร้อมอุปกรณ์เครือข่ายได้
ภายใต้กรอบนี้ งานด้านการดูแลระบบจะดำเนินการโดยพื้นฐานโดยคลาส .NET ที่เรียกว่า cmdlets (อ่านว่า command-lets)
เช่นเดียวกับเชลล์สคริปต์ใน Linux ผู้ใช้สามารถสร้างสคริปต์หรือโปรแกรมปฏิบัติการได้โดยการจัดเก็บกลุ่มของ cmdlets ไว้ในไฟล์โดยปฏิบัติตามกฎบางอย่าง สคริปต์เหล่านี้สามารถใช้เป็นยูทิลิตีบรรทัดคำสั่งหรือเครื่องมืออิสระได้
ติดตั้ง PowerShell ในระบบ Linux
ในการติดตั้ง PowerShell ใน Linux เราจะใช้พื้นที่เก็บข้อมูลอย่างเป็นทางการของ Microsoft ซึ่งจะช่วยให้เราสามารถติดตั้งผ่านเครื่องมือการจัดการแพ็คเกจ Linux ที่ได้รับความนิยมสูงสุด เช่น apt-get หรือ apt และ yum หรือ dnf
ขั้นแรกให้นำเข้าคีย์ 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 เช่น 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]
การทำงานกับไฟล์และไดเร็กทอรีใน Powershell
1. สร้างไฟล์เปล่าใหม่โดยใช้สองวิธีด้านล่าง:
new-item tecmint.tex
OR
“”>tecmint.tex
จากนั้นเพิ่มเนื้อหาเข้าไปและดูเนื้อหาไฟล์
set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex
2. ลบไฟล์ใน PowerShell
remove-item tecmint.tex
get-content tecmint.tex
3. สร้างไดเรกทอรีใหม่
mkdir tecmint-files
cd tecmint-files
“”>domains.list
ls
4. เพื่อแสดงรายการแบบยาว ซึ่งจะแสดงรายละเอียดของไฟล์/ไดเร็กทอรี รวมถึงโหมด (ประเภทไฟล์) และเวลาแก้ไขล่าสุด
dir
5. ดูกระบวนการที่ทำงานอยู่ทั้งหมดบนระบบของคุณ:
get-process
6. หากต้องการดูรายละเอียดของกระบวนการที่ทำงานอยู่กลุ่มเดียว/กลุ่มตามชื่อที่กำหนด ให้ระบุชื่อกระบวนการเป็นอาร์กิวเมนต์ของคำสั่งก่อนหน้าดังนี้:
get-process apache2
ความหมายของหน่วยในเอาต์พุตด้านบน:
- NPM(K) – จำนวนหน่วยความจำที่ไม่ใช่เพจที่กระบวนการใช้ มีหน่วยเป็นกิโลไบต์
- PM(K) – จำนวนหน่วยความจำที่สามารถเพจได้ซึ่งกระบวนการใช้ มีหน่วยเป็นกิโลไบต์
- WS(K) – ขนาดของชุดการทำงานของกระบวนการ มีหน่วยเป็นกิโลไบต์ ชุดการทำงานประกอบด้วยเพจของหน่วยความจำที่เพิ่งถูกอ้างอิงโดยกระบวนการ
- CPU – ระยะเวลาของโปรเซสเซอร์ที่กระบวนการใช้กับโปรเซสเซอร์ทั้งหมด โดยมีหน่วยเป็นวินาที
- รหัส – รหัสกระบวนการ (PID)
- ชื่อกระบวนการ – ชื่อของกระบวนการ
7. หากต้องการทราบข้อมูลเพิ่มเติม รับรายการคำสั่ง Powershell ทั้งหมดสำหรับงานที่แตกต่างกัน:
get-command
8. หากต้องการเรียนรู้วิธีใช้คำสั่ง ให้ดูหน้าวิธีใช้ (คล้ายกับหน้า man ใน Unix/Linux) ในตัวอย่างนี้ คุณสามารถรับความช่วยเหลือสำหรับคำสั่ง อธิบาย:
get-help Describe
9. ดูนามแฝงคำสั่งที่มีอยู่ทั้งหมด พิมพ์:
get-alias
10. สุดท้ายแต่ไม่ท้ายสุด แสดงประวัติคำสั่ง (รายการคำสั่งที่คุณเคยเรียกใช้ก่อนหน้านี้) ดังนี้:
history
นั่นคือทั้งหมด! ในตอนนี้ ในบทความนี้ เราได้แสดงให้คุณเห็นวิธีการติดตั้ง Powershell ของ Microsoft ใน Linux สำหรับฉันแล้ว Powershell ยังมีหนทางอีกยาวไกลในการเปรียบเทียบกับเชลล์ Unix/Linux แบบดั้งเดิม ซึ่งนำเสนอฟีเจอร์ที่ดีกว่า น่าตื่นเต้นและมีประสิทธิผลมากกว่ามากในการสั่งงานเครื่องจากบรรทัดคำสั่ง และที่สำคัญคือเพื่อวัตถุประสงค์ในการเขียนโปรแกรม (การเขียนสคริปต์) เช่นกัน.
เยี่ยมชมที่เก็บ Powershell Github: https://github.com/PowerShell/PowerShell
อย่างไรก็ตามคุณสามารถทดลองใช้และแบ่งปันมุมมองของคุณกับเราในความคิดเห็นได้