การเริ่มต้นเรียนรู้การใช้งาน Command Line เป็นขั้นตอนสำคัญที่จะช่วยให้สามารถใช้งานแพลตฟอร์มเซิร์ฟเวอร์ Linux ได้อย่างเต็มที่ นอกจากนี้ ยังเป็นพื้นฐานสำคัญสำหรับการทำงานเกี่ยวกับเซิร์ฟเวอร์ในทุกๆ ด้านที่คุณอาจต้องการใช้งานในอนาคต ถึงแม้ว่าจะมีเครื่องมือที่ใช้กราฟิก (GUI – Graphical User Interface) ให้เลือกใช้ แต่การเรียนรู้การใช้ Command Line จะช่วยให้ทำงานได้รวดเร็ว ยืดหยุ่น และมีประสิทธิภาพในแบบที่ GUI ส่วนใหญ่ไม่สามารถทำได้
บทความนี้เหมาะสำหรับผู้ที่เริ่มต้น สิ่งสำคัญคือ คุณต้องล็อกอินเข้าสู่เซิร์ฟเวอร์ VPS (Virtual Private Server) ของคุณก่อนเพื่อเริ่มต้นใช้งาน ทั้งนี้ วิธีการล็อกอินจะขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้บนคอมพิวเตอร์ของคุณเอง โดยในบทความนี้ เราจะครอบคลุมพื้นฐานง่ายๆ เช่น วิธีการค้นหาในระบบไฟล์ และการตรวจสอบตำแหน่งที่คุณอยู่ในขณะนั้น
การตรวจสอบตำแหน่งในระบบไฟล์ด้วยคำสั่ง pwd
เมื่อคุณล็อกอินเข้าสู่เครื่อง Linux ของคุณแล้ว คุณอาจเห็นสิ่งที่หน้าตาคล้ายๆ นี้
root@your_hostname:~#
สิ่งนี่คือ Prompt หรือจุดที่คุณพิมพ์คำสั่งเพื่อสั่งงานระบบ
นอกจากการเป็นจุดรับคำสั่งแล้ว Prompt ยังบอกตำแหน่งที่คุณอยู่ในระบบไฟล์ของเซิร์ฟเวอร์ด้วย ทุกครั้งที่ทำงานอยู่ในเซิร์ฟเวอร์ คุณจะอยู่ในตำแหน่งใดตำแหน่งหนึ่งในโครงสร้างของระบบไฟล์ และตำแหน่งนี้มีผลต่อวิธีการทำงานของคำสั่งต่างๆ ลองนึกถึงเวลาที่คุณเปิด File Browser บนคอมพิวเตอร์ของคุณ ที่สามารถคลิกไปยังโฟลเดอร์ต่างๆ เพื่อเปลี่ยนตำแหน่งที่คุณกำลังดูอยู่ ถ้าคุณไปที่เมนูแก้ไข (Edit) บางคำสั่งอาจใช้ได้เฉพาะกับไฟล์หรือโฟลเดอร์ในตำแหน่งที่คุณอยู่ Command Line เป็นเพียงการแสดงผลในรูปแบบข้อความของแนวคิดเดียวกันนี้
ตอนนี้เราจะหาว่าคุณอยู่ที่ไหนในระบบไฟล์
ใน Prompt ของคุณ อาจมีตัวช่วยบอกตำแหน่งอยู่แล้ว เช่น สัญลักษณ์ ~ (Tilde) ที่มักปรากฏอยู่ก่อน # หรือ $ ในท้าย Prompt สัญลักษณ์ ~ นี้แทนที่อยู่ Home Directory ของผู้ใช้งาน Home Directory คือโฟลเดอร์ที่เก็บไฟล์ทั้งหมดที่เกี่ยวข้องกับผู้ใช้คนนั้น สัญลักษณ์ ~ เป็นทางลัดเพื่อบอกว่า “ฉันอยู่ใน Home Directory ของฉัน”
อีกวิธีหนึ่งที่ง่ายในการตรวจสอบตำแหน่งคือการใช้คำสั่ง pwd ซึ่งย่อมาจาก Print Working Directory ลองพิมพ์คำสั่งนี้ใน Terminal ของคุณแล้วกด ENTER
pwd
ผลลัพธ์ที่ได้คือ
/root
ในตัวอย่างนี้ /root เป็น Home Directory ของผู้ใช้ root (ซึ่งเป็นผู้ดูแลระบบ) หากคุณล็อกอินด้วยผู้ใช้อื่น ผลลัพธ์จะแสดงให้เห็นคนละอย่าง
การสำรวจสิ่งที่อยู่ในโฟลเดอร์ด้วยคำสั่ง ls
ตอนนี้คุณทราบแล้วว่าคุณอยู่ในโฟลเดอร์ไหนในระบบไฟล์ของคุณ แต่เราจะรู้ได้อย่างไรว่ามีไฟล์หรือโฟลเดอร์อะไรอยู่ในตำแหน่งนี้ การที่เราจะได้รู้ได้คือ ใช้คำสั่งที่เรียกว่า ls เพื่อดูรายการไฟล์และโฟลเดอร์ในโฟลเดอร์ปัจจุบันได้ ลองพิมพ์คำสั่งนี้ลงใน Terminal ของคุณ
ls
เมื่อคุณกด ENTER หากมีไฟล์อยู่แล้ว ระบบจะแสดงไฟล์ที่มีให้เห็น แต่ถ้าระบบมันพาคุณกลับมาที่ Prompt โดยไม่มีข้อมูลอะไรแสดงขึ้นมาเลย แปลว่าโฟลเดอร์ปัจจุบันไม่มีไฟล์หรือโฟลเดอร์อะไรอยู่ในนั้น
สร้างไฟล์ตัวอย่าง
ลองสร้างไฟล์ตัวอย่างเพื่อทดสอบดูว่า ls ทำงานอย่างไรเมื่อมีไฟล์อยู่ในโฟลเดอร์ พิมพ์คำสั่งนี้ใน Terminal
touch file{1..5}
คำสั่งนี้จะสร้างไฟล์เปล่าขึ้นมา 5 ไฟล์ในโฟลเดอร์ปัจจุบัน ชื่อไฟล์คือ file1, file2, file3, file4, และ file5 ลองพิมพ์คำสั่ง ls อีกครั้ง จะแสดงผลลัพธ์เป็นดังนี้
file1 file2 file3 file4 file5
การใช้ตัวเลือก (Options) ของคำสั่ง ls
คำสั่งใน Linux ส่วนใหญ่มีพฤติกรรมเริ่มต้น (Default Behavior) เมื่อคุณเรียกใช้งานโดยไม่มีการเพิ่มตัวเลือก แต่คุณสามารถเพิ่ม ตัวเลือก (Options) เพื่อเปลี่ยนวิธีการทำงานของคำสั่งได้ ตัวเลือกนี้อาจเรียกว่า Options, Arguments, Flags หรือ Parameters ซึ่งสามารถใช้เพื่อเปิดฟังก์ชันเพิ่มเติมหรือระบุเป้าหมายที่คำสั่งจะทำงานด้วย
การใช้ –help เพื่อขอความช่วยเหลือ
คำสั่งส่วนใหญ่ใน Linux มีตัวเลือก –help เพื่อให้ข้อมูลเกี่ยวกับคำสั่งและตัวเลือกที่ใช้ได้ ลองใช้กับคำสั่ง ls
ls --help
ผลลัพธ์จะเป็นคำอธิบายเกี่ยวกับตัวเลือกต่างๆ ที่คุณสามารถใช้กับคำสั่ง ls พร้อมทั้งวิธีการใช้งาน
การใช้คำสั่ง man เพื่ออ่านคู่มือ
อีกวิธีหนึ่งในการเรียนรู้เกี่ยวกับคำสั่งคือการใช้คำสั่ง man (Manual) ลองพิมพ์คำสั่งนี้
man ls
คุณสามารถเลื่อนอ่านข้อมูลด้วยปุ่มลูกศรบนคีย์บอร์ด และกด q เพื่อออกจากหน้าคู่มือ
ทดลองใช้ตัวเลือกของ ls
1.หากต้องการให้แสดงข้อมูลแบบละเอียด ให้ลองใช้คำสั่งนี้
ls -l
ผลลัพธ์จะแสดงไฟล์ในรูปแบบ “Long Format” ซึ่งจะมีข้อมูลเพิ่มเติม เช่น
- ชื่อเจ้าของไฟล์
- กลุ่มของเจ้าของไฟล์
- ขนาดไฟล์
- วันที่แก้ไขล่าสุด
2.หากต้องการให้แสดงไฟล์ที่ซ่อนอยู่ ให้ใช้คำสั่งต่อไปนี้
ls -a
คำสั่งนี้จะแสดงไฟล์ที่ซ่อนอยู่ในโฟลเดอร์ปัจจุบันด้วย ไฟล์ที่ซ่อนอยู่ใน Linux จะเริ่มต้นชื่อด้วยจุด (.) ตัวอย่างเช่น .hiddenfile ไฟล์เหล่านี้ไม่ได้ลับสุดยอด เพียงแต่ระบบซ่อนเอาไว้เพื่อให้การจัดการไฟล์ดูง่ายขึ้น
3.รวมตัวเลือกหลายตัวเข้าด้วยกัน
คุณสามารถรวมตัวเลือกหลายตัวไว้ในคำสั่งเดียวได้ เช่น
ls -la
คำสั่งนี้จะรวมการแสดงผลแบบ Long Format (-l) และการแสดงไฟล์ที่ซ่อน (-a) เข้าด้วยกัน
4.หากต้องการให้แสดงไฟล์แบบ Recursive ลองใช้คำสั่งนี้
ls -Ra
คำสั่งนี้จะทำให้ ls แสดงไฟล์ในโฟลเดอร์ปัจจุบัน รวมถึงไฟล์ในโฟลเดอร์ย่อยทั้งหมด (Recursive) และยังแสดงไฟล์ที่ซ่อนอยู่ด้วย (-a)
การใช้คำสั่ง ls กับโฟลเดอร์อื่นๆ
โดยปกติ คำสั่ง ls จะแสดงรายการไฟล์และโฟลเดอร์ในโฟลเดอร์ปัจจุบัน แต่เราสามารถระบุชื่อโฟลเดอร์อื่นที่ต้องการดูได้ด้วยการพิมพ์เส้นทางของโฟลเดอร์นั้นต่อท้ายคำสั่ง ตัวอย่างเช่น เราสามารถดูเนื้อหาในโฟลเดอร์ /etc (ซึ่งมีอยู่ในระบบ Linux ทุกระบบ) ด้วยคำสั่งนี้
ls /etc
เมื่อคุณกด ENTER คุณจะเห็นว่ามีไฟล์และโฟลเดอร์จำนวนมากในโฟลเดอร์ /etc
ความหมายของ “Absolute Path” และ “Relative Path”
ใน Linux มี 2 วิธีในการอ้างอิงตำแหน่งของโฟลเดอร์หรือไฟล์
1.Absolute Path
- เส้นทางนี้เริ่มต้นด้วยเครื่องหมาย /
- หมายถึงเส้นทางที่ระบุจากโฟลเดอร์บนสุดของระบบ (เรียกว่า root directory)
ตัวอย่าง
/etc
/home/user/documents
2.Relative Path
- เส้นทางนี้ไม่เริ่มต้นด้วย /
- หมายถึงเส้นทางที่สัมพันธ์กับตำแหน่งปัจจุบันของคุณในระบบไฟล์
ตัวอย่าง ถ้าคุณอยู่ในโฟลเดอร์ /root และพิมพ์
ls dir1
ระบบจะมองหาโฟลเดอร์ dir1 ที่อยู่ภายใต้ /root
ทดลองสร้างโฟลเดอร์และไฟล์เพื่อฝึกฝน
ลองสร้างโฟลเดอร์และไฟล์บางอย่างเพื่อทำความเข้าใจความแตกต่างของ Absolute และ Relative Path พิมพ์คำสั่งนี้
mkdir dir{1..3}
touch dir{1..3}/test{A,B,C}
- คำสั่งแรก (mkdir dir{1..3}) จะสร้างโฟลเดอร์ 3 โฟลเดอร์ คือ dir1, dir2, และ dir3
- คำสั่งที่สอง (touch dir{1..3}/test{A,B,C}) จะสร้างไฟล์ 3 ไฟล์ (testA, testB, testC) ในแต่ละโฟลเดอร์
ลองดูว่าเรามีอะไรบ้างในโฟลเดอร์ปัจจุบัน โดยการพิมพ์คำสั่ง ls จะได้ผลลัพธ์ดังนี้
dir1 dir2 dir3 file1 file2 file3 file4 file5
ดูไฟล์ในโฟลเดอร์ย่อย
1.ใช้ Absolute Path ลองดูเนื้อหาในโฟลเดอร์ dir1 โดยใช้ Absolute Path
ls /root/dir1
testA testB testC
2. ใช้ Relative Path คุณไม่จำเป็นต้องพิมพ์ Absolute Path ทุกครั้ง คุณสามารถใช้ Relative Path แทน
ls dir1
testA testB testC
การเปลี่ยนตำแหน่งในระบบไฟล์
จนถึงตอนนี้ คุณได้เรียนรู้วิธีตรวจสอบตำแหน่งปัจจุบันในระบบไฟล์ และใช้คำสั่ง ls เพื่อดูรายการไฟล์และโฟลเดอร์ในตำแหน่งต่างๆ แต่ถ้าคุณต้องการเปลี่ยนไปยังโฟลเดอร์อื่นเพื่อทำงาน การเปลี่ยน ตำแหน่งทำให้เราสามารถใช้งานเส้นทางแบบ Relative Path จากตำแหน่งใหม่ได้ง่ายขึ้น และยังช่วยให้จัดการไฟล์ในโฟลเดอร์นั้นได้สะดวกขึ้น
การเปลี่ยนตำแหน่งในระบบไฟล์สามารถทำได้ด้วยคำสั่ง cd (ย่อมาจาก Change Directory)
การใช้คำสั่ง cd เบื้องต้น
การใช้งานพื้นฐานที่สุดของคำสั่งนี้คือ
cd
เมื่อคุณกด ENTER ดูเหมือนไม่มีอะไรเกิดขึ้น แต่จริงๆ แล้ว คำสั่งนี้ทำงานสำเร็จแล้ว โดยมันพาคุณกลับไปยัง Home Directory ซึ่งเป็นโฟลเดอร์หลักของผู้ใช้ แต่เนื่องจากคุณอยู่ใน Home Directory อยู่แล้ว จึงไม่มีอะไรเปลี่ยนแปลง
การเปลี่ยนตำแหน่งไปยังโฟลเดอร์อื่น
โครงสร้างคำสั่งทั่วไปของ cd คือ
cd /path/to/directory
ตัวอย่างเช่น ถ้าต้องการเปลี่ยนไปยังโฟลเดอร์ “root” (โฟลเดอร์บนสุดของระบบไฟล์ ซึ่งแทนด้วย /) ให้พิมพ์
cd /
หมายเหตุ:
โฟลเดอร์ root directory (แทนด้วย /) ไม่เหมือนกับ Home Directory ของผู้ใช้ root (ซึ่งคือ /root) อย่าสับสน!
การตรวจสอบตำแหน่งหลังเปลี่ยนโฟลเดอร์
เมื่อคุณเปลี่ยนไปยังโฟลเดอร์ใหม่ ให้ใช้คำสั่ง pwd เพื่อตรวจสอบตำแหน่งปัจจุบัน
pwd
/
ตอนนี้คุณอยู่ใน root directory แล้ว ลองดูรายการไฟล์และโฟลเดอร์ในโฟลเดอร์นี้ โดยใช้คำสั่ง ls
ls
bin etc lib media proc sbin sys var
boot home lib64 mnt root selinux tmp vmlinuz
dev initrd.img lost+found opt run srv usr
การใช้เส้นทางแบบ Relative Path
จากตำแหน่ง / เราสังเกตเห็นว่าโฟลเดอร์ usr อยู่ในนี้ ถ้าคุณต้องการเปลี่ยนไปที่โฟลเดอร์ usr ให้พิมพ์
cd usr
ตอนนี้คุณเปลี่ยนตำแหน่งไปยัง usr แล้ว ซึ่งใช้เส้นทางแบบ Relative Path
การย้อนกลับไปโฟลเดอร์ก่อนหน้า
ถ้าคุณต้องการย้อนกลับไปยังโฟลเดอร์ที่อยู่ “ข้างบน” หรือที่เรียกว่า Parent Directory ให้ใช้เครื่องหมาย ..
cd ..
เมื่อพิมพ์ pwd อีกครั้ง คุณจะเห็นว่าเรากลับมาที่ /
การอ้างถึงตำแหน่งปัจจุบัน
ถ้าคุณต้องการอ้างถึงตำแหน่งที่คุณอยู่ในขณะนี้ ใช้เครื่องหมาย . (จุดเดียว) ตัวอย่าง
ls .
คำสั่งนี้จะแสดงไฟล์ในโฟลเดอร์ปัจจุบัน
การใช้สัญลักษณ์ ~ สำหรับ Home Directory
เครื่องหมาย ~ ใช้แทน Home Directory ของผู้ใช้งาน ตัวอย่างเช่น ถ้าต้องการเปลี่ยนไปที่โฟลเดอร์ dir1 ซึ่งอยู่ใน Home Directory ของคุณ ให้พิมพ์
cd ~/dir1
ใช้คำสั่ง pwd เพื่อตรวจสอบตำแหน่งปัจจุบัน
pwd
จะได้ผลลัพธ์ดังนี้
/root/dir1
การกลับไปโฟลเดอร์ก่อนหน้า
ถ้าคุณต้องการย้อนกลับไปยังตำแหน่งที่คุณอยู่ก่อนหน้านี้ ให้ใช้คำสั่ง
cd -
คำสั่งนี้จะพาคุณกลับไปยังตำแหน่งล่าสุดก่อนที่คุณจะใช้คำสั่ง cd
กลับไปยัง Home Directory
สุดท้าย ถ้าคุณต้องการกลับไปยัง Home Directory ของคุณอย่างรวดเร็ว คุณสามารถ:
1.พิมพ์ cd เฉยๆ โดยไม่ต้องตามด้วยเส้นทาง
cd
2. ใช้เครื่องหมาย ~ เป็นเส้นทาง
cd ~
จากนั้นให้ลองตรวจสอบตำแหน่งด้วย pwd
pwd
จะได้ผลลัพธ์ดังนี้
/root