একটি নির্দিষ্ট সফ্টওয়্যারটির পথ কীভাবে জানবেন?


13

প্রসঙ্গ: আমি লগইন করার সময় আমি একটি অ্যাপ্লিকেশন স্বয়ংক্রিয়ভাবে শুরু করার চেষ্টা করছি। এর জন্য আমার pathঅ্যাপ্লিকেশনটির জন্য নির্বাচন করতে হবে ।

এখানে চিত্র বর্ণনা লিখুন

আমি যে রাস্তাগুলি ইতিমধ্যে দেখেছি সেগুলি এখানে:

  • /sbin
  • /usr/sbin
  • /usr/local/bin
  • /usr/share/

যদি এটি সাহায্য করতে পারে তবে আমি যে অ্যাপ্লিকেশনটি সন্ধান করতে চাইছি তাকে " স্ক্রীনক্লাউড " বলা হয় এবং আমি এটি উবুন্টু সফটওয়্যার কেন্দ্র থেকে ডাউনলোড করেছি।

তবে আমি এটি খুঁজে পাচ্ছি না, এমন কোনও উপায় আছে যেখানে আমি জানতে পারি যে কোনও নির্দিষ্ট সফ্টওয়্যারটি কোথায় ইনস্টল করা আছে? কারণ আমি এটির সন্ধান পেলেও, ভবিষ্যতে একই সমস্যাটি এড়াতে চাই।


2
আপনি যদি কেবল কমান্ড লাইনে স্ক্রিনক্লাউড টাইপ করেন তা কি কাজ করে না?
— গ্রাহাম

আপনি এটি স্ন্যাপ স্টোর থেকে বা উবুন্টু সফ্টওয়্যার কেন্দ্র থেকে পেয়েছেন কারণ আমি এটি উবুন্টু অ্যাপ্টির কোনও রেপোজিটরিতে খুঁজে পাই না।
— mchid

2
@ এমসিডিড আমি ওপি-র লিঙ্কটিকে সম্বোধন করছিলাম না বরং আপনার মন্তব্যটি দিয়েছিলাম: "কারণ আমি এটি উবুন্টু অ্যাপ্টির কোনও রেপোজিটরিতে পাই না " স্ক্রিনক্লাউড .debপ্যাকেজ থেকে ইনস্টল করা যেতে পারে তবে আপনাকে পিপিএ যুক্ত করতে হবে।
— WinEunuuchs2 ইউনিক্স

1
@mchid আমি জানতাম হুকুম থেকে পরিবর্তন করা হয়েছে screencloud.shথেকে screencloudএবং সন্দেহভাজন বাইরে সরিয়ে নেওয়া হয়েছে /opt। আমার উত্তর যে অংশ ইশারা ছিল কিভাবে typeএবং whichপাবেন না screencloudকিন্তু locatewould।
— WinEunuuchs2 ইউনিক্স

1
@ WinEunuuchs2 ইউনিক্স এখনই। screencloud.shআসলে এখনও বিদ্যমান তবে আমি নিশ্চিত নই screencloudযে এটি .shফাইলের স্ক্রিপ্ট এবং এটির চেয়ে অন্যর চেয়ে কীভাবে আলাদা screencloudহয়। আমি এই অ্যাপ্লিকেশনটির সাথে সত্যই পরিচিত নই। এর নীচে /usr/bin/রয়েছে একটি screencloud, ক screencloud.shএবং এছাড়াও এর screencloud-পরে সংস্করণ নম্বর সাজানো কেমন gimp।
— mchid

উত্তর:


16

একটি নির্বাহী এর পথ খুঁজুন

সবচেয়ে ভালো উপায়

  • type executable

কীভাবে আরও ভাল তা সম্পর্কে আরও জানতে এই প্রশ্নটি দেখুন type। (ধন্যবাদ, মন্তব্য!)

অন্যান্য উপায়

  • whereis executable
  • which executable

এই কমান্ডগুলি কেবলমাত্র PATH ভেরিয়েবল ( echo $PATH) অনুসন্ধান করে, সুতরাং এগুলি কিছু ক্ষেত্রে (অন্তর্নির্মিত ফাংশন, উপকরণ বা ব্যাশ ফাংশন এবং আরও অনেক কিছুতে) বৈধ নয়।


3
অবিশ্বাস্যরূপে যথেষ্ট এটি উবুন্টুকে জিজ্ঞাসা করার বিষয়ে এখনও কোনও প্রশ্ন ছিল না। ভাল প্রশ্ন @ সিড!
— তাতসু

সত্যিই, আমি এটি বিশ্বাস করতে পারি না!
— বিগবিবি

1
আমি অন্য একটি প্রশ্ন থেকে জানতে পেরেছি যে এটি শেল অন্তর্নির্মিত হিসাবে typeপছন্দ করা whichএবং এটি একটি কমান্ডের একটি উপাম কিনা তা নির্ধারণ করতে পারি। তাও আমার কাছে নতুন ছিল!
— অ্যারোনিকাল

1
কেন typeপছন্দ করা হয় তার দীর্ঘ (দীর্ঘ) ব্যাখ্যার জন্য এখানে দেখুন : কেন "কোন" ব্যবহার করবেন না? তাহলে কী ব্যবহার করবেন?
— টেরডন

