เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'mv'
คำสั่งที่ใช้บ่อยที่สุดใน Linux เพื่อเปลี่ยนชื่อไฟล์คือ 'เอ็มวี' สั่งการ. ไวยากรณ์ของคำสั่งนี้ได้รับด้านล่าง
ไวยากรณ์
mv [ตัวเลือก] แหล่งที่มาปลายทาง
ใช้ตัวเลือกใดก็ได้กับ 'เอ็มวี' คำสั่งเป็นทางเลือก หากต้องการเปลี่ยนชื่อไฟล์ คุณต้องพิมพ์ชื่อไฟล์เดิมหลังชื่อไฟล์ที่เปลี่ยนชื่อด้วยคำสั่งนี้ การใช้งานต่างๆ ของ 'เอ็มวี' คำสั่งอธิบายไว้ในส่วนถัดไปของบทความนี้
ตัวอย่างที่ 1: เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'mv' โดยไม่มีตัวเลือก
ชื่อของไฟล์ต้นฉบับและชื่อของไฟล์ที่เปลี่ยนชื่อจะถูกนำมาเป็นอินพุตจากผู้ใช้ในสคริปต์ต่อไปนี้ ไฟล์จะถูกเปลี่ยนชื่อหากมีชื่อไฟล์เดิม หากมีไฟล์ใดที่มีชื่อไฟล์ที่เปลี่ยนชื่ออยู่แล้ว ไฟล์เก่าจะถูกเขียนทับโดยเนื้อหาของไฟล์ที่เปลี่ยนชื่อใหม่
#!/bin/bash
#ใช้ชื่อไฟล์เดิม
อ่าน -NS 'ป้อนชื่อไฟล์เดิมเพื่อเปลี่ยนชื่อ:'ต้นฉบับ
# ใช้ชื่อไฟล์ที่เปลี่ยนชื่อ
อ่าน -NS 'ป้อนชื่อไฟล์ที่เปลี่ยนชื่อเพื่อเปลี่ยนชื่อ:'เปลี่ยนชื่อ
#ตรวจสอบไฟล์ต้นฉบับว่ามีหรือไม่
ถ้า [ -NS $ ต้นฉบับ ];แล้ว
# เปลี่ยนชื่อไฟล์
$(mv $ ต้นฉบับ $เปลี่ยนชื่อ)
โยนออก 'ไฟล์ถูกเปลี่ยนชื่อ'
เป็น
เอาท์พุต
ตัวอย่างที่ 2: เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'mv' โดยใช้ -i option
ปัญหาจากตัวอย่างข้างต้นสามารถแก้ไขได้โดยใช้คำสั่ง '-ผม' ตัวเลือกด้วย 'เอ็มวี' สั่งการ. สคริปต์ต่อไปนี้จะขออนุญาตจากผู้ใช้ในการเขียนทับก่อนดำเนินการเปลี่ยนชื่อ หากผู้ใช้กด ' NS ' จากนั้นงานเปลี่ยนชื่อจะไม่เสร็จ
#!/bin/bash#ใช้ชื่อไฟล์เดิม
อ่าน -NS 'ป้อนชื่อไฟล์เดิมเพื่อเปลี่ยนชื่อ:'ต้นฉบับ
# ใช้ชื่อไฟล์ที่เปลี่ยนชื่อ
อ่าน -NS 'ป้อนชื่อไฟล์เปลี่ยนชื่อเพื่อเปลี่ยนชื่อ:'เปลี่ยนชื่อ
#ตรวจสอบไฟล์ต้นฉบับว่ามีหรือไม่
ถ้า [ -NS $ ต้นฉบับ ];แล้ว
#ตรวจสอบการเปลี่ยนชื่อไฟล์ว่ามีอยู่หรือไม่
ถ้า [$(mv -ผม $ ต้นฉบับ $เปลี่ยนชื่อ) ];แล้ว
โยนออก 'ไฟล์ถูกเปลี่ยนชื่อ'
เป็น
เป็น
เอาท์พุต
เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'เปลี่ยนชื่อ'
NS 'เปลี่ยนชื่อ' เมธอดใช้สำหรับงานการเปลี่ยนชื่อไฟล์ขั้นสูง เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อติดตั้ง 'เปลี่ยนชื่อ' สั่งการ.
$sudoฉลาดติดตั้งเปลี่ยนชื่อไวยากรณ์ของคำสั่งนี้ได้รับด้านล่าง
ไวยากรณ์
เปลี่ยนชื่อ[ตัวเลือก] 's/ค้นหา/แทนที่/'ไฟล์คำสั่งนี้สามารถใช้ได้ทั้งแบบมีและไม่มีตัวเลือก เช่น ' mv ' สั่งการ. สามารถเปลี่ยนชื่อไฟล์ได้หลายไฟล์พร้อมกันโดยใช้นิพจน์ทั่วไป ที่นี่ ' NS ’ หมายถึงการแทนที่ หากพบข้อความค้นหา ไฟล์จะถูกเปลี่ยนชื่อด้วยข้อความแทนที่
ตัวอย่างที่ 3: เปลี่ยนชื่อไฟล์ที่ตรงกับนิพจน์ทั่วไป
สคริปต์ต่อไปนี้สามารถใช้เพื่อเปลี่ยนชื่อไฟล์หลายไฟล์โดยใช้รูปแบบนิพจน์ทั่วไปที่จะนำส่วนขยายของชื่อไฟล์ที่ค้นหาและชื่อไฟล์ที่เปลี่ยนชื่อเป็นอินพุต หากนามสกุลปัจจุบันตรงกับข้อความค้นหา นามสกุลของไฟล์ใดๆ จะถูกเปลี่ยนชื่อโดยการแทนที่ข้อความ
#!/bin/bash# ใช้ข้อความค้นหา
อ่าน -NS 'ป้อนข้อความค้นหา:'ค้นหา
# ใช้ข้อความแทนที่
อ่าน -NS 'ป้อนข้อความแทนที่:'แทนที่
# เปลี่ยนชื่อไฟล์ทั้งหมดที่ตรงกับรูปแบบ
$(เปลี่ยนชื่อ'NS/.$search/.$replace/ ' *)
โยนออก 'ไฟล์ถูกเปลี่ยนชื่อ'
เอาท์พุต
บทสรุป
บทความนี้ใช้ตัวอย่างจำนวนมากเพื่อแสดงการใช้ 'เอ็มวี' และ 'เปลี่ยนชื่อ' คำสั่งทุบตี การเปลี่ยนชื่อไฟล์น่าจะง่ายกว่าสำหรับผู้ใช้ bash หลังจากฝึกตัวอย่างข้างต้น