`পুনঃনামনা` আদেশটি কোথা থেকে এসেছে?


17

কোথায় renameকমান্ড থেকে এসেছে?

user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename

3
renameফেডোরা সঙ্গে যে জাহাজ অন্য একটি, যদিও। এটি একটি সংকলিত প্রোগ্রাম বলে মনে হচ্ছে এবং এটি renameউবুন্টুর সাথে জাহাজগুলির মতো প্রায় শক্তিশালী নয় । সুতরাং আপনি যখন অন্য কোনও লিনাক্স বিতরণে স্ক্রিপ্টগুলি ব্যবহার করবেন তখন সাবধান হন।
মার্টিন উয়েডিং

@ মার্টিন ইউডিং আপনি এখানে দয়া করে একটি মন্তব্য করতে পারেন: Askubuntu.com/questions/873661/…
গেটলি

উত্তর:


20

আশ্চর্যের বিষয়, এটি 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

1
কেন dpkg -Sসিমলিংক অনুসরণ করে না? বাগ বা ফিচার?
গেটলি

5
@ গুয়েটলি বৈশিষ্ট্য : "এই কমান্ডটি রক্ষণাবেক্ষণকারী স্ক্রিপ্টগুলির দ্বারা নির্মিত অতিরিক্ত ফাইলগুলির তালিকা তৈরি করবে না এবং এটি বিকল্পগুলির তালিকাও দেবে না" "
মুড়ু

2
সিমলিংকটি প্যাকেজের নিজস্ব নয়।
পাইলট 6

2
@ গুয়েটলি কারণ এটি dpkgকাজ নয়। dpkgকেবল ইনস্টলড প্যাকেজগুলির সাথেই কাজ করে। ব্যবহার করুন update-alternatives --query rename , এটি আপনাকে সমাধান করা লিঙ্কের পথটি দেখাবে
সের্গেই কোলডিয়াজহনি

5
@ গুয়েটলি দেখুন ডিবিয়ান বাগ # 198220 । সুবিধার্থে dpkg/ dpkg-queryএই তথ্যটি অফার করা সহজ হবে । যাইহোক, আমি মনে করি না dpkg -Sউচিত চুপটি symlinks ডি-রেফারেন্স পর্যন্ত এটি একটি প্যাকেজ ফাইল খুঁজে বের করে। dpkg -S fooকমান্ডটি fooসন্ধান করার কথা নয় , এটি প্যাকেজটি আবিষ্কার করে যা ফাইলটি ইনস্টল করে fooএবং কোনও ফাইলের পরম পথের সাথে অনুরোধ করা হলে এটি সবচেয়ে কার্যকর is dpkg -S /usr/bin/renameকোনও প্যাকেজ কেন সেই সিমিলিংক সরবরাহ করে না তা ব্যাখ্যা করা হলে এটি দুর্দান্ত লাগবে তবে আমি মনে করি এটি এখনও সত্য বলা উচিত যা কোনও প্যাকেজ করে না।
এলিয়াহ কাগন

12

আপনি সম্ভবত দেখতে পাবেন যে এটি একটি প্রতীকী লিঙ্ক যা 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পারেন - দেখুন সমস্ত নামের সাথে কী আছে?


পুনর্নামকরণ বিকল্প হিসাবে পুনর্নবীকরণ.আল কেন উপলব্ধ নয়?
র্যান্ডম 832

@ র্যান্ডম 832 কমান্ড-লাইন ইউটিলিটির জন্য বিকল্পগুলি একে অপরের জন্য সিন্ট্যাক্স-সামঞ্জস্যপূর্ণ প্রতিস্থাপন (কমপক্ষে কার্যকারিতার কয়েকটি সাধারণ মূলের জন্য) বলে মনে করা হয়; পুনঃনাম.আল এবং প্রাক নামটি যোগ্যতা অর্জন করে না।
zwol

7

যদি আমরা /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

"যদি আমরা / usr / বিন / নাম পরিবর্তনের বিষয়ে কথা বলি" কেন? প্রশ্নটিতে পরম পথ রয়েছে।
guettli

1
@ গুয়েটলি প্রশ্নটি renameকমান্ড সম্পর্কে জিজ্ঞাসা করে , তবে renameকেবলমাত্র উল্লেখ করা হয়নি /usr/bin/rename, যেমন আপনি আমার উত্তরটিতে দেখেন। ব্যবহারকারীরা যাদের ksh বা mksh শেল রয়েছে সে সম্পর্কে সচেতন হতে পারে না। যখন আমি ব্যক্তিগতভাবে শুরু করেছি mksh, যখন আমি renameনিয়মিত প্রকাশটি গ্রহণ করছিলাম না তখন আমি খুব বিস্মিত হই, যতক্ষণ না বুঝতে পারি যে সেগুলি দুটি ভিন্ন জিনিস। এছাড়াও, আমার শব্দগুলি "যদি আমরা x সম্পর্কে" কথা বলি না, তবে এটিকে "ক্ষেত্রে" বলার উপায় হিসাবে বিবেচনা করুন
সের্গি কলডিয়াজহনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.