mv
บทนี้สอนผู้เริ่มต้นให้ใช้ `mv` สำหรับย้ายไฟล์/โฟลเดอร์และเปลี่ยนชื่อไฟล์ โดยเข้าใจโครง `source -> destination` ชัดเจน พร้อมตรวจผลก่อนและหลังด้วย `ls` เพื่อเห็นว่า `mv` เปลี่ยนตำแหน่งหรือชื่อจริง
บทนี้สอนผู้เริ่มต้นให้ใช้ `mv` สำหรับย้ายไฟล์/โฟลเดอร์และเปลี่ยนชื่อไฟล์ โดยเข้าใจโครง `source -> destination` ชัดเจน พร้อมตรวจผลก่อนและหลังด้วย `ls` เพื่อเห็นว่า `mv` เปลี่ยนตำแหน่งหรือชื่อจริง
`mv` คือคำสั่งที่ใช้ย้ายไฟล์หรือโฟลเดอร์จากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่ง และใช้เปลี่ยนชื่อได้ด้วย โครงสร้างพื้นฐานคือ `mv <source> <destination>` ถ้าย้ายสำเร็จ ตำแหน่งเดิมจะไม่เหลือไฟล์นั้นอยู่ เพราะ `mv` ไม่ได้สร้างสำเนาใหม่
ลองนึกว่าเรามีแฟ้มเอกสารชื่อเก่าอยู่บนโต๊ะ ถ้าเราย้ายแฟ้มไปตู้เก็บเอกสาร แฟ้มจะไม่อยู่บนโต๊ะเดิมอีกต่อไป ถ้าเราเปลี่ยนป้ายชื่อแฟ้ม ก็เหมือน rename: แฟ้มเดิมยังเป็นแฟ้มเดิม แต่ใช้ชื่อใหม่
ตัวอย่างนี้ครอบคลุมทั้งการ rename และการย้ายไฟล์ไปอีกโฟลเดอร์ พร้อมตรวจผลด้วย `ls` ก่อนและหลัง
หลัง `mv old.txt new.txt` จะไม่เห็น old.txt แล้ว และหลัง `mv file.txt folder/` ไฟล์จะหายจากที่เดิมไปอยู่ในโฟลเดอร์ปลายทาง
pwd
/home/student/workspace
ls
old.txt file.txt folder/
mv old.txt new.txt
ls
new.txt file.txt folder/
mv file.txt folder/
ls
new.txt folder/
ls folder
file.txt| คำสั่ง | หน้าที่ | ต่างจาก `mv` อย่างไร |
|---|---|---|
| `mv` | ย้ายไฟล์/โฟลเดอร์ หรือเปลี่ยนชื่อ | คำสั่งหลักของบทนี้ (ย้ายจริง) |
| `cp` | คัดลอกไฟล์/โฟลเดอร์ | สร้างสำเนาเพิ่มและต้นฉบับยังอยู่ |
| `ls` | แสดงรายการไฟล์และโฟลเดอร์ | ใช้ตรวจผลก่อน/หลัง แต่ไม่ได้ย้ายหรือเปลี่ยนชื่อ |
ฝึกใช้ `mv` ทั้งแบบ rename และ move พร้อมเทียบผลกับ `cp` เพื่อให้เห็นความต่างจาก output และสภาพไฟล์จริงหลังรันคำสั่ง
เป้าหมายคือเปลี่ยนชื่อไฟล์จาก `old.txt` เป็น `new.txt` โจทย์: รัน `mv old.txt new.txt` แล้วรัน `ls` เมื่อเสร็จต้องมี `new.txt` และต้องไม่มี `old.txt`
เป้าหมายคือย้าย `file.txt` จากโฟลเดอร์ปัจจุบันไปยังโฟลเดอร์ `folder` โจทย์: รัน `mv file.txt folder/` แล้วรัน `ls folder` เมื่อเสร็จต้องไม่พบ `file.txt` ที่เดิม และต้องพบไฟล์ใน `folder`
เป้าหมายคือเห็นความต่างของ `cp` และ `mv` จากผลจริงหลังรันคำสั่ง โจทย์: รัน `cp draft.txt draft-copy.txt` แล้วรัน `mv final.txt archive/` จากนั้นใช้ `ls` และ `ls archive` ตรวจผล เมื่อเสร็จต้องเห็นว่า `cp` ทำให้มีทั้งต้นฉบับและสำเนา แต่ `mv` ทำให้ไฟล์หายจากตำแหน่งเดิมและไปอยู่ปลายทาง