10 คำสั่ง PowerShell ที่ควรรู้เป็นอันดับแรก (Get-Process, Set-Location และอื่นๆ)
ยินดีด้วยครับที่ติดตั้ง PowerShell สำเร็จ! ตอนนี้เครื่องของคุณมีสภาพแวดล้อมเชลล์ที่ทันสมัยและทรงพลังซึ่งจะช่วยเร่งการพัฒนาเว็บของคุณให้เร็วขึ้น แต่การที่ต้องมานั่งจ้องหน้าจอสีดำ (หรือสีน้ำเงิน) แล้วคิดไม่ออกว่า "แล้วจะพิมพ์อะไรดีล่ะ?"... เป็นเส้นทางที่ทุกคนต้องผ่านครับ
ไม่ต้องกังวลครับ คำสั่งของ PowerShell (Cmdlet) มีกฎการตั้งชื่อที่สอดคล้องกันแบบ กริยา-คำนาม ทำให้เมื่อจับเคล็ดลับได้แล้วจะจำง่ายและนำไปประยุกต์ใช้ได้หลากหลายมาก ในบทความนี้เราได้คัดเลือก 10 Cmdlet พื้นฐานที่ควรรู้เป็นอันดับแรก ซึ่งมีประโยชน์จริงๆ สำหรับการทำงานในแต่ละวันของ Web Creator มาให้แล้ว
เหมือนกับนักกีตาร์ที่เริ่มจากการจำคอร์ดพื้นฐานไม่กี่คอร์ดเพื่อที่จะเล่นเพลงต่างๆ ได้ การที่คุณเชี่ยวชาญ 10 คำสั่งในวันนี้ก็จะเป็นก้าวแรกสู่การจัดการ Windows และการทำงานกับไฟล์ได้อย่างอิสระ มาลองพิมพ์คำสั่งไปพร้อมๆ กันเพื่อสัมผัสกับพลังของมันกันเลย!
พื้นฐานของพื้นฐาน: Cmdlet สำหรับการเดินทางและการแสดงผล
ก่อนอื่น มาเริ่มกันที่ 3 Cmdlet ที่จำเป็นสำหรับการทำงานบนเทอร์มินัล นั่นคือ "การตรวจสอบตำแหน่งปัจจุบัน", "การเดินทาง" และ "การตรวจสอบว่ามีอะไรอยู่ข้างใน" คำสั่งเหล่านี้จะเป็นเหมือน "ตา" และ "เท้า" ของคุณในโลก CUI
1. Get-Location (alias: pwd, gl)
ใช้ตรวจสอบพาธเต็มของไดเรกทอรีที่คุณอยู่ ณ ปัจจุบัน ทำหน้าที่เหมือนกับ pwd ใน Bash และเป็นเส้นชีวิตของคุณเมื่อหลงทาง
Get-Location
2. Set-Location (alias: cd, sl, chdir)
ใช้ย้ายไดเรกทอรี สามารถใช้งานได้ในความรู้สึกเดียวกับ cd ของ Bash เลยครับ ดีใจใช่ไหมล่ะครับที่มี alias cd มาให้ด้วย
# ย้ายไปยังโฟลเดอร์ 'work' ในไดรฟ์ C
Set-Location C:\work
3. Get-ChildItem (alias: ls, dir, gci)
ใช้แสดงรายการไฟล์และโฟลเดอร์ในไดเรกทอรีปัจจุบัน ทำหน้าที่เหมือน ls ใน Bash และ dir ใน Command Prompt
Get-ChildItem
คุณค่าที่แท้จริงของ PowerShell เริ่มต้นที่นี่ การใช้ -Recurse ออปชันจะทำให้สามารถแสดงรายการทั้งหมดแบบวนซ้ำเข้าไปในโฟลเดอร์ย่อยได้ด้วย
# แสดงทั้งหมดรวมถึงที่อยู่ในโฟลเดอร์ย่อย
Get-ChildItem -Recurse
การจัดการไฟล์: Cmdlet สำหรับสร้าง, ดู และลบ
ต่อไป เรามาดู Cmdlet ที่ใช้จัดการไฟล์และโฟลเดอร์โดยตรงกัน คำสั่งเหล่านี้จะเป็นเหมือน "มือ" ของคุณ
4. New-Item (alias: ni)
ใช้สร้างไฟล์หรือโฟลเดอร์ใหม่ โดยใช้ -ItemType เพื่อระบุว่าจะสร้างอะไร
การสร้างไฟล์ว่าง:
New-Item -Path ".\style.css" -ItemType File
การสร้างโฟลเดอร์ใหม่:
New-Item -Path ".\assets" -ItemType Directory
5. Get-Content (alias: cat, gc, type)
ใช้แสดงเนื้อหาของไฟล์ข้อความ เหมาะสำหรับเวลาที่ต้องการดูเนื้อหาของไฟล์ตั้งค่าอย่างรวดเร็ว
Get-Content -Path ".\style.css"
6. Remove-Item (alias: rm, del, erase, rmdir)
ใช้ลบไฟล์และโฟลเดอร์ 【สำคัญ】คำสั่งนี้จะลบไฟล์อย่างถาวรทันทีโดยไม่ผ่านถังขยะ และไม่สามารถกู้คืนได้ โปรดใช้ด้วยความระมัดระวังอย่างสูงสุด
Remove-Item -Path ".\style.css"
แก่นแท้ของ PowerShell: Cmdlet สำหรับจัดการอ็อบเจกต์
จากนี้ไปคือการแสดงศักยภาพที่แท้จริงของ PowerShell เราจะมาแนะนำ Cmdlet ที่ใช้ดึงข้อมูลสถานะของระบบมาในรูปแบบ "อ็อบเจกต์" และจัดการกับมันได้อย่างอิสระ
7. Get-Process (alias: ps)
ดึงรายการโปรเซส (โปรแกรม) ที่กำลังทำงานอยู่มาในรูปแบบอ็อบเจกต์ ซึ่งมีข้อมูลอย่างละเอียดเช่น การใช้ CPU และหน่วยความจำรวมอยู่ด้วย
Get-Process
8. Where-Object (alias: where, ?)
ใช้กรองอ็อบเจกต์ที่ส่งผ่านมาทางไปป์ไลน์ `|` ตามเงื่อนไขที่กำหนด ทำงานคล้ายกับ WHERE clause ใน SQL
ตัวอย่างเช่น ลองดึงเฉพาะโปรเซสของ Google Chrome จากโปรเซสทั้งหมดดู
Get-Process | Where-Object { $_.ProcessName -eq "chrome" }
9. Sort-Object (alias: sort)
ใช้เรียงลำดับอ็อบเจกต์ตามค่าของคุณสมบัติ (property) ที่ระบุ
ลองนำโปรเซสของ Chrome จากเมื่อสักครู่มาเรียงลำดับตามปริมาณการใช้หน่วยความจำจากมากไปน้อย
Get-Process | Where-Object { $_.ProcessName -eq "chrome" } | Sort-Object -Property WS -Descending
10. Get-Help (alias: help, man)
นี่เป็นคำสั่งสุดท้ายที่จะแนะนำ แต่จริงๆ แล้วอาจจะเป็นคำสั่งที่สำคัญที่สุดเลยก็ได้ Get-Help คือครูส่วนตัวของคุณที่จะสอนวิธีใช้ Cmdlet อื่นๆ หากมีคำสั่งไหนที่คุณไม่ทราบวิธีใช้ ให้ลองใช้คำสั่งนี้ก่อนเลย
Get-Help Get-Process
หากเพิ่ม -Examples ออปชันเข้าไป จะสามารถดูตัวอย่างการใช้งานจริงได้
Get-Help Get-Process -Examples
สรุป
เยี่ยมมากครับ! ครั้งนี้ เราได้แนะนำ 10 Cmdlet พื้นฐานที่จะเป็นอาวุธชิ้นแรกของคุณในการสำรวจโลกของ PowerShell แม้แต่ละคำสั่งจะดูเรียบง่าย แต่หวังว่าคุณจะได้สัมผัสแล้วว่าเมื่อนำมาเชื่อมต่อกันด้วยไปป์ไลน์ มันสามารถทำงานที่ซับซ้อนได้อย่างน่าทึ่ง
เคล็ดลับในการจำคือ ให้จำชื่อเต็มในรูปแบบ กริยา-คำนาม ไม่ใช่แค่ alias หากทำเช่นนั้น แม้จะเป็นคำสั่งที่ไม่เคยเห็นมาก่อน คุณก็จะสามารถเดาได้ว่า "ถ้าอยากจะดึงข้อมูล ก็น่าจะเป็น `Get-อะไรสักอย่าง`" ซึ่งจะทำให้การเรียนรู้ของคุณเร็วขึ้นอย่างมาก
เมื่อคุณเชี่ยวชาญคำสั่งพื้นฐานแล้ว ขั้นต่อไปก็คือการนำความรู้เหล่านี้มาประกอบกันเพื่อสร้างเครื่องมืออัตโนมัติของคุณเอง หรือก็คือ "สคริปต์ PowerShell" นั่นเอง ในบทความหน้า เราจะมาอธิบายวิธีเขียนสคริปต์เพื่อทำงานกับไฟล์อย่างง่ายๆ ตั้งแต่เริ่มต้น อย่าลืมติดตามนะครับ!
มาลองทำให้การจัดการไฟล์เป็นอัตโนมัติด้วย PowerShell กันเถอะ! คู่มือสคริปต์สำหรับผู้เริ่มต้นสุดๆ