บทที่ 02

ทำความรู้จักกับ Shell

หลังจากเปิด Terminal ขึ้นมาเราจะพบกับ Shell prompt รอรับคำสั่งอยู่ ซึ่งหน้าตาของแต่ละเครื่อง(คน) จะไม่เหมือนกันแต่ส่วนใหญ่แล้วจะลงท้ายด้วยสัญลักษณ์ $

ให้คุณพิมพ์ตามแบบฝึกหัดด้านล่างนะครับ วิธีการอ่านหนังสือเล่มนี้ผมเขียนไว้ที่ บทที่ 00 หากยังไม่อ่านกรุณากลับไปอ่านก่อนครับ

แบบฝึกหัด

 1 $ learning by doing
 2 learning: command not found
 3 
 4 $ let learn CLI right now.
 5 bash: let: now.: syntax error: invalid arithmetic operator (error token is ".")
 6 
 7 $ echo $SHELL
 8 /bin/bash
 9 
10 $ uname
11 Linux
12 
13 $ uname -a
14 Linux ubuntu 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:30:01 UTC 2014 i686 \
15 i686 i686 GNU/Linux
16 
17 $ hostname
18 ubuntu
19 
20 $ whoami
21 korakot
22 
23 $ ls -lR /
24   # ในระหว่างที่คำสั่งกำลังทำงานอยู่ให้กดปุ่ม Ctrl+c
25 
26 $ !!
27 
28 $ echo "Opps, I did it again."
29 Opps, I did it again.
30 
31 $ !!
32 
33 $ clear

เก่งมากครับ!!! :) หากผลลัพธ์แต่ละคำสั่งของคุณไม่เหมือนในแบบฝึกหัดก็ไม่ต้องกังวลนะครับ ทีนี้ผมอยากให้คุณลองกดปุ่ม ลูกศรขึ้น ดูครับจะเห็นว่าเป็นการเรียกคำสั่งล่าสุดออกมาโดยที่เราไม่ต้องพิมพ์ใหม่ ลองกดขึ้นอีกซัก 4 ครั้งแล้วลองกดปุ่ม ลูกศรลง ดูครับ ใช่แล้วครับตัว Shell มีการจดจำคำสั่งของเราเอาไว้ (Command History)

บทนี้เรียนรู้อะไร?

  • ตัว Shell จะแจ้ง error ออกมาหากคำสั่งนั้นไม่ถูกต้อง
  • Shell ที่เราใช้อยู่ชื่อว่า bash shell ครับ
  • คุณสามารถตรวจสอบได้ว่า OS ที่คุณกำลังใช้งานอยู่คืออะไรและสามารถเพิ่มรายละเอียดได้ด้วยการใส่ option -a
  • คุณสามารถตรวจสอบได้ว่าเครื่องที่คุณกำลังทำงานอยู่ชื่อว่าอะไร
  • คุณสามารถตรวจสอบได้ว่า username ที่คุณใช้ login อยู่ชื่อว่าอะไร
  • คุณสามารถยกเลิกการทำงานของแต่ละคำสั่งกลางคันได้ด้วยการกด Ctrl+c
  • คุณไม่จำเป็นต้องพิมพ์คำสั่งเดิมๆ ใหม่ทุกครั้งเพราะเรามี command history
  • คุณสามารถพิมพ์ข้อความออกมาด้วยด้วยคำสั่ง echo
  • คุณสามารถ clear หน้าจออันรกรุงรังของคุณได้

เพิ่มเติม

  • ลองค้นหาดูว่านอกจาก bash shell แล้วยังมี shell อื่นๆ อีกหรือไม่?
  • ลองกด Ctrl+p , Ctrl+n และ Ctrl+l
  • สำหรับผู้ใช้ Mac OS X ทำไมเมื่อคุณสั่ง uname ผลลัพธ์ถึงเป็น Darwin ไม่ใช่ Mac OS X หรือ Yosemite