สอนพื้นฐาน Linux ด้วย Kali เบื้องต้น -- 2

กลับไปหน้า Linux
🚨 เพื่อการเรียนรู้ที่เข้าใจแบบสูงสุด ควรเรียนรู้ควบคู่ไปกับคลิปวิดีโอในยูทูปที่ผมทำเอาไว้
https://youtu.be/IMlFETQ5Y14

สามารถดาวน์โหลด Lab สำหรับการเรียนรู้ได้ที่นี่

ดาวน์โหลด Virtualbox

💡 วิธีการติดตั้ง Lab อยู่ในคลิปยูทูป — https://youtu.be/FAGCH5mFtqo

sha256 checksum

👉👉 labs_linux.7z 👈👈

b132f24ee2409e388415b766cbb30498b83efc4053de91bcff8ab0ee98b26fc7

Virtualbox


Virtualbox คือโปรแกรมที่เอาไว้รันคอมจำลองอีกเครื่อง ในเครื่องคุณอีกทีนึง เปรียบเสมือนว่ามีคอมซ้อนอยู่ในคอมคุณอีกทีนึงนั่นแหละ สาเหตุที่ต้องใช้โปรแกรมนี้เนี่ย คือถ้าจะให้ผมเอาคอมไปแจกให้พวกคุณทีละเครื่องเพื่อใช้ในการฝึกมันก็ยังไงอยู่ มันก็ต้องใช้คอมจำลองนี่แหละในการฝึกครั้งนี้และครั้งต่อๆไป

ไฟล์ที่ผมให้ไปมีอยู่ 2 เครื่อง คือ machine กับ target

machine คือเครื่อง Kali Linux ที่ใช้ในการฝึก

target คือเครื่องเป้าหมาย ที่ใช้ในการแฮก

แต่ในรอบนี้ผมจะไม่ได้สอนแฮกอะไร แค่เอาเครื่อง target มาลองฝึกคอนเซ็ปต์ให้พวกคุณเข้าใจในเบื้องต้นเฉยๆแหละ อย่างน้อยก็จะได้เข้าใจโครงสร้างว่ามันเป็นยังไง เพื่อที่เวลาได้ลงลึกในครั้งถัดไปแล้วจะเข้าใจได้ง่ายขึ้น

ส่วนวิธีการเซ็ตอัพ Lab เบื้องต้นผมได้สอนไว้ในคลิปยูทูปของ ep นี้แล้ว กดเข้าไปดูได้เลยในช่วงต้นคลิป

ระบบตำแหน่งไฟล์และโฟลเดอร์ใน Linux


จอดำๆที่คุณกำลังเห็นอยู่นี้ มันก็คือ Terminal ที่ผมได้อธิบายไปในรอบก่อน ซึ่งใน Kali Linux ก็สามารถเปิดได้ด้วยการคลิกที่มุมซ้ายบน (รูปสี่เหลี่ยมดำๆ) หรือจะใช้คีย์ลัดเปิดได้ด้วย Ctrl+Alt+T

ตำแหน่งของทุกสิ่งทุกอย่างจะเริ่มจากเครื่องหมาย "/" อย่างเช่นในภาพตัวอย่าง

Linux File System

ในภาพตอนนี้อยู่ในหน้า Desktop หมายความว่าตำแหน่งมันคือ "/Desktop"

แล้วคุณก็จะสังเกตเห็นได้ว่ามันมีโฟลเดอร์นึงถูกวงกลมสีแดงเอาไว้อยู่ ถ้าหากว่าผมกดคลิกเข้าไปในโฟลเดอร์นั้นมันก็จะกลายเป็น "/Desktop/folder" แล้วถ้าเรากดเข้าไปโฟลเดอร์ข้างในอีก มันก็จะ "/" ซ้อนกันไปเรื่อยๆ นี่ก็คือตัวอย่างของระบบตำแหน่งของไฟล์และโฟลเดอร์ใน Linux

การแสดงไฟล์และโฟลเดอร์


จากรูปก่อนหน้า จะเห็นได้ว่าเรากำลังอยู่ใน "/Desktop" ซึ่งก็มีโฟลเดอร์อะไรหลายๆอย่างเต็มไปหมด แล้วถ้าเราจะแสดงไฟล์หรือโฟลเดอร์เหล่านั้นก็ทำได้ด้วยการใช้คำสั่ง ls [ตำแหน่งโฟลเดอร์] ซึ่งผลก็จะได้ดังรูปด้านล่าง

Listing Files

