কোথায় rename
কমান্ড থেকে এসেছে?
user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
prename
কোথায় rename
কমান্ড থেকে এসেছে?
user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
prename
উত্তর:
আশ্চর্যের বিষয়, এটি rename
প্যাকেজ থেকে এসেছে ।
pilot6@Pilot6:~$ ls -l /usr/bin/rename
lrwxrwxrwx 1 root root 24 окт 17 2013 /usr/bin/rename -> /etc/alternatives/rename
pilot6@Pilot6:~$ ls -l /etc/alternatives/rename
lrwxrwxrwx 1 root root 20 апр 29 2016 /etc/alternatives/rename -> /usr/bin/file-rename
pilot6@Pilot6:~$ dpkg -S /usr/bin/file-rename
rename: /usr/bin/file-rename
dpkg -S
সিমলিংক অনুসরণ করে না? বাগ বা ফিচার?
dpkg
কাজ নয়। dpkg
কেবল ইনস্টলড প্যাকেজগুলির সাথেই কাজ করে। ব্যবহার করুন update-alternatives --query rename
, এটি আপনাকে সমাধান করা লিঙ্কের পথটি দেখাবে
dpkg
/ dpkg-query
এই তথ্যটি অফার করা সহজ হবে । যাইহোক, আমি মনে করি না dpkg -S
উচিত চুপটি symlinks ডি-রেফারেন্স পর্যন্ত এটি একটি প্যাকেজ ফাইল খুঁজে বের করে। dpkg -S foo
কমান্ডটি foo
সন্ধান করার কথা নয় , এটি প্যাকেজটি আবিষ্কার করে যা ফাইলটি ইনস্টল করে foo
এবং কোনও ফাইলের পরম পথের সাথে অনুরোধ করা হলে এটি সবচেয়ে কার্যকর is dpkg -S /usr/bin/rename
কোনও প্যাকেজ কেন সেই সিমিলিংক সরবরাহ করে না তা ব্যাখ্যা করা হলে এটি দুর্দান্ত লাগবে তবে আমি মনে করি এটি এখনও সত্য বলা উচিত যা কোনও প্যাকেজ করে না।
আপনি সম্ভবত দেখতে পাবেন যে এটি একটি প্রতীকী লিঙ্ক যা update-alternatives
প্রক্রিয়া দ্বারা পরিচালিত হয় :
$ ls -l $(which rename)
lrwxrwxrwx 1 root root 24 Jun 29 2016 /usr/bin/rename -> /etc/alternatives/rename
আপনি ব্যবহার করে alচ্ছিক বাস্তবায়ন দেখতে পাবেন
$ update-alternatives --list rename
/usr/bin/file-rename
/usr/bin/prename
এবং ব্যবহার করে বাস্তবায়ন মধ্যে নির্বাচন করতে পারেন
update-alternatives --config rename
এফডাব্লুআইডাব্লিকেশন প্যাকেজ file-rename
দ্বারা সরবরাহ করা হয় rename
, যেখানে মূলটি নিজেই prename
সরবরাহ perl
করে। থেকে apt-cache show rename
:
এই প্যাকেজটি ফাইল (ফাইল :: পুনঃনামকরণ) নামকরণের জন্য পার্ল ইন্টারফেস এবং একটি কমান্ড লাইন সরঞ্জাম 'পুনর্নবীকরণ' উভয় সরবরাহ করে যা বর্তমানে পার্ল প্যাকেজ দ্বারা সরবরাহিত সংস্করণটি প্রতিস্থাপনের উদ্দেশ্যে তৈরি করা হয়েছে।
যদি এটি ইতিমধ্যে যথেষ্ট বিভ্রান্তিকর না হয়ে থাকে তবে আপনি প্যাকেজটি rename
থেকে আরও কিছু আসতে util-linux
পারেন - দেখুন সমস্ত নামের সাথে কী আছে?
যদি আমরা /usr/bin/rename
সেই বিষয়ে কথা বলি যা একটি নিফটি পার্ল স্ক্রিপ্ট, তবে rename
কমান্ডটি তার নিজস্ব পৃথক প্যাকেজের অন্তর্ভুক্ত।
rename:
Installed: 0.20-4
Candidate: 0.20-4
Version table:
*** 0.20-4 500
500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu xenial/main i386 Packages
100 /var/lib/dpkg/status
কর্ন শেল এবং এর ডেরাইভেটিভসের ক্ষেত্রে rename
শেল বিল্ট-ইন কমান্ড।
$ echo $SHELL
/bin/mksh
$ type rename
rename is a shell builtin
rename
কমান্ড সম্পর্কে জিজ্ঞাসা করে , তবে rename
কেবলমাত্র উল্লেখ করা হয়নি /usr/bin/rename
, যেমন আপনি আমার উত্তরটিতে দেখেন। ব্যবহারকারীরা যাদের ksh বা mksh শেল রয়েছে সে সম্পর্কে সচেতন হতে পারে না। যখন আমি ব্যক্তিগতভাবে শুরু করেছি mksh
, যখন আমি rename
নিয়মিত প্রকাশটি গ্রহণ করছিলাম না তখন আমি খুব বিস্মিত হই, যতক্ষণ না বুঝতে পারি যে সেগুলি দুটি ভিন্ন জিনিস। এছাড়াও, আমার শব্দগুলি "যদি আমরা x সম্পর্কে" কথা বলি না, তবে এটিকে "ক্ষেত্রে" বলার উপায় হিসাবে বিবেচনা করুন
rename
ফেডোরা সঙ্গে যে জাহাজ অন্য একটি, যদিও। এটি একটি সংকলিত প্রোগ্রাম বলে মনে হচ্ছে এবং এটিrename
উবুন্টুর সাথে জাহাজগুলির মতো প্রায় শক্তিশালী নয় । সুতরাং আপনি যখন অন্য কোনও লিনাক্স বিতরণে স্ক্রিপ্টগুলি ব্যবহার করবেন তখন সাবধান হন।