🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

รายการคำสั่งพื้นฐานของ Bash และวิธีใช้งานเบื้องต้น (cd, ls, echo และอื่นๆ)

ในบทความที่ผ่านมา เราได้เตรียมสภาพแวดล้อมที่ Bash สามารถทำงานได้แล้ว (ไม่ว่าจะเป็น Terminal บน macOS หรือ WSL บน Windows) ในที่สุดก็ถึงเวลาที่เราจะก้าวเข้าสู่โลกของ Bash อย่างเต็มตัว! คุณเคยใฝ่ฝันถึงภาพของ "แฮกเกอร์" ที่สามารถควบคุมคอมพิวเตอร์ได้ดั่งใจด้วยการพิมพ์คำสั่งจากคีย์บอร์ดไหมครับ? คำสั่งพื้นฐานที่เราจะเรียนในวันนี้คือบันไดก้าวแรกสู่ความฝันนั้น

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


1. คำสั่งสำหรับการเดินทาง - มาเป็นนักสำรวจระบบไฟล์กันเถอะ

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

pwd - ตรวจสอบตำแหน่งปัจจุบัน

pwd (Print Working Directory) ใช้แสดงผลพาธเต็ม (ตำแหน่งที่สมบูรณ์จากราก) ของไดเรกทอรีที่คุณอยู่ ณ ปัจจุบัน เหมือนกับการดูเข็มทิศเมื่อหลงป่า หากหลงทางในเทอร์มินัล ให้พิมพ์ pwd ก่อนเลย

$ pwd
/Users/yourname/Documents/Projects

cd - ย้ายไดเรกทอรี

cd (Change Directory) ตามชื่อเลย คือคำสั่งสำหรับย้ายไปยังไดเรกทอรี (โฟลเดอร์) อื่น

การเข้าไปในโฟลเดอร์ที่ระบุ:

$ cd website-v1

การย้อนกลับไปหนึ่งระดับ:

$ cd ..

การกลับไปยังโฮมไดเรกทอรีของคุณในพริบตา:

$ cd

มีความหมายเดียวกับการพิมพ์ cd ~ ไม่ว่าคุณจะอยู่ในไดเรกทอรีที่ลึกแค่ไหน คำสั่งนี้จะพาคุณกลับบ้านได้ในพริบตา


2. คำสั่งแสดงรายการ - การมองไปรอบๆ

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

ls - แสดงรายการไฟล์และโฟลเดอร์

การรัน ls (List) เฉยๆ จะแสดงรายชื่อไฟล์และโฟลเดอร์ในไดเรกทอรีปัจจุบัน

$ ls
css  images  index.html  js

ปรับแต่งการแสดงผลด้วยออปชัน

ls สามารถเปลี่ยนวิธีการแสดงผลได้หลากหลายโดยการเพิ่ม "ออปชัน"

แสดงข้อมูลอย่างละเอียด (-l):

$ ls -l
total 8
drwxr-xr-x 2 user staff  64  7  6 10:00 css
drwxr-xr-x 3 user staff  96  7  6 10:00 images
-rw-r--r-- 1 user staff 512  7  6 10:01 index.html
drwxr-xr-x 2 user staff  64  7  6 10:00 js

คุณจะเห็นข้อมูลอย่างละเอียด เช่น สิทธิ์การเข้าถึง, เจ้าของ, ขนาดไฟล์, และวันที่แก้ไขล่าสุด


แสดงไฟล์ทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่ (-a):

จะแสดง "ไฟล์ที่ซ่อนอยู่" ซึ่งชื่อขึ้นต้นด้วยจุด เช่น .htaccess ด้วย

$ ls -a
.  ..  .htaccess  css  images  index.html  js

. คือสัญลักษณ์พิเศษที่หมายถึงไดเรกทอรีปัจจุบัน และ .. หมายถึงไดเรกทอรีชั้นบนหนึ่งขั้น


สามารถรวมออปชันได้:

$ ls -al

3. คำสั่งสร้างและจัดการ - เปลี่ยนแปลงโลกของคุณ