คือถ้าคุณสังเกตดูก็จะเห็นได้ว่าสิ่งที่แสดงออกมาใน Terminal มันก็จะไปตรงกับสิ่งที่มีอยู่บนหน้า Desktop

การเข้าโฟลเดอร์


ในการใช้งานปกติ คุณก็แค่ดับเบิลคลิกเข้าไป ก็เข้าได้แล้ว แต่ในการใช้งานผ่าน Terminal เราจะใช้คำสั่ง cd [ตำแหน่งของโฟลเดอร์]

อย่างเช่นในหน้า Desktop ตอนนี้มีโฟลเดอร์ที่ชื่อว่า folder ถ้าผมจะเข้าไปในนั้น ผมก็ต้องใช้คำสั่งว่า cd folder ผลก็จะได้ดังรูปตัวอย่าง

Changing Directory

คุณก็จะเห็นได้ว่าตำแหน่งมันเปลี่ยนไปจาก "/Desktop" กลายเป็น "/Desktop/folder" นั่นคือตำแหน่งของเราได้เข้ามาอยู่ใน folder เรียบร้อยแล้ว

เราสามารถใช้คำสั่ง cd เข้าไปที่ไหนก็ได้ ไม่จำเป็นต้องเป็นโฟลเดอร์ที่โชว์อยู่หน้า Desktop เสมอไป ตราบเท่าที่เราระบุตำแหน่งได้ถูกต้อง

การออกจากโฟลเดอร์

ส่วนวิธีการออกก็ทำได้ด้วยการใช้คำสั่ง cd .. มันคือการถอยโฟลเดอร์ออกมาชั้นนึง จาก "/Desktop/folder" ก็จะกลายเป็น "/Desktop" แต่มันสามารถถอยครั้งละหลายชั้นก็ได้ตามต้องการ เช่น cd ../../.. อันนี้คือถอยออกมา 3 ชั้น

การอ่านไฟล์


ในการใช้งานปกติเราสามารถที่จะคลิกเข้าไปในไฟล์ แล้วก็อ่านได้เลย แต่ในการใช้งานผ่าน Terminal เราจะใช้คำสั่ง cat [ตำแหน่งของไฟล์] ซึ่งผลก็จะได้ดังภาพด้านล่าง

Reading Files

เราได้ทำการอ่านไฟล์ที่ชื่อว่า symlink2.txt ที่อยู่ในหน้า Desktop ด้วยคำสั่ง cat symlink2.txt ซึ่งเนื้อหาในไฟล์ก็แสดงออกมาว่า "Hello999"

การแก้ไขไฟล์


ในการใช้งานปกติ เราก็สามารถคลิกเข้าไปในไฟล์เพื่อแก้ไขได้เลย แต่ในการใช้งานผ่าน Terminal มันก็มีหลายคำสั่ง เช่น nano, vim

nano ใช้ง่ายกว่า

vim ใช้ยาก แต่ประสิทธิภาพสูงกว่าถ้าใช้เป็น

แต่ในรอบนี้ผมจะสอนใช้ nano ก่อนเพราะมันง่ายดี ถ้าใครสนใจ vim ก็ลองไปศึกษาดูเองได้

การเขียนด้วย nano

เราจะใช้คำสั่ง nano [ตำแหน่งไฟล์] เมื่อเข้ามาในไฟล์ได้แล้วก็แก้ไขได้เลย อยากจะแก้อะไรก็ได้ไป


การ save หลังจากเขียนเสร็จ

เมื่อแก้ไขเสร็จแล้วต้องการจะเซฟ ก็ให้กด Ctrl + x จากนั้นพิมพ์ y แล้วกด Enter 2 รอบ

คือจริงๆมันมีรายละเอียดเยอะกว่านี้มาก แต่ผมสอนแค่นี้พอ เพราะเดี๋ยวมันจะงง

สรุปแบบสั้นๆคือ Ctrl + x → กด y + Enter + Enter = เซฟและออกจากไฟล์

การย้ายไฟล์


ในการใช้งานปกติ เราก็สามารถเอาเมาส์ไปลากเพื่อย้ายไฟล์ได้เลย แต่ในการใช้งานผ่าน Terminal เราจะใช้คำสั่ง mv [ตำแหน่งไฟล์/โฟลเดอร์ที่ต้องการจะย้าย] [ตำแหน่งปลายทางที่จะย้ายไป]

อย่างเช่นในรูปตัวอย่างด้านล่าง

Moving Files

