ในขณะที่คุณน่าจะรู้แล้วว่าย้ายไฟล์ใน Linux โดยใช้ GUI File Browser ทำอย่างไร คุณอาจสงสัยว่ามีคำสั่งย้ายในเทอร์มินัลที่ช่วยให้คุณย้ายไฟล์ไปไดเรกทอรีต่างๆ ได้อย่างรวดเร็วหรือไม่ คำสั่ง mv คือคำสั่งที่คุณต้องการ และมันใช้งานง่ายด้วยไวยากรณ์ที่เรียบง่ายและธงความปลอดภัยเพิ่มเติมบางอย่าง
คำสั่งเทอร์มินัลพื้นฐานนี้ทำงานบนดิสทริบิวชัน Linux ส่วนใหญ่ รวมถึง Ubuntu, Kali Linux และ Fedora
ไวยากรณ์คำสั่ง Mv
คำสั่ง mv ค่อนข้างยืดหยุ่น แต่คุณต้องเก็บวัตถุในลำดับนี้เมื่อใช้:
mv [option] <source> <destination>
ทุกคำสั่ง mv ต้องมี Source และ Destination ระบุไว้ หากคุณรวม Option ไว้ มันต้องมาก่อน Source และ Destination เราจะอธิบายว่าตัวเลือกบางอย่างคืออะไรด้านล่าง
เพื่อลองคำสั่ง mv โดยไม่มีตัวเลือก ให้สร้างไฟล์ด่วนและออกคำสั่งแบบนี้:
mv ~/test.txt ~/Documents
คำสั่งนี้จะย้ายไฟล์ test.txt จากโฟลเดอร์ Home ไปยังไดเรกทอรี Documents
เพื่อย้ายหลายไฟล์ ให้ระบุไฟล์ทั้งหมดของคุณ แยกด้วยช่องว่าง ก่อนระบุ Destination และทุกไฟล์จะถูกย้ายในคำสั่งเดียว
เพิ่มเติม หากคุณมีหลายไฟล์ที่ต้องการย้ายไป Destination เดียวกัน และทุกตัวมีบางอย่างเหมือนกันในชื่อ (เช่น นามสกุล) คุณสามารถใช้ Asterisk (*) ในชื่อ Source เป็น Wildcard ได้
คุณจะสังเกตว่าในคำสั่งเหล่านี้ ไม่มีคำสั่งไหนที่ mv ขอยืนยันการย้าย หรือแม้แต่รายงานว่ามีอะไรเกิดขึ้น นี่คือที่ที่ตัวเลือกของ mv เข้ามามีบทบาท
ตัวเลือกคำสั่ง Mv
ตัวเลือกหนึ่งที่คุณสามารถใช้คือ --verbose หรือ -v ซึ่งจะเพียงพิมพ์บันทึกของทุกการดำเนินการ
บันทึกสำคัญหนึ่งเมื่อใช้คำสั่ง mv คือ เว้นแต่คุณจะระบุ mv จะทับซ้อน (overwrite) ไฟล์ใน Destination ที่มีชื่อเหมือนกับไฟล์ Source โดยอัตโนมัติ
คุณสามารถป้องกันการทับซ้อนโดยบังเอิญได้ด้วยโหมดโต้ตอบ (Interactive Mode) ใช้ตัวเลือก -i
ในโหมดโต้ตอบ mv จะขอให้คุณยืนยันการย้ายในกรณีที่มีข้อขัดแย้งของไฟล์ในไดเรกทอรีปลายทาง
เพื่อยกเลิกคำสั่ง mv อัตโนมัติหากมีข้อขัดแย้ง ให้ระบุตัวเลือก -n แทน
คุณสามารถตั้งค่า mv ให้ ในกรณีข้อขัดแย้ง จะเลือกไฟล์ที่มี "Last Modification Date" ใหม่กว่าด้วยการตั้งค่าตัวเลือก Update -u
สิ่งนี้มีประโยชน์หากคุณมีสองไฟล์ชื่อเหมือนกันแต่ต้องการเก็บเฉพาะไฟล์ที่อัปเดตล่าสุด
ตัวเลือกอีกอย่างสำหรับการป้องกันข้อขัดแย้งคือตัวเลือก Backup หากคุณใช้ --backup=numbered mv จะต่อท้ายชื่อไฟล์ Source ด้วย ~1~ ในกรณีข้อขัดแย้งชื่อไฟล์ ไฟล์ที่ย้ายจะถูกซ่อนจากมุมมองปกติ เว้นแต่คุณจะเปิดเผยไฟล์ที่ซ่อนอยู่ เช่น ด้วยคำสั่ง ls -a
การย้ายไฟล์อย่างราบรื่น
เราได้เรียนรู้เคล็ดลับและเทคนิคสำหรับใช้ mv ย้ายไฟล์ท้องถิ่นอย่างรวดเร็วและปลอดภัยในเทอร์มินัล Linux
ในบางกรณี คุณอาจต้องการย้ายไฟล์ท้องถิ่นไปเครื่องอื่น และมีหลายวิธีในการทำบน Linux เช่นกัน