rm
บทนี้สอนผู้เริ่มต้นให้ใช้ `rm` ลบไฟล์อย่างปลอดภัย พร้อมเข้าใจ option หลัก `-r/-R/-f` ที่ Playground รองรับ โดยเน้นการตรวจด้วย `ls` ก่อนและหลังเสมอ และแยกความต่างระหว่าง `rm` กับ `rmdir`
บทนี้สอนผู้เริ่มต้นให้ใช้ `rm` ลบไฟล์อย่างปลอดภัย พร้อมเข้าใจ option หลัก `-r/-R/-f` ที่ Playground รองรับ โดยเน้นการตรวจด้วย `ls` ก่อนและหลังเสมอ และแยกความต่างระหว่าง `rm` กับ `rmdir`
`rm` คือคำสั่งสำหรับลบไฟล์ และเมื่อใช้ option บางตัวสามารถลบโฟลเดอร์ได้ด้วย รูปแบบพื้นฐานคือ `rm <target>` เช่น `rm file.txt` ในบทนี้เราจะเรียนทั้งแบบพื้นฐานและ option หลักที่ใช้บ่อย: `-r/-R` (ลบแบบ recursive) และ `-f` (ไม่ error ถ้าไม่พบไฟล์)
ลองนึกว่าไฟล์คือเอกสารในแฟ้ม `rm file.txt` เหมือนการทิ้งเอกสารหนึ่งแผ่น `rm -r logs` เหมือนการทิ้งทั้งแฟ้มพร้อมเอกสารด้านใน ยิ่งคำสั่งลบได้มากขึ้นเท่าไร ยิ่งต้องเช็กก่อนลบมากขึ้นเท่านั้น
ตัวอย่างนี้รวมทั้งการลบไฟล์เดี่ยว, ลบโฟลเดอร์แบบ recursive, และการใช้ `-f`
`rm file.txt` ลบไฟล์เดี่ยว, `rm -r temp-dir` ลบโฟลเดอร์ที่มีข้อมูล, `rm -f missing.txt` ไม่ error เมื่อไม่พบไฟล์
pwd
/home/student/workspace
ls
file.txt temp-dir/ notes.txt
rm file.txt
Removed file "/home/student/workspace/file.txt".
rm -r temp-dir
Removed directory "/home/student/workspace/temp-dir".
rm -f missing.txt
ls
notes.txt| คำสั่ง | หน้าที่ | ต่างจาก `rm` อย่างไร |
|---|---|---|
| `rm` | ลบไฟล์ และลบโฟลเดอร์ได้เมื่อใช้ `-r/-R` | คำสั่งหลักของบทนี้ |
| `rmdir` | ลบโฟลเดอร์ว่าง | ลบไม่ได้ถ้าโฟลเดอร์ไม่ว่าง และไม่ใช้กับไฟล์ |
| `ls` | แสดงรายการไฟล์และโฟลเดอร์ | ใช้ตรวจสอบก่อน/หลังลบ แต่ไม่ได้ลบข้อมูล |
ฝึกใช้ `rm` ลบไฟล์อย่างปลอดภัยโดยตรวจด้วย `ls` ก่อนและหลัง และแยกการใช้งาน `rm` กับ `rmdir` ให้แม่นยำ
เป้าหมายคือสร้าง `temp.txt` แล้วลบทิ้งให้สำเร็จ โจทย์: รัน `touch temp.txt` -> `rm temp.txt` -> `ls` เมื่อเสร็จต้องไม่พบ `temp.txt`
เป้าหมายคือฝึกตรวจรายการก่อนและหลังลบ โดยใช้ `-f` ในคำสั่งลบ โจทย์: รัน `ls` -> `rm -f file.txt` -> `ls` เมื่อเสร็จ `file.txt` ต้องหายจากรายการ
เป้าหมายคือแยกการใช้คำสั่งตามชนิดข้อมูลให้ถูกต้อง โจทย์: รัน `rm note.txt`, `rm -r logs`, และ `rmdir empty` แล้วใช้ `ls` ตรวจผล เมื่อเสร็จต้องไม่มี `note.txt`, `logs`, และ `empty`