เรียนรู้ Commands พื้นฐานสำคัญของระบบปฏิบัติการ Linux

ขึ้นชื่อว่า Linux หลายคนคงจะคุ้นหูหรือคุ้นเคยกับมันเป็นอย่างดี เนื่องด้วยเพราะ Linux เป็นระบบปฎิบัติการแบบ OpenSource เปิดเสรี ที่มีอรรถประโยชน์มากใช้งานได้หลากหลาย และที่สำคัญคือฟรี ไม่ต้องเสียสตางค์นั่นเอง(ส่วนใหญ่แทบทั้งหมด จะมีบ้างที่ต้องเสียเงิน เช่น Redhat, Suse) การที่มีความหยืดหยุ่นสูงอยู่คู่กับคน IT มาอย่างยาวนานมี Community อยู่ทั่วโลกทำให้มีข้อมูล Document ต่างๆมากมายให้ค้นหาทั้งการแก้ไขปัญหาและการศึกษา โดยตัว Linux มีการแตกสายพันธ์ของตัวมันเองเป็นหลากหลายเวอร์ชั่น หรือหลาย Distribution มีให้เลือกตามใจชอบ เช่น Centos, Debian, Ubuntu, Redhat, Fedora, Suse, Mint และอื่นๆอีกมากมาย ทั้งในการนำมาทำเป็น OS ของ Server, OS สำหรับ Desktop ธรรมดา, นำมาใช้งานในองค์กร, หรือจะเป็นเวอร์ชั่นที่มีเครื่องไม้เครื่องมือเกี่ยวกับการเจาะระบบ ทำ Penetration Test ต่างๆอย่าง Kali แม้กระทั่งบนบอร์ด Raspberry-Pi ก็มีใช้ Raspbian และ Distro อื่นๆ ที่เป็นหนึ่งในตระกูลของ Linux อีกด้วย

จะเห็นว่า Linux เป็น OS ที่มีประโยชน์มากมายและถูกนำมาใช้งานอย่างแพร่หลาย ซึ่งการใช้งานระบบ Linux นั้นถึงแม้ว่าบางเวอร์ชั่นอาจจะมี GUI ที่สวยงามให้เลือกใช้งาน แต่ในการใช้งานจริงผู้ดูแลระบบหรือนักพัฒนาส่วนใหญ่จะใช้งานในรูปแบบดั้งเดิมคลาสสิคคือแบบ Command line กัน เนื่องจากมีความรวดเร็วหยืดหยุ่น สั่งงานได้ทันที ด้วยเหตุนี้เองเราควรจะต้องรู้ คำสั่งพื้นฐานที่สำคัญที่นำไปใช้หรือประยุกต์ใช้กับระบบ Linux ที่เราสนใจได้ ตามคำสั่งที่สำคัญดังต่อไปนี้

1. man

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

รูปที่ 1.1
รูปที่ 1.2

2. ls

คำสั่งนี้ใช้ดูว่าใน directory ที่เราอยู่ปัจจุบันนั้นมี file หรือ sub-directory อื่น ใดๆประกอบอยู่ภายในนั้นบ้าง ใช้เมื่อเราต้องการเช็ด file, directory หรือชื่อ file, directory เป้าหมายที่เราสนใจ นอกจากนี้สามารถ ls เข้าไปใน path ที่เราสนใจได้เช่นกัน เช่น ls java/tony/tubby

คำสั่งนี้มี option ที่น่าสนใจคือเราสามารถใส่ option “-a”เพิ่มเติม เป็น “ls -a” ได้ เพื่อเป็นการแสดง file ที่ถูกซ่อนเอาไว้ภายใน directory นั้น

รูปที่ 2.1
รูปที่ 2.2
รูปที่ 2.3

3. pwd

คำสั่งนี้ ใช้ในการดู directory ที่เรา active ปัจจุบันอยู่ที่จุดไหน และมี path เป็นอะไร คำสั่งนี้ช่วยได้ในเวลาที่ต้องเข้า-ออกหลาย directory หรือเข้า directory ที่ซ้อนๆกันหลายชั้น ทำให้เกิดความสับสนโดยเฉพาะในระบบที่ใช้งานแบบ command line

รูปที่ 3.1

4.cd

