Essential Command Line Windows

Key Concept

Command Line คือ instruction หรือคอมพิวเตอร์โค้ดที่ถูกสร้างขึ้นมาเพื่อทำงานหนึ่งๆ ยิ่งเรารู้จัก commands มากขึ้นเท่าไหร่ เรายิ่งทำงานได้มากขึ้นเท่านั้น

👩‍💻 ทำไมต้องเรียน Command Line?

เพราะไม่ใช่ทุกคอมพิวเตอร์จะมีหน้าจอ GUI (Graphical User Interface) ให้เราใช้งาน ยกตัวอย่างเช่น server ในบริษัทของเราหรือการทำงานกับบริการต่างๆของ cloud platforms อย่าง Google Cloud, AWS, Microsoft Azure เราจำเป็นต้องเขียน command line เองทั้งหมดเลย

คลิกเพื่อดูตัวอย่าง gcloud commands ของ Google Cloud Platform

Review

Essential Command Lines (Windows) ที่ควรรู้จักและใช้ให้เป็น

  • echo – แสดงข้อความใน command prompt
  • cd – เปลี่ยน working directory
  • dir – แสดงข้อมูลไฟล์และโฟลเดอร์ใน working directory
  • mkdir – สร้าง directory ใหม่
  • rmdir – ลบ directory
  • del – ลบไฟล์ (ใน command prompt ไม่มีปุ่ม undo ต้องใช้คอมมานด์นี้ด้วยความระมัดระวัง)
  • cls – เคลียร์หน้าจอ command prompt
  • notepad – เปิดโปรแกรม notepad text editor ของ Windows
  • type – เรียกดู content ใน text file
  • rename – แก้ไขชื่อไฟล์
  • move – ย้ายไฟล์หรือโฟลเดอร์
  • findstr – ค้นหา string pattern ใน text file
  • help – เปิดคู่มือการใช้งาน command ต่างๆ

Note – ในคอร์สนี้ เวลาแอดพูดว่า directory กับ folder คือสิ่งเดียวกันนะครับ เราสามารถ navigate file systems ใน Windows ได้สองวิธีคือ 1. Windows Explorer หรือ 2. command prompt

เปิดโปรแกรม

เราสามารถเปิดโปรแกรม calculator หรือ notepad ด้วย command ด้านล่าง

calc
notepad

แสดงผลข้อความ

echo เทียบเท่ากับฟังก์ชัน print() ของภาษาอื่นๆ ใช้สำหรับแสดงผลข้อมูลใน command prompt

echo I am learning command line in Windows!

Note – ตอนเราเรียนถึงบท Python เราสามารถพิมพ์ข้อความเดียวกันด้วยฟังก์ชัน print(“I am learning command line in Windows!”)

ปรับพารามิเตอร์

Command Line จะมีพารามิเตอร์ที่เราสามารถใช้ได้ เช่น dir /B คือการแสดงชื่อไฟล์และโฟลเดอร์แบบ bare format หรือ dir /OS เรียงข้อมูลตาม file size จากน้อยไปมาก

เราสามารถใช้ wildcard * เพื่อ any match character ค้นหาชื่อไฟล์หรือ .extension ที่ต้องการ

dir
dir /B
dir /B *.png
dir /B a*
dir /OS

เปลี่ยน PATH

Windows ใช้ backslash C:\Users\Your_Computer_Name\Desktop\ สำหรับเขียนชื่อ path เราใช้ cd command (ย่อมาจาก change directory) เพื่อเปลี่ยนไปยัง path ที่เราต้องการ

  • cd ชื่อ path เต็มๆ
  • cd ชื่อ folder ใน current path
  • cd\ ย้อนกลับไปที่ root directory ของ Windows คือ C:\
  • cd .. ย้อนกลับหนึ่ง step (กลับไปที่ parent)
cd C:\Users\Your_Computer_Name\Desktop\Folder
cd Desktop
cd\ 
cd ..

สร้าง Directory ใหม่

