🐧 Linux พื้นฐานสำหรับช่างเทคนิค
เอกสารประกอบการฝึกอบรม (Basic Linux for Technicians)
1. การเข้าถึงระบบ (System Access)
1.1 Console Access
คือการเข้าใช้งานเครื่องเซิร์ฟเวอร์หรืออุปกรณ์โดยตรงผ่านหน้าจอและคีย์บอร์ดที่ต่อกับเครื่องนั้นๆ (หรือผ่านอุปกรณ์ KVM) ซึ่งมีความจำเป็นอย่างมากในกรณีที่ระบบเครือข่ายมีปัญหาหรือไม่สามารถเชื่อมต่อจากระยะไกลได้
1.2 SSH (Secure Shell)
คือโปรโตคอลสำหรับเชื่อมต่อและสั่งการเครื่อง Linux ผ่านระบบเครือข่ายจากระยะไกล (Remote) อย่างปลอดภัย ข้อมูลที่ถูกส่งผ่าน SSH จะถูกเข้ารหัสไว้ทั้งหมด
รูปแบบคำสั่งพื้นฐาน:
ssh [ชื่อผู้ใช้]@[หมายเลข IP]
ตัวอย่าง: ssh root@192.168.1.100
2. การจัดการไฟล์และไดเรกทอรี (File Management)
2.1 ls / ll (List Directory Contents)
ใช้สำหรับดูรายการไฟล์และโฟลเดอร์
ls: แสดงรายชื่อไฟล์และโฟลเดอร์แบบย่อls -lหรือll: แสดงรายชื่อไฟล์แบบละเอียด (ขนาดไฟล์, สิทธิ์การใช้งาน, วันที่แก้ไข, เจ้าของไฟล์)
2.2 cp / scp (Copy)
ใช้สำหรับคัดลอกไฟล์
cp [ไฟล์ต้นทาง] [ไฟล์ปลายทาง]: คัดลอกไฟล์ในเครื่องเดียวกัน
ตัวอย่าง:cp config.txt config.txt.backupscp [ไฟล์ต้นทาง] [ผู้ใช้@IPปลายทาง:ที่อยู่ปลายทาง]: คัดลอกไฟล์ข้ามเครื่องผ่านเครือข่าย
ตัวอย่าง:scp backup.tar.gz root@192.168.1.100:/tmp/
2.3 rm / mv (Remove / Move)
การลบหรือย้ายไฟล์
rm [ชื่อไฟล์]: ลบไฟล์ (หากต้องการลบโฟลเดอร์ให้ใช้rm -r [ชื่อโฟลเดอร์])คำเตือน: การลบไฟล์ใน Linux จะไม่สามารถกู้คืนได้ ควรตรวจสอบให้ดีก่อนลบmv [ไฟล์ต้นทาง] [ที่อยู่ปลายทาง]: ย้ายไฟล์ หรือใช้สำหรับเปลี่ยนชื่อไฟล์
ตัวอย่าง:mv oldname.txt newname.txt
3. การแก้ไขข้อความในไฟล์ (vi / vim)
vi หรือ vim เป็นโปรแกรมแก้ไขข้อความ (Text Editor) แบบบรรทัดคำสั่งที่มีอยู่ใน Linux ทุกเครื่อง
โหมดการทำงานที่สำคัญ:
- Command Mode: โหมดเริ่มต้น ใช้สำหรับเลื่อนเคอร์เซอร์ พิมพ์คำสั่งบันทึก หรือออกจากโปรแกรม
- Insert Mode: โหมดสำหรับพิมพ์ข้อความ (กด
iบนคีย์บอร์ด)
คำสั่งพื้นฐานที่ต้องจำ:
- กด
i: เพื่อเริ่มแก้ไขข้อความ (Insert Mode) - กด
Esc: เพื่อกลับสู่ Command Mode - พิมพ์
:w: เพื่อบันทึกไฟล์ - พิมพ์
:q: เพื่อออกจากโปรแกรม - พิมพ์
:wq: เพื่อบันทึกและออกจากโปรแกรม - พิมพ์
:q!: บังคับออกโดยไม่บันทึก
4. การจัดการอุปกรณ์จัดเก็บข้อมูลภายนอก (Mount USB)
เมื่อเสียบ USB Flash Drive เข้ากับเครื่อง Linux ต้องทำการเชื่อมต่ออุปกรณ์เข้ากับระบบโครงสร้างไฟล์ก่อน
- ดูรายชื่ออุปกรณ์:
lsblkหรือfdisk -l(สมมติว่าเป็น/dev/sdb1) - สร้างจุดเชื่อมต่อ:
mkdir /mnt/usb - ทำการ Mount:
mount /dev/sdb1 /mnt/usb - เมื่อใช้งานเสร็จต้องปลดการเชื่อมต่อ:
umount /mnt/usb
5. การจัดการเวลา (NTP Protocol)
NTP ใช้สำหรับซิงโครไนซ์เวลาของเซิร์ฟเวอร์ให้ตรงกับเวลามาตรฐานสากล ซึ่งสำคัญมากต่อการตรวจสอบ Log
- ดูเวลาปัจจุบัน:
date - ดูสถานะการซิงค์เวลา:
timedatectl status
📝 แบบฝึกหัด (Hands-on)
แบบฝึกหัดที่ 1: การเชื่อมต่อและสำรวจระบบ
สถานการณ์: คุณได้รับมอบหมายให้รีโมทเข้าไปตรวจสอบไฟล์
- เปิด Terminal (หรือ PuTTY)
- พิมพ์
ssh [username]@[IP_Address]แล้วกด Enter - ใส่รหัสผ่าน
- พิมพ์
pwdเพื่อดูโฟลเดอร์ปัจจุบัน - พิมพ์
llเพื่อดูไฟล์ทั้งหมด - พิมพ์
dateเพื่อเช็คเวลาเซิร์ฟเวอร์
แบบฝึกหัดที่ 2: การแก้ไขไฟล์คอนฟิก (vi)
สถานการณ์: คุณต้องสร้างไฟล์คอนฟิกเบื้องต้น
- พิมพ์
vi test-config.txt - กดปุ่ม
iบนคีย์บอร์ด - พิมพ์ข้อความลงไป:
SERVER_NAME=Web01 STATUS=Active - กด
Esc - พิมพ์
:wqแล้วกด Enter - พิมพ์
cat test-config.txtเพื่อตรวจสอบความถูกต้อง
แบบฝึกหัดที่ 3: การจัดการไฟล์ (cp, mv, rm)
สถานการณ์: สำรองไฟล์คอนฟิก เปลี่ยนชื่อ และลบไฟล์เก่า
- สำรองไฟล์:
cp test-config.txt test-config.txt.bak - ตรวจสอบ:
ll - เปลี่ยนชื่อไฟล์หลัก:
mv test-config.txt config-main.txt - ตรวจสอบ:
ll - ลบไฟล์สำรอง:
rm test-config.txt.bak
แบบฝึกหัดที่ 4: การนำข้อมูลลง USB
สถานการณ์: นำไฟล์ config-main.txt ออกไปใส่แฟลชไดร์ฟ
- ตรวจสอบชื่อ USB:
lsblk - สร้างโฟลเดอร์:
mkdir -p /mnt/myusb - Mount USB:
mount /dev/sdb1 /mnt/myusb - คัดลอกไฟล์:
cp config-main.txt /mnt/myusb/ - ตรวจสอบ:
ls -l /mnt/myusb/ - ปลดการเชื่อมต่อ:
umount /mnt/myusb