คำสั่ง cd ใช้ในการ เข้า-ออก directory โดยคำสั่งนี้มีรูปแบบเป็น case sensitive ต้องพิมพ์ตัวอักษรเล็กใหญ่ให้ถูกต้องเท่านั้น ไม่เช่นนั้นจะมี error

  • กรณีที่ต้องการเข้าไปใน directory ที่เราสนใจ โดยพิมพ์ cd [directory name/path]
รูปที่ 4.1
รูปที่ 4.2
  • กรณีใช้ในการออกจาก directory ก็ได้เช่นกันทั้งโดยการพิมพ์ cd .. คือการถอยออกครั้งละ 1 directory หรือ cd เพื่อออกกลับสู่หน้า home เลย นอกจากนี้ยังสามารถ cd / เพื่อออกไปนอกสุดสู่หน้าแรกของ terminal ได้เลยอีกด้วย
รูปที่ 4.3
รูปที่ 4.4
รูปที่ 4.5

5. mkdir

ใช้สำหรับสร้าง directory ใหม่ ตามชื่อที่เราต้องการ เช่น mkdir web หรือสร้างทีเดียวหลายๆ folder ตามรูปที่ 5.2 หรือถ้าอยากสร้าง folder ที่มีการเว้นวรรคสามารถทำได้เช่นกันตามรูปที่ 5.3

รูปที่ 5.1
รูปที่ 5.2
รูปที่ 5.3

6.rmdir

หล้งจากมีการสร้าง directory ในข้อที่ 5 แล้ว ก็ต้องมีการลบ directory ด้วยโดยใช้คำสั่งที่ 6 นี้ แต่ ..คำสั่ง rmdir สามารถ ลบได้เฉพาะ directory ว่างๆ เท่านั้น ถ้าภายใน directory มี file หรือ sub-directory อยู่ภายใน จะไม่สามารถใช้ rmdir ลบได้

รูปที ่6.1
รูปที่ 6.2

7. rm

ในข้อที่ 6 คำสั่ง rmdir สามารถลบได้เฉพาะ directory ที่ว่างเปล่าเท่านั้น สำหรับคำสั่ง rm สามารถลบ directory ที่มีข้อมูลได้ โดยอาศัย option เป็นตัวช่วยคือ rm -r [directory name] และนอกจากนี้ยังสามารถลบ file ได้ด้วย เราสามารถใช้คำสั่ง rm ได้โดยพิมพ์ rm ตามด้วยชื่อไฟล์หรือ directory ที่เราต้องการลบ ตามตัวอย่างรูปที่ 7.1 และใช้คำสั่ง rm ลบ directory ที่มีข้อมูลภายใน ตามรูปที่ 7.2

รูปที่ 7.1
รูปที่ 7.2

8. cp

Copy เป็นคำสั่งที่จะขาดไปไม่ได้ในระบบปฎิบัติการคอมพิวเตอร์ ในระบบของ Linux นี้จะใช ้cp [files name / directory] [Destination] เพื่อ copy file หรือ directory ที่เราสนใจ ไปยัง directory เป้าหมาย หรือ copy สร้างเป็น file ใหม่ตามที่เราต้องการ

รูปที่ 8.1
รูปที่ 8.2

9. mv

เป็นคำสั่งในการย้าย file ที่เราสนใจ ไปยัง directory ปลายทางตามที่เราต้องการ ตัวอย่างคือ mv file1.txt tony/tubby เมื่อใช้งานคำสั่งนี้ file1.txt ก็จะถูกย้ายไปที่ อยู่ใน directory tony/tubby นอกจากนี้คำสั่ง mv ยังสามารถเปลี่ยนแปลงชื่อได้อีกด้วย ตัวอย่างเช่น mv file1.txt goodbye.txt ก็สามารถทำได้เช่นกัน

รูปที่ 9.1
รูปที่ 9.2

10. cat

คำสั่ง cat เป็นคำสั่งที่เอาไว้ใช้เพื่อแสดงผล เนื้อหาของไฟล์ ที่เราสนใจ โดยมากจะใช้เพื่อแสดงผลไฟล์ที่มีลักษณะเป็นข้อความตัวอักษรง่ายๆ เช่นไฟล์ .txt ไฟล์ code โปรแกรมต่างๆเช่น .java, .c เป็นต้น

รูปที่ 10.1

11. touch

เป็นคำสั่งสร้างไฟล์เปล่า อย่างง่าย ใช้โดยการพิมพ์ touch ตามด้วยชื่อไฟล์ที่ต้องการตั้งชื่อ ตัวอย่างเช่น touch gamer.java