เมื่อคุณสามารถเดินทางและตรวจสอบสภาพแวดล้อมได้แล้ว ต่อไปเรามาลองสร้าง, คัดลอก, เปลี่ยนชื่อ, และลบไฟล์และโฟลเดอร์กันจริงๆ คำสั่งเหล่านี้คือ "มือ" ของคุณในโลก CUI

mkdir - สร้างโฟลเดอร์

mkdir (Make Directory) ใช้สร้างโฟลเดอร์ใหม่

$ mkdir assets

touch - สร้างไฟล์ว่าง

คำสั่ง touch สามารถอัปเดตเวลาของไฟล์ หรือหากไม่มีไฟล์อยู่ ก็จะสร้างไฟล์ว่างขึ้นมาใหม่

$ touch contact.html

cp - คัดลอกไฟล์หรือโฟลเดอร์

cp (Copy) ใช้ทำสำเนาไฟล์หรือโฟลเดอร์

การคัดลอกไฟล์:

$ cp index.html index_backup.html

การคัดลอกโฟลเดอร์ (ต้องใช้ออปชัน -r):

$ cp -r css/ css_backup/

mv - ย้ายหรือเปลี่ยนชื่อไฟล์และโฟลเดอร์

mv (Move) ใช้ย้ายไฟล์หรือโฟลเดอร์ และยังใช้สำหรับเปลี่ยนชื่อได้อีกด้วย

การย้ายไฟล์:

$ mv contact.html pages/

การเปลี่ยนชื่อไฟล์ (คิดซะว่าเป็นการย้ายไปยังตำแหน่งเดิมแต่ใช้ชื่อใหม่):

$ mv index_backup.html index_old.html

rm - ลบไฟล์หรือโฟลเดอร์

rm (Remove) คือคำสั่งลบ 【ข้อควรระวังที่สำคัญอย่างยิ่งยวด!】 ต่างจากถังขยะใน GUI สิ่งที่ถูกลบด้วย rm จะหายไปอย่างถาวรและไม่สามารถกู้คืนได้ ก่อนจะรันคำสั่ง ควรหายใจเข้าลึกๆ และใช้ความระมัดระวังเทียบเท่ากับการชี้นิ้วยืนยันว่าใช่สิ่งที่ต้องการลบจริงๆ

การลบไฟล์:

$ rm index_old.html

การลบโฟลเดอร์ (ต้องใช้ออปชัน -r):

$ rm -r css_backup/

4. คำสั่งสำหรับดูเนื้อหาไฟล์

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

cat - แสดงเนื้อหาทั้งไฟล์ในครั้งเดียว

cat เหมาะสำหรับเวลาที่ต้องการตรวจสอบเนื้อหาของไฟล์สั้นๆ อย่างรวดเร็ว

$ cat index.html

less - ดูไฟล์ยาวๆ พร้อมกับเลื่อนดูได้

less มีประโยชน์อย่างมากเมื่อต้องการดูไฟล์ยาวๆ เช่น ไฟล์ล็อก คุณสามารถใช้ปุ่มลูกศรขึ้นลงเพื่อเลื่อนดู และกดปุ่ม q เพื่อออกจากการดู

$ less /var/log/apache2/access_log

head / tail - ดูเฉพาะส่วนหัวหรือท้ายของไฟล์

head แสดงส่วนหัวของไฟล์ ส่วน tail แสดงส่วนท้าย มักใช้บ่อยเมื่อต้องการตรวจสอบล็อกล่าสุด เป็นต้น

$ tail -n 20 access_log

-n 20 หมายถึง "แสดง 20 บรรทัดสุดท้าย"


สรุป

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

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

ตอนนี้ คุณได้เรียนรู้ "คำศัพท์" พื้นฐานของภาษา Bash แล้ว ขั้นตอนต่อไปคือการนำคำศัพท์เหล่านี้มารวมกันเพื่อสร้าง "ประโยค" หรือก็คือโลกของ Bash script นั่นเอง ในบทความหน้า เราจะมาเรียนรู้วิธีการเขียนสคริปต์อัตโนมัติง่ายๆ เพื่อทำให้งานของคุณสบายยิ่งขึ้นไปอีก!

บทนำสู่ Bash Script: ตัวอย่างสคริปต์อัตโนมัติง่ายๆ ที่ควรเขียนเป็นอันดับแรก