DEV Community

Cover image for มาฝึก Linux command กับ Katakoda กันเถอะ 👨‍💻
Phisinee Sagulvanitchaporn
Phisinee Sagulvanitchaporn

Posted on

มาฝึก Linux command กับ Katakoda กันเถอะ 👨‍💻

สำหรับการเรียน KubeOps Pre-academy ครั้งที่ 6 นั้น อาจารย์โจ้ต้องการปูพื้น Basic Linux ให้ทุกคนได้เข้าใจ ก่อนอื่นเรามารู้จัก Linux กันก่อนดีกว่า ว่าคืออะไรกันแน่ ???

Linux คือ ระบบปฏิบัติการ (Operating System หรือ OS) ที่เปิดให้ทุกคนสามารถใช้ได้ฟรี (open source) ช่วยให้เราสามารถควบคุมและจัดการอุปกรณ์ฮาร์ดแวร์ต่างๆภายในเครื่องคอมพิวเตอร์ ไม่ว่าจะเป็น CPU, RAM, หรือ storage ผ่านซอฟต์แวร์หรือชุดคำสั่ง (Command)

ซึ่งในส่วนของ commandนี้ จะทำหน้าที่ในการรับคำสั่งผ่าน command line interface ยกตัวอย่าง เช่น shell เพื่อสั่งการให้ระบบปฏิบัติการทำงานต่อไป

นี่คือตัวอย่างการรับคำสั่งผ่านสิ่งที่เรียกว่า command line interface ผ่านระบบปฏิบัติการ Window (รูปที่ 1) และ Linux (รูปที่ 2)

รูปที่ 1
Image description

รูปที่ 2
Image description

ก่อนที่เราจะเข้าสู่การใช้งาน Linux โดยใช้ command line ข้างต้น จริง ๆ Linux นั้นมีสิ่งที่สำคัญที่เรียกว่า เป็นหัวใจสำหรับการทำงานของระบบ ที่มีส่วนทำให้เกิดการ interactive กับระบบ และส่งผลต่อการจัดการ หรือควบคุมฮาร์ดแวร์ภายใต้ระบบปฏิบัติการ ส่วนนั้นเรียกว่า "File system"

หัวใจของ Linux
เมื่อพูดถึง File system บน Linux ให้นึกถึงโครงสร้างของบริษัท ที่เป็นแบบ structure organization ตำแหน่งบนสุดนี้คือ Root Directory สัญลักษณ์อ้างอิงในระบบคือ / (เครื่องหมายสแลช) ถัดมาเป็น Directory ย่อยๆ

Image description

เมื่อพูดถึงใน DOS และ Windows ระบบมีการเก็บ Directory ลงบนหลายๆ Partition ได้ ซึ่ง Partition ก็คือไดร์ฟที่เราเรียกกัน เช่น c:\ (Root ของไดร์ฟ C) และถ้ามี d:\ (Root ของไดร์ฟ D) ซึ่งแปลว่าในระบบ Dos/Windows มี Root ได้มากกว่า 1

แต่ลินุกไม่ได้เก็บแบบนั้น เพราะมันยอมให้มี Root ได้เพียงที่เดียวเท่านั้น ส่วน Partition อื่น หรืออุปกรณ์ต่อพ่วงอื่นๆ ที่จะนำมาใช้งานก็ต้องทำการ Mount เข้าระบบไปก่อน จึงจะสามารถใช้งานได้ ในการอ้างถึงแบบ Directory แทน

คราวนี้ เรามาดูประโยชน์ของ Directory สำคัญต่าง ๆ ที่มีเบื้องต้น ตั้งแต่เริ่มมีการติดตั้ง OS

  • /bin และ /usr/bin — ใช้สำหรับเก็บ user command
  • /boot — เป็นที่อยู่ของไฟล์ทั้งหมดที่ใช้ในการ boot เครื่อง
  • /dev — เป็นที่อยู่ของไฟล์ที่ใช้ในการเข้าถึงฮาร์ดแวร์
  • /etc — เป็นที่อยู่ของไฟล์ที่ใช้กำหนดค่าต่างๆ (Configuration files)
  • /home — เป็นที่อยู่ของไฟล์และ directory ที่เราต้องการจัดเก็บข้อมูล เช่น Documents, Videos, Music etc.
  • /root — เป็น home directory ของบัญชีผู้ใช้ที่เป็น superuser
  • /run — เป็นที่อยู่ของข้อมูลที่เกี่ยวกับการบูท
  • /sbin และ /usr/sbin — ใช้สำหรับเก็บ system command
  • /tmp — ใช้สำหรับเก็บไฟล์แบบชั่วคราว ไฟล์ที่มีอายุเกิน 10 วัน จะถูกลบโดยอัตโนมัติ
  • /var — เป็นที่อยู่ของไฟล์และ directory ที่มีการเปลี่ยนแปลงอยู่เสมอ เช่น databases, log files, mails, cache directories, Web data etc.