รูปที่ 11.1

12. nano, vi

nano กับ vi เป็นคำสั่งที่เรียก text editor ขึ้นมาเพื่อเปิดไฟล์ที่เราต้องการ โดย nano และ vi คือ text editor เปรียบเสมือน notepad บน Windows OS ในการใช้งาน nano ทำได้โดยการพิมพ์ nano แล้วตามด้วยชื่อไฟล์ที่ต้องการสร้างหรือต้องการเปิดมาแก้ไข ตัวอย่างตามรูป 11.1 เมื่อแก้ไข file ด้วย nano เรียบร้อยแล้วสามารถ save file ด้วยการกด Ctrl+O ส่วนการออกจากโปรแกรม nano กด Ctrl+X

รูปที่ 12.1
รูปที่ 12.2

ส่วนการใช้งาน vi ทำได้โดยการพิมพ์ vi แล้วตามด้วยชื่อไฟล์ที่ต้องการสร้างหรือไฟล์ที่ต้องการเปิดมาแก้ไข ตัวอย่างตามรูป 11.3 โดยเมื่อเข้าสู่โปรแกรม vi แล้วจะยังไม่สามารถเพิ่มเติมหรือแก้ไขไฟล์ได้ ต้องกดปุ่ม i หนึ่งครั้งเพื่อเข้าสู่โหมด insert ข้อมูลก่อน เมื่อทำการเพิ่มเติมแก้ไข file ด้วย viเรียบร้อยแล้วต้องกดปุ่ม esc หนึ่งครั้งเพื่อออกจากโหมด insert หลังจากนั้นสามารถ save file ด้วยการพิมพ์ “:w” ส่วนการออกจากโปรแกรม vi พิมพ์ “:q”

รูปที่ 12.3
รูปที่ 12.4

13. clear

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

รูปที่ 13.1
รูปที่ 13.2

14. sudo

เป็นคำสั่งที่ย่อมาจาก “super user do” นั่นเอง หรือก็คือการอ้างอิงสิทธิ์ administrator หรือ root privilege ซึ่งมีสิทธิ์สูงสุดในระบบ สามารถใช้คำสั่งที่มีทำได้ทุกคำสั่ง หรือการแก้ไข file ที่เป็น file ระบบของ Linux ก็จำเป็นต้องใช้ sudo นอกจากนี้ในการติดตั้ง program หรือ package บางอย่างที่เราสนใจก็จำเป็นต้องใช้ sudo นำหน้า ในกรณีนี้จะยกตัวอย่างเช่น ถ้าเราต้องการแก้ไขไฟล์ mysqld.cnf ต้องใช้ sudo นำหน้าไม่อย่างนั้นจะไม่สามารถแก้ไขไฟล์ได้ ดังตัวอย่างรูปที่ 14.1 และรูปที่ 14.2

รูปที่ 14.1
รูปที่ 14.2

15. apt-get

เป็นคำสั่งที่ใช้ในการติดตั้ง package ต่างๆที่จะต้องใช้งานกับ linux โดยคำสั่งนี้ ต้องการสิทธิ์ของ administrator ด้วยเพราะฉะนั้นต้องใช้คำสั่ง sudo ร่วมด้วย เช่น sudo apt-get install tree ในการติดตั้ง package อื่นๆ ก็เป็นลักษณะเดียวกัน และเรายังสามารถใช้ sudo apt-get สำหรับ update repository ได้โดยพิมพ์ sudo apt-get update นอกจากนี้ยังใช้ upgrade linux distro เวอร์ชั่นโดยพิมพ์ sudo apt-get dist-upgrade ได้อีกเช่นกัน

รูปที่ 15.1
รูปที่ 15.2

บทความนี้จะกล่าวถึง commands พื้นฐานที่ใช้งานและพบเจอได้บ่อย ๆ ใน linux แทบทุกสายพันธ์ นอกจากนี้ยังคงมีอีกหลากหลายคำสั่งโดยแต่ละคำสั่งก็ยังมี option อีกมากมาย เตรียมไว้เพื่ออำนวยความสะดวกให้เราในการใช้งาน Linux

ข้อมูลเพิ่มเติมสามารถศึกษาได้ที่
http://linuxcommand.org/lc3_learning_the_shell.php และเว็บไซต์อื่นๆอีกมากมาย