কমান্ড লাইনের মাধ্যমে আমি কোনও ডিরেক্টরিটির নাম কীভাবে দেব?


564

আমি ডিরেক্টরি পেয়েছি /home/user/oldnameএবং আমি এর নাম পরিবর্তন করতে চাই /home/user/newname। টার্মিনালে আমি কীভাবে এটি করতে পারি?



সর্বদা mvবা ব্যবহার করুন rename
জন স্ট্রুড

উত্তর:


737
mv /home/user/oldname /home/user/newname


দুর্দান্ত নিবন্ধ। ঠিক এটাই কথা।
রাফা সিলেক

76
নতুন নামটি যদি ইতিমধ্যে একটি বিদ্যমান ডিরেক্টরি হয় তবে এটি কাজ করবে না। পরিবর্তে, এটি পুরানো ডিরেক্টরিটিকে নতুনটির ভিতরে নিয়ে যাবে।
cxrodgers

9
ডিরেক্টরিটির নাম যদি মূলধনের সাথে একই হয় তবে আপনি পাবেন No such file or directory। এড়াতে এ জাতীয় কিছু করুন mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder
DutGRIFF

9
@cxrodgers: পাস --no-target-directory( -T) , newnameএকটি লক্ষ্য ডিরেক্টরি হিসাবে চিকিত্সা এড়ানোর জন্য ।
jfs

123

mv দুটি কাজ করতে পারেন।

  1. এটি ফাইল বা ডিরেক্টরি স্থানান্তর করতে পারে
  2. এটি ফাইল বা ডিরেক্টরিগুলির নাম পরিবর্তন করতে পারে

কেবলমাত্র একটি ফাইল বা ডিরেক্টরি নামকরণ করতে টার্মিনালে এটি টাইপ করুন:

mv old_name new_name 

পুরানো এবং নতুন নামের মধ্যে স্থান সহ।

কোনও ফাইল বা ডিরেক্টরি সরানোর জন্য এটি টার্মিনালে টাইপ করুন।

mv file_name ~/Desktop 

এটি ডেস্কটপে ফাইলটি সরিয়ে ফেলবে।

যদি ডিরেক্টরি হয় -Rতবে ডিরেক্টরি নামের আগে আপনার যুক্ত করা উচিত :

mv -R directory_name ~/Desktop

3
mvউবুন্টু জিএনইউ কোর্টিল থেকে এসেছে। আফ্রিকান এর কোনও -Rবিকল্প নেই, ডিরেক্টরি সরিয়ে নেওয়ার সময় এটিও প্রয়োজনীয় নয়।
আরিফেল

-r এমনকি কাজ করে না
ব্যবহারকারী 1735921

সঠিক বিকল্পটি হ'ল -T। এর আচরণের জন্য @ বিমুপিনের উত্তর দেখুন ।
কালানমেট্রিক

39
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 -T $PWD/analisys $PWD/Analisysআয় mv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file। আমি একটি মধ্যবর্তী নাম ব্যবহার করে (যেমন analisys_) এর চারপাশে কাজ করেছি ।
বাসিলিকোড

ফাইল সিস্টেমের সীমাবদ্ধতার কারণে কমান্ডটি সফল হতে পারে নি, তবে অন্য দৃষ্টিকোণ থেকে এটি আপনার উদ্দেশ্যগুলি ব্যাখ্যা করতে সফল হয়েছিল (ডিরেক্টরিটির নামকরণ, এটি সরানো নয়) :)
বমুপিন

তুমি কি এটা চেষ্টা করেছ?
মাহমুদ এস মারওয়াদ

5

আপনি যদি ফাইল সিস্টেমে আপনার স্তরের কোনও ডিরেক্টরিটির নাম পরিবর্তন করতে চান (উদাহরণস্বরূপ, আপনি নিজের হোম ডিরেক্টরিতে আছেন এবং একটি ডিরেক্টরি যা আপনার হোম ডিরেক্টরিতে অন্তর্ভুক্ত রয়েছে তার নামও পরিবর্তন করতে চান):

mv Directory ./NewNameDirectory

4

এই gvfs-moveকমান্ডটি ফাইল এবং ডিরেক্টরিগুলির পুনরায় নামকরণ করবে।

gvfs-move /home/user/oldname /home/user/newname

3

gvfs-rename ডিরেক্টরিগুলিরও নতুন নামকরণ করবে। নতুন নামের একটি ডিরেক্টরি ইতিমধ্যে উপস্থিত থাকলে এটি একটি ত্রুটি দেয়। একমাত্র সীমাবদ্ধতা হ'ল আপনি ফোল্ডারের নাম সহ কোনও পাথ ব্যবহার করতে পারবেন না। সুতরাং

gvfs-rename /home/boo /home/boo-the-dog 

কাজ করবে না, কিন্তু

cd /home 
gvfs-rename boo boo-the-dog 

কাজ করবে. এমভি-টি এর মতো দরকারী নয় তবে আমি লোকটিতে পড়েছি এটি নেটওয়ার্ক অপারেশনগুলির জন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.