φυβλαςのβλογ
บล็อกของ phyblas



ว่าด้วยเรื่องการใช้ command line
เขียนเมื่อ 2019/01/24 12:03
แก้ไขล่าสุด 2021/09/28 16:42
ในยุคนี้คนส่วนใหญ่ที่ใช้คอมพิวเตอร์จะชินกับหน้าจอที่เป็นหน้าต่างแล้วใช้เมาส์กดคลิกเลือกคำสั่งต่างๆ

แม้แต่นักเขียนโปรแกรมเอง ส่วนใหญ่ก็น่าจะเริ่มฝึกจากการใช้พวกโปรแกรมสำเร็จรูปที่ประกอบด้วยหน้าต่างสำหรับแก้ข้อความ และปุ่มสั่งคอมไพล์หรือรันโปรแกรม

หน้าจอที่ประกอบไปด้วยหน้าต่างโปรแกรมต่างๆแล้วใช้เมาส์คลิกเลือกได้แบบนี้เรียกว่า ส่วนต่อประสานกราฟิกกับผู้ใช้ (graphical user interface) มักเรียกเป็นตัวย่อว่า GUI

ส่วนต่อประสานกับผู้ใช้ (user interface) หมายถึงส่วนที่มีไว้สำหรับให้คนสามารถควบคุมคอมพิวเตอร์เพื่อทำอะไรต่างๆตามที่ต้องการได้

GUI เป็นรูปแบบหนึ่งของส่วนต่อประสานกับผู้ใช้ ซึ่งเป็นรูปแบบที่นิยมในยุคปัจจุบันและเหมาะกับผู้ใช้งานทั่วๆไป

แต่ว่าก่อนที่จะมี GUI นั้น ส่วนต่อประสานกับผู้ใช้จะอยู่ในรูปแบบ คอมมานด์ไลน์ (command line) เป็นลักษณะหน้าจอที่มีแต่สีขาวดำและเต็มไปด้วยตัวหนังสือและมีช่องให้ป้อนคำสั่งอยู่ด้านล่างสุด

พูดถึงสิ่งนี้แล้วคนทั่วไปน่าจะนึกถึงช่างคอม หรือไม่ก็แฮกเกอร์ดังที่เห็นได้บ่อยๆตามหนัง

เพราะคนที่จะใช้งานคอมมานด์ไลน์ได้จะต้องเป็นคนที่มีความรู้คอมมาก จึงค่อนข้างเป็นที่ไม่คุ้นเคยนักสำหรับผู้ใช้งานคอมทั่วไปในปัจจุบัน

คอมมานด์ไลน์มีข้อดีคือทำงานได้เร็วกว่า ทำอะไรได้ยืดหยุ่นกว่า ถ้าหากใช้เป็น

ข้อเสียคือใช้งานยาก ต้องใช้เวลาในการเรียนรู้นานเพื่อจะใช้เป็น ทุกอย่างเป็นตัวหนังสือทำให้อาจนึกภาพได้ยาก เมาส์ก็ใช้ไม่ได้ ได้แต่กดแป้นพิมพ์ จึงไม่มีอิสระในการควบคุมมากนัก

เวลาคอมมีปัญหาแล้วเรียกช่างคอมมาถ้าหากปัญหาซับซ้อนมากเขาก็จะเปิดคอมมานด์ไลน์มาพิมพ์คำสั่งอะไรต่างๆเพื่อจัดการ เพราะคอมมานด์ไลน์ใช้ทำอะไรที่เป็นระดับสูงได้มากกว่า

เพียงแต่ก็มีความเสี่ยงสูง เพราะหากทำผิดพลาดขึ้นมาทีอาจถึงขั้นทำคอมพัง ต้องลงเครื่องใหม่ได้

งานอะไรที่สามารถทำได้ด้วย GUI ก็ใช้ GUI จะทั้งสะดวกกว่าและปลอดภัยกว่า งานอะไรที่เป็นระดับสูงขึ้นไปค่อยใช้คอมมานด์ไลน์

สำหรับนักเขียนโปรแกรมเองก็หากใช้พวกสิ่งแวดล้อมสำหรับการพัฒนาแบบเบ็ดเสร็จ (integrated development environment, IDE) อย่างพวก microsof visual studio ก็สามารถทั้งเขียนและรันโปรแกรมได้โดยไม่ต้องยุ่งกับคอมมานด์ไลน์

แต่ถึงอย่างนั้นก็อาจมีบางสถานการที่จำเป็นต้องใช้ จะมากหรือน้อยก็แล้วแต่งานที่ทำ

โดยเฉพาะคนที่ใช้ linux จะมีความจำเป็นต้องใช้คอมมานด์ไลน์มากกว่าใน windows หรือ mac เนื่องจากมีระบบ GUI ที่ทำงานได้ไม่ทั่วถึงเท่า แม้แต่เวลาติดตั้งโปรแกรม ส่วนใหญ่ก็ยังต้องทำผ่านคอมมานด์ไลน์

คอมมานด์ไลน์จึงไม่ได้มีไว้สำหรับแค่ช่างคอมหรือแฮกเกอร์เท่านั้น



คำสั่งคอมมานด์ไลน์ที่ใช้นั้นจะต่างกันไปตามระบบปฏิบัติการ สำหรับ mac และ linux นั้นจะใช้เหมือนกันคือเป็นเชลยูนิกซ์ (unix shell) ส่วน windows จะเป็นคอมมานด์พร้อมปต์ (command prompt) หรือพาวเวอร์เชล (powershell)