1
@ উত্তরের পয়েন্টগুলিতে সমস্ত প্রয়োগ করুন। "কেস ইউজ কেসস" বিভাগ অন্তর্ভুক্ত যা whichশেল স্ক্রিপ্টগুলির নির্দিষ্ট প্রেক্ষাপটে সত্যই কার্যকর useful এই প্রসঙ্গে বাইরে, তবে typeপ্রায় সবসময়ই আরও ভাল পছন্দ।
— টেরডন

1

পথের ভিতরে বা বাইরে কমান্ডের অবস্থান সন্ধান করুন

ধরে নিন আপনি unameসিস্টেমের তথ্য তালিকাভুক্ত এমন একটি প্রোগ্রামের অবস্থান অনুসন্ধান করতে চান । আপনি যদি শীর্ষ স্তরের কমান্ডটি কোন ডিরেক্টরিতে সঞ্চয় করে তা জানতে চান আপনার কাছে বেশ কয়েকটি বিকল্প রয়েছে:

$ which uname
/bin/uname

$ type -a uname
uname is /bin/uname

$ command -v uname
/bin/uname

$ locate uname
/bin/uname
    (... SNIP dozens of Windows files on C & D ...)
/usr/lib/klibc/bin/uname
/usr/lib/plainbox-provider-resource-generic/bin/uname_resource
/usr/share/man/man1/uname.1.gz
/usr/share/man/man2/oldolduname.2.gz
/usr/share/man/man2/olduname.2.gz
/usr/share/man/man2/uname.2.gz

সুবিধাগুলি সনাক্ত করুন

শেষ বিকল্পটি কমান্ড প্রম্পট থেকে চালিত প্রোগ্রামটি নয় এমন locateসমস্ত ফাইল ফেরত দেয় uname।

এর সুবিধাটি locateহ'ল এটি আপনার অনুসন্ধানের পথে কমান্ডগুলি খুঁজে পাবে না । type -a(সাধারণের চেয়ে বেশি পছন্দসই type) এবং whichকেবলমাত্র আপনার অনুসন্ধানের পথে আদেশগুলি পাবেন। আপনার অনুসন্ধানের পথ ব্যবহার দেখার জন্য echo $PATH।

এই উত্তরটি উদাহরণস্বরূপ নিন কীভাবে স্ক্রিনক্লাউড শুরু করবেন? :

চেষ্টা করুন ...

/opt/screencloud/screencloud.sh

locate screencloudকমান্ড এটা পাবেন কিন্তু which screencloudও type -a screencloudনা করবে না কারণ:

  • পুরো নাম screencloud.shএবং একমাত্র locateকমান্ড আংশিক মিল অনুসন্ধান করে।
  • /opt/screencloudসম্ভবত অনুসন্ধানের পথে নেই। whichএবং typeকেবল অনুসন্ধানের পথে এক্সিকিউটযোগ্য ফাইলগুলির সন্ধান করুন।

দ্রষ্টব্য: এটি একটি পুরানো উত্তর। মডার্ন স্ক্রিনক্লাউড সাথে ডাকা হয় screencloud।

findকমান্ডের উপরে অবস্থান নির্ধারণের সুবিধাটি হ'ল এটি কয়েকশো বা হাজার হাজার গতি হতে পারে। এছাড়াও findশুরু থেকে চালানো /অনেক অনুমতি ত্রুটিগুলি দেয় যা আপনি অনুভব করবেন না locate।

অসুবিধাগুলি চিহ্নিত করুন

আপনি যদি আজ সবেমাত্র প্রোগ্রামটি ইনস্টল করেছেন আপনার sudo updatedbঅবস্থানের ডেটাবেস আপডেট করার জন্য আপনাকে ব্যবহার করতে হবে।


1

আপনার সমস্ত $PATHডিরেক্টরি তালিকাভুক্ত করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন :

echo $PATH | sed 's/:/\n/g'

এর জন্য পুরো পথটি খুঁজে পেতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন screencloud:

for i in $(echo $PATH | sed 's/:/\n/g'); do find $i/screencloud* 2>@1; done

আপনি ব্যবহার করে থাকেন apt, apt-getএই প্যাকেজটি ইনস্টল করতে, অথবা উবুন্টু সফটওয়্যার সেন্টার, আপনি সম্পূর্ণ পথ খুঁজে পেতে নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:

dpkg -L screencloud | grep bin

ধরে নেওয়া যাক আপনি ব্যবহার এই সংগ্রহস্থলের , আপনি এটি করতে সক্ষম হওয়া উচিত screencloud মধ্যে /usr/bin/।

পুরো পথটি হ'ল:

/usr/bin/screencloud

অথবা

/usr/bin/screencloud-*

তবে, আপনি যদি আপনার প্রশ্নে প্রদত্ত লিঙ্কটি অনুযায়ী স্ন্যাপক্র্যাফ্টের দোকানটি ব্যবহার করেন , তবে পথটি নিম্নলিখিত ডিরেক্টরিটির অধীনে থাকবে:

/snap/bin

অধিক তথ্য

এছাড়াও, দয়া করে মনে রাখবেন যে উবুন্টু কেস সংবেদনশীল তাই আপনার অবশ্যই সমস্ত বড় হাতের অক্ষর নেই use


এই খুব বিস্তৃত উত্তরের জন্য আপনাকে ধন্যবাদ, আপনি একটি উত্সাহ জিতেছেন :)
— সিড

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