command mkdir ย่อมาจาก make directory

mkdir itf-course
cd itf-course

ย้ายและเปลี่ยนชื่อไฟล์

command move และ rename ใช้ในการเปลี่ยนชื่อไฟล์หรือโฟลเดอร์

move [file] [folder]
rename [old_name] [new_name]

การลบไฟล์และโฟลเดอร์

command del ใช้ในการลบไฟล์ ตรงนี้ต้องระวังมากๆ เพราะว่าลบแล้วหายเลย (ไฟล์ไม่ได้ไปอยู่ใน recycly bin) และ command prompt ไม่มีปุ่ม undo ด้วย

เราสามารถใช้พารามิเตอร์ /P เพื่อ confirm ก่อนลบไฟล์ได้ พิมพ์ Y เพื่อคอนเฟิร์มการลบไฟล์

del file_name
del file_name /P

ถ้าต้องการลบโฟลเดอร์ เราจะใช้ command rmdir ถ้าโฟลเดอร์มีไฟล์ข้างในหรือ subfolders อื่นๆ ให้ใช้พารามิเตอร์ /S เพื่อลบไฟล์ทั้งหมดพร้อมโฟลเดอร์ กดรันคอมมานด์และพิมพ์ Y เพื่อคอนเฟิร์ม

rmdir folder_name
rmdir /S folder_name

Redirection

เราใช้สัญลักษณ์ > เพื่อ redirect output ของ echo ไปที่ text file ได้ (.txt) และใช้ >> เพื่อ append ข้อความ เสร็จแล้วใช้ type เพื่อดู content ของ text file ใน command prompt

echo hello world           >  hello.txt
echo this is a second line >> hello.txt
echo this is a third line  >> hello.txt
type hello.txt

ค้นหา String Pattern

เราใช้ findstr เพื่อค้นหา string pattern ที่เราต้องการใน text file ปกติแอดแนะนำให้ใช้พารามิเตอร์ /N เพื่อแสดงชื่อแถว (row number) ของ matched pattern ด้วย

findstr "hello" file.txt
findstr /N "hello" file.txt

วิธีการอ่าน help command

เราสามารถเรียกดู help document ได้สองวิธี 1. พิมพ์ help ตามด้วยชื่อ command เพื่อเรียกดูวิธีการใช้งาน และพารามิเตอร์ที่สามารถใช้ได้ หรือ 2. พิมพ์ชื่อ command ตามด้วย /?

help [command_name]
help dir
dir /?

References

  • รายชื่อ commands ทั้งหมดของ Windows
  • Windows 10 เปลี่ยนชื่อ Windows Explorer เป็น File Explorer แล้ว
  • วิธีการ edit PATH variable เพื่อเรียกใช้งานโปรแกรมจาก command prompt

Formative Quiz

🏆 Formative quiz คือแบบทดสอบเพื่อรีวิวและทบทวนความรู้ งานวิจัยของ Zhang และ Henderson (2015) พบว่านักเรียนที่ผ่านการทำควิซ จะช่วยให้เข้าใจบทเรียนได้ดียิ่งขึ้น better performance อย่างมีนัยสำคัญ

คลิกเพื่อเริ่มทำแบบทดสอบ (do not skip this quiz!)

หลังจากทำแบบทดสอบเสร็จแล้ว แอดรบกวนช่วยตอบแบบสอบถามความพอใจ module นี้ด้วยนะครับ -/\- ขอบคุณทุกคนมากๆครับ แล้วพบกันในบทต่อไปนะ


Keep Learning

แอดแนะนำให้เรียนแค่วันละ 1-2 บท ให้เวลาสมองได้ย่อยเนื้อหาที่เราเรียนก่อน งานวิจัยด้าน neuroscience พบว่าสมองมีการเปลี่ยนแปลงทุกวันเวลาเราได้รับความรู้ใหม่

บทต่อไป เราจะเรียน intermediate command line เริ่มจากการเขียนเว็บไซต์ง่ายๆด้วยภาษา HTML