ดังนั้น จากข้อมูลข้างต้น เราจะเห็นแล้วว่า File system เป็นหัวใจของการทำงานทั้งหมดในระบบปฏิบัติการ ในกรณีที่ File มีขนาดโตขึ้นมาก เกินกว่าระบบจะรองรับได้ นั่นก็มีส่วนที่จะทำให้ฮาร์ดแวร์ไม่สามารถรองรับการทำงานได้ไหว หรือมีประสิทธิภาพเช่นกัน

จาก File system เรามาพูดถึง command line หรือชุดคำสั่งพื้นฐานที่เป็นประโยชน์ต่อการใช้งานในระบบปฏิบัติการ Linux กันบ้างดีกว่า สิ่งนี้เพื่อช่วยให้มือใหม่เข้าใจวิธีการในการส่งคำสั่งต่อระบบอย่างดียิ่งขึ้นอีกด้วย

คำสั่งพื้นฐานที่พบบ่อยในการใช้งาน

  • man (manual) — ใช้สำหรับแสดงคู่มือการใช้งานของแต่ละคำสั่ง

Image description

Image description

  • pwd (print directory) — ใช้สำหรับแสดงที่อยู่ปัจจุบันว่า ตอนนี้เรากำลังอยู่ภายใต้ directory ไหนของระบบ

Image description

ตอนนี้ เราอยู่ภายใต้ root directory

  • ls (listing) — ใช้สำหรับแสดงไฟล์และ directory ทั้งหมด ที่อยู่ใน directory ปัจจุบัน

Image description

จากภายใต้ root directory จะเห็นได้ว่ามีไฟล์ original-ks.cfg ปรากฎอยู่

  • cd (Change Directory) - ใช้สำหรับเปลี่ยนที่อยู่จาก directory ปัจจุบัน ไปยัง directory ที่ต้องการได้ ซึ่งตัว directory นี้จะมี parameter เบื้องต้นดังต่อไปนี้

Image description

จะเห็นได้ว่า เรากำลัง change directory ไปที่ /var/log

cd . ซึ่ง . ในที่นี้หมายถึง directory ปัจจุบัน

Image description

เมื่อลองรัน cd . เราจะยังอยู่ที่ /var/log ดังเดิม

cd .. ซึ่ง .. ในที่นี้หมายถึง directory ก่อนหน้า ของ directory ปัจจุบัน ซึ่งเป็นการถอย directory ลงไปอีกหนึ่งลำดับขั้น

Image description

เมื่อเรารัน cd .. นั่นคือเป็นการถอยจาก /var/log ไปหนึ่งขั้น เราจะอยู่ที่ /var ณ ปัจจุบัน

cd ~ ซึ่ง ~ ในที่นี้หมายถึง /home/ เพราะฉะนั้นไม่ว่าตอนนี้เราจะอยู่ใน directory ไหนก็ตาม พอรันคำสั่งนี้ มันจะกลับไปที่ Home ของ user

Image description

ตอนนี้ เรากลับไปที่ home ของ root directory เรียบร้อยแล้ว

cd / ซึ่ง / ในที่นี้หมายถึง root directory นั่นหมายถึงการ change ไปยัง root directory นั่นเอง

  • mkdir <file_name> (make directory) — ใช้ในการสร้าง directory ใหม่

Image description

เราจะเห็นว่า จากตอนแรกภายใต้ root directory จะมีเพียงไฟล์หนึ่งไฟล์เมื่อทำการ make directory เราจะเห็น folder ใหม่เกิดขึ้นชื่อว่า "test"

  • cat <file_name> - ใช้เปิดดู detail ของ file นั้น ๆ ดังตัวอย่างด้านล่าง

Image description

ส่วนที่เหลือสามารถศึกษาต่อได้จาก UNIX command Tutorial

Reference:

Discussion (0)