শেল থেকে বর্তমান ডিরেক্টরিটির নামকরণ - সম্ভব?


24

শেলের মধ্যে দিয়ে বর্তমান ওয়ার্কিং ডিরেক্টরিটির নাম পরিবর্তন করা সম্ভব (আমার বিশেষ ক্ষেত্রে বাশ)? আমি যদি সোজা উপায়ে এটি করার চেষ্টা করি তবে আমি একটি ত্রুটি দিয়ে শেষ করি:

nathan@nathan-desktop:/tmp/test$ mv . test2
mv: cannot move ‘.’ to ‘test2’: Device or resource busy

বর্তমান ডিরেক্টরিটি পরিবর্তন না করে এটি করার অন্য কোনও উপায় আছে কি? আমি বুঝতে পারি যে আমি পিতামাতার ডিরেক্টরিতে পরিবর্তন করে খুব সহজেই এটি সম্পাদন করতে পারি তবে এটি যদি প্রয়োজন হয় তবে আমি আগ্রহী। সর্বোপরি, আমি যদি অন্য শেল থেকে ডিরেক্টরিটির নাম পরিবর্তন করি তবে আমি পরেও মূল শেলটিতে ফাইলগুলি তৈরি করতে পারি।

উত্তর:


41

হ্যাঁ, তবে আপনাকে ডিরেক্টরিটি নাম দ্বারা উল্লেখ করতে হবে, .স্বরলিপিটি ব্যবহার করে নয় । আপনি কোনও আপেক্ষিক পথ ব্যবহার করতে পারেন, এর কেবল .বা এর বাইরে অন্য কিছু দিয়ে শেষ করতে হবে ..:

/tmp/test$ mv ../test ../test2
/tmp/test$ pwd
/tmp/test
/tmp/test$ pwd -P
/tmp/test2

আপনি একটি নিখুঁত পাথ ব্যবহার করতে পারেন:

/tmp/test$ cd -P .
/tmp/test2$ mv "$PWD" "${PWD%/*}/test3"
/tmp/test2$ 

একইভাবে, rmdir .কখনও কাজ করবে না, তবে rmdir "$PWD"করে।


নিখুঁত ... আমি ঠিক উত্তরটি আশা করছিলাম।
নাথান ওসমান

5
মূল সমস্যাটি হ'ল আপনাকে বিশেষ "মুছে ফেলার বা নাম পরিবর্তন করার অনুমতি নেই।" এবং ".." নাম।
বার্মার


1

এবং এটি কীভাবে আপনি "বর্তমান ডিরেক্টরি পরিবর্তন করছেন" সংজ্ঞায়িত করে তার উপর নির্ভর করে।

/tmp/test$ (cd .. && mv test test2)
/tmp/test$ pwd
/tmp/test
/tmp/test$ pwd -P
/tmp/test2

একটি সাবশেল তৈরি করে এবং সাব ডিরেক্টরিতে বর্তমান ডিরেক্টরি পরিবর্তন করে তবে আপনার প্রাথমিক শেলটি যেখানে ছিল সেখানে ফেলে দেয়।

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