คุณจะสังเกตเห็นได้ว่า มันมีอยู่สองโฟลเดอร์ที่ผมได้วงกลมเอาไว้อยู่ ถ้าผมต้องการที่จะย้ายโฟลเดอร์ 1 — folder เข้าไปในโฟลเดอร์ 2 — test2 ผมก็ทำได้ด้วยการใช้คำสั่ง mv folder test2/folder ซึ่งผลของคำสั่งนี้ก็จะทำให้ folder ย้ายเข้าไปอยู่ในโฟลเดอร์ที่ชื่อว่า test2 เรียบร้อย

💡 เกร็ดเล็กน้อย

ในคำสั่ง mv folder test2/folder มันหมายความว่า folder จะย้ายไปใน test2/folder แต่จริงๆแล้วเราสามารถตั้งชื่อได้ว่าจะให้มันไปลงที่ตำแหน่งปลายทางด้วยชื่ออะไร เช่น ผมอาจจะใช้คำสั่งว่า mv folder test2/fine123

โฟลเดอร์ที่ย้ายไปมันก็จะถูกเปลี่ยนชื่อเป็น fine123 โดยที่มันก็ยังเป็นโฟลเดอร์เดิมอยู่นั่นแหละ แค่ถูกเปลี่ยนชื่อไป

การ Copy ไฟล์


มันก็เหมือนๆกับคำสั่ง mv เลย คำสั่งที่ต้องใช้ก็คือ cp [ตำแหน่งต้นทางที่จะก๊อปปี้] [ตำแหน่งปลายทางที่จะก๊อปปี้ไปวาง]

ผมขอไม่ยกตัวอย่างซ้ำ เพราะมันหลักการเดียวกับคำสั่ง mv เลย แค่เปลี่ยนจากการย้ายไปเป็นการก๊อปปี้ไฟล์

การสร้างไฟล์


ในการใช้งานปกติเราสามารถที่จะคลิกขวาแล้วก็สร้างได้เลย แต่ในการใช้งานผ่าน Terminal เราจะใช้คำสั่ง touch [ตำแหน่งที่จะสร้าง]

ถ้าเราไม่ระบุตำแหน่ง แต่ใส่ชื่อไปตรงๆเลย เช่น touch love มันก็จะสร้างไฟล์ที่ชื่อว่า love ในตำแหน่งปัจจุบัน เพราะคุณไม่ได้ระบุตำแหน่ง

การลบไฟล์


ในการใช้งานปกติ เราสามารถที่จะกด Delete เพื่อลบได้เลย แต่ในการใช้งานผ่าน Terminal เราจะใช้คำสั่ง rm

โดยที่มันจะมีการใช้งานหลักๆอยู่สองแบบก็คือ

rm [ตำแหน่งไฟล์ที่จะลบ] → สำหรับลบไฟล์

rm -r [ตำแหน่งโฟลเดอร์ที่จะลบ] → สำหรับลบโฟลเดอร์

การสร้างโฟลเดอร์


ในการใช้งานปกติ เราก็สามารถที่จะคลิกขวา แล้วก็สร้างได้เลย แต่ในการใช้งานผ่าน Terminal เราจะใช้คำสั่ง mkdir [ตำแหน่งที่จะสร้าง]

ถ้าเราไม่ระบุตำแหน่งแต่ใส่ชื่อไปตรงๆเลย เช่น mkdir thai มันก็จะสร้างโฟลเดอร์ที่ชื่อว่า thai ในตำแหน่งปัจจุบัน เพราะคุณไม่ได้ระบุตำแหน่ง

สรุปคำสั่ง


คำสั่งวิธีใช้งานความหมาย
lsls [ตำแหน่งโฟลเดอร์]แสดงไฟล์และโฟลเดอร์
cdcd [ตำแหน่งโฟลเดอร์]เข้าโฟลเดอร์
cd ..cd ..ถอยออกจากโฟลเดอร์ 1 ชั้น
catcat [ตำแหน่งไฟล์]อ่านไฟล์
nanonano [ตำแหน่งไฟล์]แก้ไขไฟล์
mvmv [ต้นทาง] [ปลายทาง]ย้ายไฟล์/โฟลเดอร์
cpcp [ต้นทาง] [ปลายทาง]ก๊อปปี้ไฟล์
touchtouch [ตำแหน่ง]สร้างไฟล์
rmrm [ตำแหน่งไฟล์]ลบไฟล์
rm -rrm -r [ตำแหน่งโฟลเดอร์]ลบโฟลเดอร์
mkdirmkdir [ตำแหน่ง]สร้างโฟลเดอร์