บทความนี้จะแนะนำการย้ายไฟล์ใน Linux ด้วยคำสั่ง mv พร้อมตัวอย่างและเคล็ดลับการย้ายไฟล์อย่างปลอดภัย
mv Syntax
การย้ายไฟล์ทำด้วยคำสั่ง mv ซึ่งมีไวยากรณ์ดังนี้
mv OPTIONS SOURCE DESTINATION
โปรดทราบว่า:
- OPTIONS คือรายการตัวเลือกจากตารางด้านล่าง
- SOURCE คือ path ไปยังไฟล์ที่ต้องการย้าย
- DESTINATION คือ path ไปยัง destination ที่ต้องการย้ายไฟล์ 2
- อาจรวมชื่อไฟล์ใหม่ หรือแค่ path ไปยัง destination folder
- mv จะย้าย SOURCE เข้า DESTINATION หาก DESTINATION เป็น directory (หรือ link ไป directory)
- หาก DESTINATION ไม่ใช่ directory mv จะ rename SOURCE เป็น DESTINATION
Common mv Options
นี่คือตัวเลือกทั่วไปเมื่อรัน mv จาก manual:
| -b | Make backup ของแต่ละ existing destination file |
| -f, –force | ไม่ prompt ก่อน overwrite |
| -i, –interactive | Prompt ก่อน overwrite |
| -n, –no-clobber | ไม่ overwrite existing file |
| -u, –update | Move เฉพาะเมื่อ SOURCE file ใหม่กว่า destination file หรือ destination หายไป |
| -v, –verbose | อธิบายว่ากำลังทำอะไร |
ตัวเลือกเพิ่มเติมหาได้ใน mv manual โดยรัน:
man mv
ตัวอย่าง
ย้าย file1 เข้า directory1:
mv file1 directory1/
Rename file1 เป็น file2:
mv file1 file2
ย้าย file1 เข้า directory1 และ rename เป็น file2:
mv file1 directory1/file2
ย้าย directory1 เข้า directory2:
mv directory1/ directory2/
ในตัวอย่างสุดท้าย หาก directory2 ไม่มีอยู่ directory1 จะถูก rename เป็น directory2 เพื่อให้แน่ใจว่า move เท่านั้น และ fail หาก directory ไม่เจอ ให้รัน:
mv directory1/ directory2/.
นี่จะ ensure directory2 มีอยู่ก่อนพยายามย้าย – dot (.) ระบุว่า path ควรมีอยู่
บางครั้ง Copy ดีกว่า Move
หากย้ายไฟล์จาก drive หนึ่งไปอีก drive หรือผ่าน network พิจารณา copy แล้วลบ original หลัง verify ว่า copy สำเร็จ
ตอนทำงานบน Linux command line ไม่มี trash/recycle bin สำหรับ recover ไฟล์ที่ลบผิด – หายไปก็หาย ถ้า move operation fail คุณอาจสูญเสียไฟล์ ดังนั้น copy แทนและ verify การ transfer จะช่วยลดความเสี่ยง
คุณควร backup ไฟล์เป็นประจำเพื่อป้องกัน data loss