লিনাক্সে আমি মাঝে মাঝে এই জাতীয় ফাইলগুলির নাম পরিবর্তন করি:
mv dir1/dir2/dir3/file.txt dir1/dir2/dir3/file.txt.old
নোট করুন যে আমি কেবল ফাইলটির নাম পরিবর্তন করতে চাই, এটি অন্য ডিরেক্টরিতে সরাতে চাই না।
এমন কোন আদেশ আছে যা আমাকে সেই আদেশের শর্টহ্যান্ড সংস্করণ করতে দেয়? আমি এমন কিছু ভাবছি:
mv dir1/dir2/dir3/file.txt file.txt.old
অথবা হতে পারে এমন কিছু (কেবল নামের সাথে সংযুক্ত করতে):
mv dir1/dir2/dir3/file.txt {}.old
আমার লক্ষ্যটি আবার পুরো পথটি নির্দিষ্ট করতে হবে না।
আমি জানি যে "উদাহরণগুলি" আমি লিখেছি তা কার্যকর হয় না, তবে আমি কী অর্জন করতে চাই তা কেবল এটি একটি ধারণা।
আমি ডিরেক্টরিতে সিডি করতে চাই না।
(cd dir1/dir2/dir3 && exec mv file.txt{,.old})
সাব-প্রসেস ছাড়াই কোডের মতো কার্যকরভাবে কার্যকর হয়েছে, কারণ বাহ্যিক কমান্ডের অনুরোধের সময় ইনগ্রেস করা থেকে exec
বিরত থাকে fork()
, সুতরাং আপনার কোনওভাবেই কাঁটাচামচ রয়েছে।