ผมได้มีไดเรกทอรีและฉันต้องการที่จะเปลี่ยนชื่อเป็น/home/user/oldname /home/user/newnameฉันจะทำสิ่งนี้ได้อย่างไรในเทอร์มินัล
mv rename
ผมได้มีไดเรกทอรีและฉันต้องการที่จะเปลี่ยนชื่อเป็น/home/user/oldname /home/user/newnameฉันจะทำสิ่งนี้ได้อย่างไรในเทอร์มินัล
mv rename
คำตอบ:
mv /home/user/oldname /home/user/newname
No such file or directoryถ้าชื่อไดเรกทอรีเดียวกันมีมูลค่าคุณจะได้รับ mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folderเพื่อหลีกเลี่ยงนี้ทำสิ่งที่ชอบ
--no-target-directory( -T)เพื่อหลีกเลี่ยงการnewnameถือเป็นไดเรกทอรีเป้าหมาย
mv สามารถทำงานสองอย่าง
หากต้องการเปลี่ยนชื่อไฟล์หรือไดเรกทอรีให้พิมพ์ใน Terminal:
mv old_name new_name
มีช่องว่างระหว่างชื่อเก่าและใหม่
หากต้องการย้ายไฟล์หรือไดเรกทอรีให้พิมพ์สิ่งนี้ในเทอร์มินัล
mv file_name ~/Desktop
มันจะย้ายไฟล์ไปยังเดสก์ท็อป
หากเป็นไดเรกทอรีคุณควรเพิ่ม-Rก่อนชื่อไดเรกทอรี:
mv -R directory_name ~/Desktop
mvบน Ubuntu มาจาก GNU coreutils AFAICT ไม่มี-Rตัวเลือกและไม่จำเป็นเมื่อย้ายไดเรกทอรี
-Tตัวเลือกที่ถูกต้องคือ ดูคำตอบ @ bmaupin สำหรับพฤติกรรมของมัน
mv -T /home/user/oldname /home/user/newname
จะเปลี่ยนชื่อไดเรกทอรีหากปลายทางไม่มีอยู่หรือมีอยู่ แต่ว่างเปล่า มิฉะนั้นจะทำให้คุณมีข้อผิดพลาด
หากคุณทำสิ่งนี้แทน:
mv /home/user/oldname /home/user/newname
หนึ่งในสองสิ่งจะเกิดขึ้น:
/home/user/newnameไม่มีอยู่ระบบจะเปลี่ยนชื่อ/home/user/oldnameเป็น/home/user/newname/home/user/newnameมีอยู่มันจะย้าย/home/user/oldnameไปที่/home/user/newnameเช่น/home/user/newname/oldnameแหล่งที่มา: วิธีการตัดสินใจที่ mv ย้ายไปยังไดเรกทอรีมากกว่าการแทนที่ไดเรกทอรี?
mv -T $PWD/analisys $PWD/Analisys mv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same fileฉันแก้ไขสิ่งนี้โดยใช้ชื่อกลาง (เช่นanalisys_)
หากคุณต้องการเปลี่ยนชื่อไดเรกทอรีที่ระดับของคุณในระบบไฟล์ (เช่นคุณอยู่ที่โฮมไดเร็กตอรี่ของคุณและต้องการเปลี่ยนชื่อไดเรกทอรีที่อยู่ในโฮมไดเร็กตอรี่ของคุณด้วย):
mv Directory ./NewNameDirectory
gvfs-moveคำสั่งนี้จะเปลี่ยนชื่อไฟล์และไดเรกทอรีด้วย
gvfs-move /home/user/oldname /home/user/newname
gvfs-rename จะทำการเปลี่ยนชื่อไดเรกทอรีด้วย มันจะให้ข้อผิดพลาดหากไดเรกทอรีที่มีชื่อใหม่มีอยู่แล้ว ข้อ จำกัด เพียงอย่างเดียวคือคุณไม่สามารถใช้พา ธ ที่มีชื่อโฟลเดอร์ได้ ดังนั้น
gvfs-rename /home/boo /home/boo-the-dog
จะไม่ทำงาน แต่
cd /home
gvfs-rename boo boo-the-dog
จะทำงาน. ไม่เป็นประโยชน์เท่า mv -T แต่ฉันอ่านด้วยตัวเองว่ามันมีความหมายสำหรับการดำเนินงานเครือข่าย