উইন্ডোজের অধীনে, বেশিরভাগ অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন ডেটা C:\Program Files
(এবং মাঝে মাঝে C:\Program Files (x86)
) নামে পরিচিত একটি বিশেষ ডিরেক্টরিতে সংরক্ষণ করা হয় । উবুন্টু / লিনাক্স এই পথের সমান? এমনকি একটি আছে?
উইন্ডোজের অধীনে, বেশিরভাগ অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন ডেটা C:\Program Files
(এবং মাঝে মাঝে C:\Program Files (x86)
) নামে পরিচিত একটি বিশেষ ডিরেক্টরিতে সংরক্ষণ করা হয় । উবুন্টু / লিনাক্স এই পথের সমান? এমনকি একটি আছে?
উত্তর:
/bin
এবং /usr/bin
যেখানে স্ক্রিপ্টগুলি প্রোগ্রাম শুরু করে। "প্রোগ্রাম ফাইলগুলি" এর সরাসরি সমতুল্য সম্ভবত /usr/share
( ফাইল সিস্টেমের হাইয়ারচি স্ট্যান্ডার্ড দেখুন )। এই ডিরেক্টরিতে বেশিরভাগ প্রোগ্রামের জন্য বিভিন্ন সমর্থন ফাইল রয়েছে।
সম্ভবত কোনও সরাসরি সমতুল্য নেই, উদাহরণস্বরূপ, উদাহরণস্বরূপ, লাইব্রেরি ফাইলগুলি সিস্টেম জুড়ে ভাগ করা হয় (ইন /lib
) এবং বিকল্পগুলি হয় ব্যবহারকারীকে নির্দিষ্ট করা (ব্যবহারকারীর হোম ডিরেক্টরিতে) বা সর্বজনীনভাবে অবস্থিত /etc
।
সুতরাং একটি ডেব ফাইল, সংগ্রহস্থল বা বিল্ডের মাধ্যমে একটি প্রোগ্রাম ইনস্টল করার ফলে সম্ভবত এই সমস্ত জায়গাতেই ফাইল স্থাপন করা হবে।
[সম্পাদনা] এবং অন্যরা যেমন খেয়াল করে, সেখানেও রয়েছে /sbin
এবং /usr/sbin
। প্লাস /usr/local/bin
, /opt/bin
এবং এমনকি /usr/games/
। সুতরাং অবশ্যই একটি সরাসরি তুলনা না c:\program files
!
/opt
? আমি দেখেছি যে এর আগে অনেকগুলি (সাধারণত ক্লোজড-সোর্স বা অ্যাপ-ভিত্তিক) প্রোগ্রাম রাখে Program Files
।
/opt
ডিরেক্টরির জন্য।
/usr/local/bin
সফ্টওয়্যারটির জন্য একটি আধা-সাধারণ অবস্থান যা কোনও ব্যবহারকারী / সংস্থার দ্বারা সাধারণত ব্যবহৃত হয় না।
দেরীতে উত্তর - আমি নতুনদের অনুসরণ করার জন্য একটি রোডম্যাপ তৈরি করেছি। যদি তারা কোনও ফাইল সন্ধান করে তবে কোথায় খোঁজ করতে হয় তা জানেন না, তারা প্রায় চারদিকে নেভিগেট করতে মানচিত্রটি ব্যবহার করতে পারেন। আপনি এখানে হাই-রেজো পিএনজি ডাউনলোড করতে পারেন । আপনি এখানে সম্পর্কিত পোস্ট পেতে পারেন । সহায়ক মতামত যুক্ত করে সময় অনুমতি দিলে আমি ফাইল এবং পোস্ট উভয়ই আপডেট করে রাখব।
PATH
এনভায়রনমেন্ট ভেরিয়েবল কী, .desktop
ফাইলগুলি কী এবং বিভিন্ন লিনাক্স কমান্ড ব্যবহার করে কোনও নির্দিষ্ট প্রোগ্রাম কীভাবে সন্ধান করতে হয় সে সম্পর্কে আরও তথ্যের জন্য নীচের আমার উত্তরটি পড়ুন ।
আসল উত্তর:
/bin
, /usr/bin
এবং/usr/share
অন্যান্য উত্তরে উল্লিখিত হিসাবে, আপনি /bin
বা এর অধীনে বেশিরভাগ এক্সিকিউটেবলগুলি খুঁজে পেতে পারেন /usr/bin
এবং সমর্থন ফাইলগুলি ইনস্টল করা আছে /usr/share
।
/usr/local
এবং /opt
আরও কিছু ডিরেক্টরি রয়েছে যেখানে উবুন্টু অ্যাপ্লিকেশনগুলি ইনস্টল করে। PATH
পরিবর্তনশীল, যা একটি প্রবেশ কমান্ড জন্য অনুসন্ধান করতে যেখানে নির্ধারণ করে, আপনি একটি সুরুক দিতে পারে, খনি মত দেখায় ( echo $PATH
টার্মিনালে):
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
আপনি দেখতে পাচ্ছেন কিছু সফ্টওয়্যার ইনস্টল করা আছে /usr/local
এবং তাদের নিজস্ব ডিরেক্টরি আছে এবং bin
। আরও একটি জায়গা যেখানে অনেকগুলি প্রোগ্রাম ইনস্টল করা হয় /opt
। এই অবস্থানগুলির বৈশিষ্ট্যগুলি ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ড দ্বারা ব্যাখ্যা করা হয়েছে , যা খুব ভাল পড়া। দুর্ভাগ্যবশত, এর মধ্যে পার্থক্য /opt
এবং /usr/local
খুব ভাল ব্যাখ্যা করা হয় না, কেউ UNIX stackexchange আরো সম্প্রসারিত ব্যাখ্যা ছিল:
/usr/local
অ্যাডমিনিস্ট্রেটর দ্বারা নির্মিত ফাইলগুলি ইনস্টল করার একটি জায়গা, সাধারণত মেক কমান্ড ব্যবহার করে। ধারণাটি হ'ল অপারেটিং সিস্টেমের অংশ এমন ফাইলগুলির সাথে সংঘর্ষ এড়ানো যা অন্যথায় স্থানীয়ভাবে ওভাররাইট করা বা ওভাররাইট করা হবে। যেমন। স্থানীয় বিকল্প হিসাবে /usr/bin/foo
ওএসের অংশ /usr/local/bin/foo
,/opt
তাদের নিজস্ব উপ ডিরেক্টরিতে প্রতিটি আনবান্ডেল প্যাকেজ ইনস্টল করার জন্য একটি ডিরেক্টরি। তারা ইতিমধ্যে একটি স্বাধীন তৃতীয় পক্ষের সফ্টওয়্যার বিতরণকারী দ্বারা সরবরাহ করা সম্পূর্ণ প্যাকেজগুলি নির্মিত are উদাহরণস্বরূপ someapp
ইনস্টল করা হবে /opt/someapp
, তার কমান্ড এক হবে /opt/someapp/bin/foo
[এবং তারপর সাধারণত একটি সিম্বলিক লিঙ্ক এক তৈরি করা হয় না bin
এ ডিরেক্টরি PATH
, বা প্রোগ্রাম একটি ডেস্কটপ ফাইল থেকে বলা হয় (নিচে দেখুন)]।.desktop
নথি পত্রনির্দিষ্ট প্রোগ্রামটি কোথায় ইনস্টল করা হয়েছে তা জানতে, আপনি বেশ কয়েকটি পদক্ষেপ করতে পারেন। প্রথমে আপনাকে এর .desktop
ফাইলটি সনাক্ত করতে হবে। ডেস্কটপ ফাইলগুলি উইন্ডোজে শর্টকাটের সাথে একত্রে হয় এবং সিস্টেম অ্যাপ্লিকেশনগুলির জন্য সেগুলি অবস্থিত /usr/share/applications
। কেবলমাত্র বর্তমান ব্যবহারকারীর জন্য উপলব্ধ অ্যাপ্লিকেশনগুলির জন্য ডেস্কটপ ফাইলগুলি রয়েছে ~/.local/share/applications
। উদাহরণস্বরূপ গুগল ক্রোম নিন, যার ডেস্কটপ ফাইল রয়েছে /usr/share/applications/google-chrome.desktop
এবং এটি শুরু হওয়া লাইনটি সন্ধান করে এটি Exec=
কীভাবে গুগল ক্রোম শুরু করবেন তা নির্ধারণ করে। এটা বলে:
Exec=/opt/google/chrome/google-chrome
সুতরাং আপনি জানেন যে গুগল ক্রোম রয়েছে /opt
।
এখন অবস্থিত মোজিলা ফায়ারফক্সের জন্য /usr/share/applications/firefox.desktop
। এটা সহজভাবে বলে
Exec=firefox %u
প্রথমে এটি এতটা সাহায্য করে না বলে মনে হয়, তবে তারপরে আপনি বুঝতে পারেন যে firefox
অবশ্যই কোনও ডিরেক্টরিতে PATH
চলক (সম্ভবত ক bin
) হতে পারে এবং আমরা এটি সন্ধান করতে পারি (নীচে দেখুন)।
কমান্ড সন্ধান করার আপনি এক বা নিম্নলিখিত আরো ব্যবহার করতে পারেন: type
, which
এবং whereis
(আমি তাদের ম্যানুয়াল পৃষ্ঠার একটি লিঙ্ক অন্তর্ভুক্ত করেছেন অনলাইন)।
টাইপ : এটি একটি কমান্ড বর্ণনা করে এবং নির্দেশ দেয় যে কমান্ডের নাম হিসাবে ব্যবহৃত হলে এটি কীভাবে ব্যাখ্যা করা হবে। কমান্ডের সম্ভাব্য প্রকারগুলি হ'ল:
(টাইপ নিজেই একটি শেল অন্তর্নির্মিত, এটি দিয়ে চেষ্টা করুন type type
: পি)
এক্সিকিউটিং type firefox
আমাদের দেয়
firefox is /usr/bin/firefox
যা আমরা জানতে চেয়েছিলাম
যদি কোনও আদেশ কোনও ফাইল হয় (যা দিয়ে আপনি পরীক্ষা করেছিলেন type
) তবে আপনি এটি ব্যবহার করতে পারেন:
যা : কমান্ডের সম্পূর্ণ পথ প্রদর্শন করে,
এক্সিকিউটিং which firefox
আমাদের দেয়
/usr/bin/firefox
যেখানে : কমান্ডের জন্য বাইনারি, উত্স এবং ম্যানুয়াল পৃষ্ঠা ফাইলগুলি সন্ধান করুন।
এক্সিকিউটিং whereis firefox
আমাদের দেয়
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
বোনাস
আপনি এর /usr/bin/firefox
সাথে আরও নিরীক্ষণ করতে পারেন ls -l /usr/bin/firefox
এবং এটি দেয়:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
এটি প্রদর্শিত হয় যে /usr/bin/firefox
এটি 'কেবল' স্ক্রিপ্টের প্রতীকী লিঙ্ক /usr/lib/firefox/firefox.sh
। আপনি যদি স্ক্রিপ্টটি পরিদর্শন করেন তবে আপনি আবিষ্কার করতে পারেন যে স্ক্রিপ্টটি কল করেছে /usr/lib/firefox/firefox
।
আপনি এখন শান্তিতে বিশ্রাম নিতে পারেন :)
এমন কোনও একক ডিরেক্টরি নেই যা প্রোগ্রাম ফাইল ফোল্ডারের যথাযথ সমতুল্য । লিনাক্স যেভাবে জিনিসগুলি সাজায় তা উইন্ডোজের চেয়ে অনেক আলাদা।
উইন্ডোজগুলিতে, আমরা ইনস্টলিত প্রতিটি প্রোগ্রামের প্রোগ্রাম ফাইল ডিরেক্টরিটির নিজস্ব ডিরেক্টরি হয়। সেই ডিরেক্টরিতে, আরও সাব-ডিরেক্টরিগুলি বিভিন্ন ধরণের ফাইলের জন্য তৈরি করা হয়। সাব-ডিরেক্টরিগুলির জন্য কোনও স্থির কাঠামো নেই। প্রোগ্রামগুলি নিজেরাই সিদ্ধান্ত নেয় যে তারা প্রতিটি ডিরেক্টরিকে কী কল করতে চায় এবং কোথায় তারা কী রাখতে চায়।
তবে লিনাক্সে যখন কোনও প্রোগ্রাম ইনস্টল হয়, বিভিন্ন ধরণের ফাইলগুলি বিভিন্ন স্থানে অনুলিপি করা হয়। এক্সিকিউটেবলগুলি / ইউএসআর / বিন , লাইব্রেরি ফাইলগুলিকে / ইউএসআর / লিবিতে অনুলিপি করা হয় , এক বা একাধিক / ইউএসআর / ম্যান , / ইউএসআর / তথ্য এবং / ইউএসআর / নথিতে নথিভুক্ত করা হয় । যদি কনফিগারেশন ফাইল থাকে তবে সেগুলি সাধারণত ব্যবহারকারীর হোম ডিরেক্টরিতে বা / ইত্যাদিতে থাকে ।
C:\Program Files
ফোল্ডারের হবে /usr/bin
উবুন্টু হবে। /bin
আরও ভালো লাগে C:\windows
।
ফাইল সিস্টেমের স্তরক্রমের ম্যানুয়াল পৃষ্ঠা থেকে :
/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.
/usr/bin
This is the primary directory for executable programs. Most
programs executed by normal users which are not needed for
booting or for repairing the system and which are not installed
locally should be placed in this directory.
উইন্ডোগুলির চেয়ে উবুন্টুর আলাদা কাঠামো রয়েছে। উবুন্টু প্রায় সব অ্যাপ্লিকেশনকে একটি ডিরেক্টরিতে রাখে, বলুন /usr/bin
। উইন্ডোজ এতে একটি নতুন ফোল্ডার তৈরি করবে, বলবে Mozilla Firefox
এবং এতে কনফিগারেশন, এক্সিকিউটেবল, ডিএলএল, চিত্রগুলি ইত্যাদি যুক্ত করবে। উবুন্টু এগুলিকে আলাদা করে দেয়, এক্সিকিউটেবলগুলি ভিতরে যায় /usr/bin
, সিস্টেম-ব্যাপী কনফিগারেশন ইন /etc
, ভাগ করা বস্তুগুলিতে /usr/lib
, চিত্রগুলিতে /usr/share
, ...
লিনাক্স 'প্রোগ্রাম ফাইলগুলি' পুরো শ্রেণিবিন্যাসে রয়েছে। এটা হতে পারে /usr/bin
, /bin
, /opt/...
, অথবা অন্য ডিরেক্টরিগুলি থেকে।
আমি মনে করি আপনি আপনার অ্যাপ্লিকেশন সম্পর্কিত কিছু ফাইল সন্ধান করতে চলেছেন। তারপরে, প্রোগ্রাম ইনস্টলে ইনস্টল হওয়া ফাইলগুলি কীভাবে দেখতে হবে সে সম্পর্কে আমার ধারণা আছে।
synaptic
জারি sudo apt-get install synaptic
করে ইনস্টল করুন ।Properties
।Installed File
ট্যাবে সরান । ফলাফল যেমন হয় dpkg -L package_name
।কারণ লিনাক্স ইনস্টল করা ফাইলকে তাদের ধরণের ভিত্তিতে আলাদাভাবে ডিরেক্টরিতে স্থানান্তরিত করে।
/usr/bin
বা /bin
।/usr/share/icons
বা যায় ~/.local/share/icons
।/opt
।/usr/share/applications
বা চালু থাকে~/.local/share/applications
/usr/share/doc
/usr/lib
এবং অন্যান্য অনেক ডিরেক্টরি। (সিএমআইআইডাব্লু, সংশোধন গ্রহণ করছে)
এই উত্তরে আমি যখন ইউনিক্স বলি তখন আমি ইউনিক্সের পাশাপাশি ইউনিক্সের মতো অপারেটিং সিস্টেমকেও বোঝায়।
উবুন্টুর কাছে প্রতিটি প্রোগ্রামের জন্য সমস্ত ডেটা সম্বলিত একটি প্রোগ্রাম ফোল্ডার নেই। ইউনিক্স এবং ইউনিক্স-মতো অপারেটিং সিস্টেমে, সমস্ত কিছুই একটি ফাইল, এমনকি টার্মিনাল কমান্ড। তারা পাশাপাশি ফাইল। ইউনিক্স যেভাবে প্রোগ্রামগুলি পরিচালনা করে তা একই সাথে বেশ বিশৃঙ্খল এবং সংগঠিত হতে পারে।
প্রোগ্রামগুলির আইকনগুলি / usr / শেয়ার / আইকন / * এ সংরক্ষণ করা হয়, প্রোগ্রাম এক্সিকিউটেবলগুলি সাধারণত / usr / bin, / bin, এবং বিন ডিরেক্টরি সহ অন্যান্য স্থানে সংরক্ষণ করা হয় (বিন বাইনারির জন্য obv সংক্ষিপ্ত)। প্রোগ্রামগুলি নির্ভর করে এমন লাইব্রেরিগুলিতে / লাইব রয়েছে।
সুতরাং আপনি কোনও প্রোগ্রামের জন্য সমস্ত ডেটা সম্বলিত ডিরেক্টরি নয়, তবে প্রোগ্রামটির ডেটা ছড়িয়ে দিয়েছেন। প্রথমে এটি খুব অগোছালো মনে হলেও এটি লাইব্রেরি এবং আইকনগুলির মতো মানক জিনিসগুলি ভাগ করার অনুমতি দেয়।
প্রতিটি ফাইলের অনুমতিগুলির জন্য ধন্যবাদ, সত্যই সত্যই প্রতিটি ফাইল ফাইল হওয়ার ধারণাটি খুব উজ্জ্বল। এটি অন্যান্য অপারেটিং সিস্টেমের তুলনায় ইউনিক্স অনেক বেশি সুরক্ষিত করে।
লিনাক্স এবং উইন্ডোজ প্রোগ্রামগুলি যেভাবে ইনস্টল করা হয়েছে তা বেশ আলাদা।
উইন্ডোজের সাধারণ প্যাটার্নটি একটি প্রোগ্রামের জন্য; বা একগুচ্ছ প্রোগ্রাম, একজন বিক্রেতা থেকে সি এর নিজস্ব উপ ডিরেক্টরিতে যান: \ প্রোগ্রামগুলি \ বিক্রেতা বা অনুরূপ কিছু similar
লিনাক্সে, আপনার ফাইলগুলি তাদের ফাংশনের উপর নির্ভর করে নির্দিষ্ট সাব ডিরেক্টরিগুলির মধ্যে বিভক্ত হয়। এখানে লাইব্রেরি, আইকন, ম্যান পৃষ্ঠা, লগ ফাইল, কনফিগারেশন ইত্যাদির জন্য ডিরেক্টরি রয়েছে। আপনি সেগুলির কয়েকটি ব্যবহার করতে পারেন তবে সিস্টেমটি সেগুলি সব পরিচালনা করবে। এগুলি একত্রে মিলিত হয় না, তবে অন্যান্য প্রোগ্রামগুলির অনুরূপ ফাইলগুলির সাথে একত্রে থাকে।
সুতরাং নিয়মিত লিনাক্স প্রয়োগের ক্ষেত্রে উইন্ডোজ ডিরেক্টরি কাঠামোর সমতুল্য কোনও মিল নেই।