2. Basic Linux Commands (พื้นฐานคำสั่งลินุกซ์)
ระบบปฏิบัติการที่เหมาะสมที่สุดสำหรับการใช้งาน ROS2 คือ Ubuntu (ซึ่งเป็น Linux Distribution หนึ่ง) โดยการสั่งงานส่วนใหญ่จะกระทำผ่านหน้าต่างดำๆ ที่เรียกว่า Terminal
ในบทนี้ เราจะเรียนรู้คำสั่งพื้นฐานที่จำเป็นสำหรับนักพัฒนาหุ่นยนต์ ตั้งแต่การจัดการไฟล์ไปจนถึงการตรวจสอบสถานะของระบบ
2.1. File System Structure (โครงสร้างไฟล์)
ก่อนเริ่มพิมพ์คำสั่ง จำเป็นต้องเข้าใจโครงสร้างการเก็บไฟล์ของ Linux ซึ่งแตกต่างจาก Windows เล็กน้อย
Root Directory (
/): เปรียบเสมือนรากแก้วของต้นไม้ หรือC:\ใน Windows ไฟล์ทุกอย่างในระบบจะอยู่ภายใต้เครื่องหมาย/นี้Home Directory (
~): คือพื้นที่ส่วนตัวของผู้ใช้งาน (User) ปกติจะอยู่ที่/home/usernameเครื่องหมาย~(Tilde) คือทางลัดที่ใช้แทนตำแหน่งนี้
2.3. File Management (การจัดการไฟล์และโฟลเดอร์)
คำสั่งสำหรับการสร้าง คัดลอก ย้าย และลบไฟล์ เป็นทักษะที่ต้องใช้งานตลอดเวลา
Command |
Action |
Example |
|---|---|---|
|
Make Directory |
|
|
Create empty file |
|
|
Copy |
|
|
Move / Rename |
|
|
Remove file |
|
|
Remove folder |
|
Warning
ระวัง: คำสั่ง rm (Remove) ใน Linux ไม่มีการถามยืนยันและไม่มีถังขยะ (Recycle Bin) ไฟล์ที่ลบแล้วจะหายไปทันที
2.4. Text Editors (การแก้ไขไฟล์ข้อความ)
เมื่อต้องการเขียนโค้ดหรือแก้ไขไฟล์ Config เราต้องเรียกใช้โปรแกรมแก้ไขข้อความ (Text Editor) ซึ่งมี 2 แบบหลักๆ
2.4.1. GUI Editor (gedit)
ใช้งานเหมือน Notepad บน Windows มีหน้าต่างให้ใช้เมาส์คลิกได้ เหมาะสำหรับมือใหม่
# Opens a window to edit the file
gedit my_code.py
2.4.2. Terminal Editor (nano)
ทำงานในหน้าจอ Terminal เลย (ไม่มีหน้าต่างแยก) จำเป็นมากเมื่อเรารีโมท (SSH) เข้าไปที่ตัวหุ่นยนต์และไม่มีหน้าจอ
# Opens file inside the terminal
nano my_code.py
ปุ่มลัดสำหรับ nano:
Ctrl + O,Enter: บันทึกไฟล์ (Save)Ctrl + X: ออกจากโปรแกรม (Exit)
2.5. System Management (การจัดการระบบ)
2.5.1. Superuser (sudo)
บางคำสั่งที่มีผลกระทบต่อระบบ เช่น การติดตั้งโปรแกรม จำเป็นต้องขอสิทธิ์ผู้ดูแลระบบ (Administrator) โดยใช้คำสั่ง sudo นำหน้า (ระบบจะถามรหัสผ่าน)
2.5.2. Package Manager (apt)
Ubuntu มีระบบติดตั้งโปรแกรมที่สะดวกสบายผ่านคำสั่ง apt (Advanced Package Tool)
1# 1. Update the list of available packages (Do this first)
2sudo apt update
3
4# 2. Upgrade installed packages to the latest version
5sudo apt upgrade
6
7# 3. Install a new program
8sudo apt install python3-pip
2.5.3. Monitoring (top & htop)
ใช้สำหรับดูว่าโปรแกรมไหนกิน CPU หรือ RAM เท่าไหร่ (เหมือน Task Manager)
top: ติดตั้งมาพร้อมเครื่อง แสดงผลเป็นตัวหนังสือล้วนhtop: แสดงผลเป็นกราฟแท่งสีสวยงาม ดูง่ายกว่า (แนะนำ)
กรณีศึกษา: ติดตั้งและใช้งาน htop
หากลองพิมพ์ htop แล้วระบบแจ้งว่า command not found ให้ทำการติดตั้งดังนี้:
1# 1. Install htop
2sudo apt install htop
3
4# 2. Run it
5htop
(กด F10 หรือ q เพื่อออกจาก htop)
2.6. Mission: File Manipulation (โจทย์ทบทวนความเข้าใจ)
เพื่อให้คุ้นเคยกับคำสั่ง ให้ลองทำตามภารกิจต่อไปนี้ทีละขั้นตอน
โจทย์:
สร้างโฟลเดอร์ชื่อ
playgroundที่หน้า Homeเข้าไปในโฟลเดอร์นั้น
สร้างไฟล์ชื่อ
note.txtสร้างโฟลเดอร์ซ้อนข้างในชื่อ
backupคัดลอกไฟล์
note.txtไปไว้ในbackupเปลี่ยนชื่อไฟล์ต้นฉบับจาก
note.txtเป็นreadme.txtลบโฟลเดอร์
backupทิ้งไป
คลิกเพื่อดูเฉลย (Click to show solution)
1# 1. Create folder at Home (~)
2cd ~
3mkdir playground
4
5# 2. Enter the folder
6cd playground
7
8# 3. Create a file
9touch note.txt
10
11# 4. Create sub-folder
12mkdir backup
13
14# 5. Copy file into sub-folder
15cp note.txt backup/
16
17# 6. Rename the original file
18mv note.txt readme.txt
19
20# 7. Remove the sub-folder and everything inside
21rm -r backup
22
23# (Optional) Check the result
24ls
25# Should see only: readme.txt