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 promptcd
– เปลี่ยน working directorydir
– แสดงข้อมูลไฟล์และโฟลเดอร์ใน working directorymkdir
– สร้าง directory ใหม่rmdir
– ลบ directorydel
– ลบไฟล์ (ใน command prompt ไม่มีปุ่ม undo ต้องใช้คอมมานด์นี้ด้วยความระมัดระวัง)cls
– เคลียร์หน้าจอ command promptnotepad
– เปิดโปรแกรม notepad text editor ของ Windowstype
– เรียกดู content ใน text filerename
– แก้ไขชื่อไฟล์move
– ย้ายไฟล์หรือโฟลเดอร์findstr
– ค้นหา string pattern ใน text filehelp
– เปิดคู่มือการใช้งาน 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