توی لینوکس برنامهها مثل ویندوز توی یک دیرکتوری خاص خوشون نصب نمیشن
مثلا اگر prefix به برنامه usr/ باشه (مثل پکیجهای deb. و rpm. و ...)
فایلهای اجراییشون توی /usr/bin/
فایلهای اجرایی مدریتی (که نیاز به اجرا توسط root رو دارند) در /usr/sbin/
فایلهای اجرایی بازیها توی /usr/games/
فایلهای کتابخانهای (مثل فایلهای dll. در ویندوز) توی /usr/lib/
فایلهای data و doc و man و دیگر فایلهای مشترک توی /usr/share/
فایلهای include (مخصوص پکیجهای برنامه نویسی) توی /usr/include/
ذخیره میشن
فایلهای config که برای تمام افراد هستند توی /etc/ و مخصوص یک کاربر توی دیرکتوری Home خودش ذخیره میشه
فایلهایی که از source کمپایل میشن prefix پیشفرضشون /usr/local/ هست برای اینکه یه prefix دیگه بهشون بده به configure script پارامتر prefix رو میدیم (جای PREFIX دیرکتوری دلخواهتون رو بزارین)
./configure --prefix=PREFIX
make
make install
این طور دستهبندی کردن باعث نظم میشه مثلا اگر بخوایم یه فایل رو که اسمش رو میدونیم ولی جاش رو نمیدونیم اجرا کنیم کافی توی دو سه تا دیرکتوری جستوجو کنیم در حالی که این امکان اصلا توی ویندوز نیست (چون باید کل هارد رو بگردیم
)
ولی اگر بخوایم توی یه جایی غیر از /usr/ و /usr/local/ نصب کنیم باید متغییرهایی مثل PATH و MANPATH و LD_LIBRARY_PATH و ... تغییر بدیم تا سیستم توی اون دیرکتوریها هم جستجو کنه