เชลยูนิกซ์เองก็ยังแบ่งย่อยออกเป็นหลายแบบ แต่ที่ใช้เป็นมาตรฐานทั้งใน mac และ linux ทั่วไปในปัจจุบันคือ bash (Bourne Again SHell)

เชลยูนิกซ์เป็นส่วนต่อประสานกับผู้ใช้ที่เริ่มใช้ในระบบปฏิบัติการยูนิกซ์ (unix) ซึ่งเป็นที่นิยมมากในสมัยก่อน แม้ว่ายูนิกซ์จะหมดความนิยมไปแล้วแต่ก็เป็นรากฐานให้กับระบบปฏิบัติการยุคต่อมา

ระบบปฏิบัติการที่พัฒนาต่อยอดมาจากยูนิกซ์นั้นมักเรียกว่าระบบปฏิบัติการแบบยูนิกซ์ (unix-like operating system) ได้แก่ mac และ linux คอมมานด์ไลน์จึงใช้เชลยูนิกซ์เป็นหลัก

โดยทั่วไปแล้วการใช้งานใน mac และ linux จะมีความแตกต่างกันไปบ้าง แต่โดยรวมคำสั่งส่วนใหญ่ก็ใช้เหมือนกัน



วิธีการเปิดใช้งานคอมมานด์ไลน์

ในปัจจุบันนี้ระบบปฏิบัติการที่นิยมใช้ในคอมพิวเตอร์ส่วนบุคคลอย่าง windows mac linux นั้นเปิดมาปกติจะเริ่มจากหน้าจอ GUI ดังนั้นการใช้งานคอมมานด์ไลน์จึงมักใช้ในลักษณะที่เป็นการเปิดหน้าต่างคอมมานด์ไลน์ขึ้นมา

นอกจากนี้แล้วยังมีอีกวิธีคือเปลี่ยนทั้งหน้าจอให้เป็นคอมมานด์ไลน์ไปเลย แต่ในที่นี้จะไม่พูดถึง

สำหรับใน windows ให้เปิดคอมมานด์พรอมปต์โดยไปที่ "เริ่มต้น" (รูปหน้าต่างมุมซ้ายล่าง) แล้วพิมพ์ค้น cmd ก็จะมีคอมมานด์พรอมปต์ให้เลือก (ชื่อไทยใช้คำว่า "พร้อมท์คำสั่ง")



เปิดขึ้นมาก็จะเจอหน้าจอประมาณนี้ สามารถพิมพ์คำสั่งได้





สำหรับการใช้เชลยูนิกซ์ใน mac หรือ linux นั้นโดยทั่วไปจะทำผ่านเทอร์มินัล (terminal)

สำหรับ mac วิธีการเปิดให้ไปที่ lunchpad แล้วกดเข้าไปที่ "อื่นๆ" จากนั้นเทอร์มินัลจะอยู่ข้างใน



สำหรับใน linux แต่ละรุ่นจะต่างกันออกไป แต่โดยส่วนใหญ่แล้วเทอร์มินัลจะอยู่ในเมนูโปรแกรมต่างๆ หาเจอได้ไม่ยาก

อันนี้เป็นตัวอย่างใน ubuntu 18 เลือกที่ "แสดงโปรแกรมต่างๆ" แล้วเลื่อนลงไปหน้าหลังเลือก "เทอร์มินัล"



เมื่อคลิกแล้วหน้าจอเชลก็จะถูกเปิดขึ้นมา แบบนี้



ทุกอย่างเริ่มต้นขึ้นจากหน้าจอตัวหนังสือนี้



เรื่องของวิธีการใช้เชลยูนิกซ์อ่านได้ในบทความต่อไป https://phyblas.hinaboshi.com/20190125


-----------------------------------------

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

ดูสถิติของหน้านี้

หมวดหมู่

-- คอมพิวเตอร์ >> shell

ไม่อนุญาตให้นำเนื้อหาของบทความไปลงที่อื่นโดยไม่ได้ขออนุญาตโดยเด็ดขาด หากต้องการนำบางส่วนไปลงสามารถทำได้โดยต้องไม่ใช่การก๊อปแปะแต่ให้เปลี่ยนคำพูดเป็นของตัวเอง หรือไม่ก็เขียนในลักษณะการยกข้อความอ้างอิง และไม่ว่ากรณีไหนก็ตาม ต้องให้เครดิตพร้อมใส่ลิงก์ของทุกบทความที่มีการใช้เนื้อหาเสมอ

สารบัญ

รวมคำแปลวลีเด็ดจากญี่ปุ่น
มอดูลต่างๆ
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
การเรียนรู้ของเครื่อง
-- โครงข่าย
     ประสาทเทียม
ภาษา javascript
ภาษา mongol
ภาษาศาสตร์
maya
ความน่าจะเป็น
บันทึกในญี่ปุ่น
บันทึกในจีน
-- บันทึกในปักกิ่ง
-- บันทึกในฮ่องกง
-- บันทึกในมาเก๊า
บันทึกในไต้หวัน
บันทึกในยุโรปเหนือ
บันทึกในประเทศอื่นๆ
qiita
บทความอื่นๆ

บทความแบ่งตามหมวด



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  ค้นหาบทความ

  บทความแนะนำ

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

ไทย

日本語

中文