Windows altında, çoğu uygulama ve uygulama verisi C:\Program Files
(ve ara sıra C:\Program Files (x86)
) olarak bilinen özel bir dizinde saklanır . Ubuntu / Linux bu yola eşdeğer nedir? Bir tane var mı?
Windows altında, çoğu uygulama ve uygulama verisi C:\Program Files
(ve ara sıra C:\Program Files (x86)
) olarak bilinen özel bir dizinde saklanır . Ubuntu / Linux bu yola eşdeğer nedir? Bir tane var mı?
Yanıtlar:
/bin
ve /usr/bin
betiklerin programları başlatan yerdir. "Program Files" ın doğrudan eşdeğeri de muhtemelen /usr/share
( bkz. Dosya Sistemi Hiyerarşisi Standardı ). Bu dizinde çoğu program için çeşitli destek dosyaları bulunur.
Bununla birlikte, muhtemelen doğrudan bir eşdeğeri yoktur, çünkü, örneğin, kütüphane dosyaları sistem (in /lib
) boyunca paylaşılır ve seçenekler ya kullanıcı tarafından belirlenir (kullanıcının giriş dizininde) ya da evrensel olarak bulunur /etc
.
Bu nedenle bir programın bir deb dosyası, havuz veya derleme aracılığıyla kurulması, muhtemelen bu konumların tümüne dosya yerleştirecektir.
[EDIT] Diğerlerinin de belirttiği gibi, /sbin
ve de var /usr/sbin
. Artı /usr/local/bin
, /opt/bin
hatta /usr/games/
. Bu yüzden kesinlikle doğrudan bir karşılaştırma c:\program files
!
/opt
? Daha önce benzer şekilde birçok (genellikle kapalı kaynaklı veya uygulama tabanlı) program bulunduğunu gördüm Program Files
.
/usr/local/bin
bir kullanıcı / şirket tarafından yaygın olarak kullanılamayan yazılımlar için yarı yaygın bir konumdur.
Geç Cevap - Yeni başlayanların izlemesi için bir yol haritası oluşturdum. Bir dosya arıyorlar ancak nereye bakacaklarını bilmiyorlarsa, kabaca gezinmek için haritayı kullanabilirler. Bir res res PNG'yi buradan indirebilirsiniz . İlgili yazıyı burada bulabilirsiniz . Yararlı yorumları içerdiğinde, zaman izin verdiği zaman hem dosyayı hem de postayı güncellemeye devam edeceğim.
PATH
Ortam değişkeninin ne olduğu, .desktop
dosyaların ne olduğu ve çeşitli linux komutlarını kullanarak belirli bir programın nasıl bulunacağı hakkında daha fazla bilgi için aşağıdaki cevabımı okuyun .
Orijinal cevap:
/bin
, /usr/bin
Ve/usr/share
Diğer cevaplarda da belirtildiği gibi, çoğu altında /bin
veya altında yürütülebilir dosyaları bulabilirsiniz /usr/bin
ve destek dosyaları yüklenir /usr/share
.
/usr/local
ve /opt
Ancak Ubuntu'nun uygulamaları yüklediği daha fazla dizin var. PATH
Nerede girilen komutu aramak için belirler değişken, bir ipucu verebilir, maden (benzeyen echo $PATH
bir terminal):
/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
Gördüğünüz gibi bazı yazılımlar yüklü /usr/local
ve kendi dizinleri var ve bin
. Birçok programın kurulu olduğu başka bir yer var /opt
. Bu konumların özellikleri, çok iyi bir okuma olan Dosya Sistemi Hiyerarşisi Standardı tarafından açıklanmaktadır . Ne yazık ki, arasındaki /opt
ve /usr/local
çok iyi açıklanmayan arasındaki fark , unix stackexchange'teki birisinin daha ayrıntılı bir açıklaması oldu:
/usr/local
genellikle make komutunu kullanarak yönetici tarafından oluşturulan dosyaları kurabileceğiniz bir yerdir. Fikir, işletim sistemlerinin bir parçası olan ya da üzerine yazılacak ya da üzerine yazılacak yerel sistemlerin üzerine yazacak dosyaların çakışmasını önlemektir. Örneğin. yerel bir alternatif /usr/bin/foo
iken işletim sisteminin bir parçası/usr/local/bin/foo
/opt
her biri kendi alt dizininde birleştirilmemiş paketleri yüklemek için kullanılan bir dizindir. Bunlar zaten bağımsız bir üçüncü taraf yazılım distribütörü tarafından sağlanan bütün paketleri inşa ediyorlar. Örneğin someapp
, içine yüklenecek /opt/someapp
olan komutun bir tanesi /opt/someapp/bin/foo
[ve ardından genellikle bin
dizin içindeki dizinlerden birinde sembolik bir bağlantı kurulur PATH
ya da program bir masaüstü dosyasından çağrılır (aşağıya bakınız)]..desktop
DosyalarBelirli bir programın nereye yüklendiğini bulmak için birkaç adım yapabilirsiniz. İlk önce .desktop
dosyasını bulmanız gerekir . Masaüstü dosyaları, Windows'taki kısayollara ve bulundukları sistem uygulamalarına benzerdir /usr/share/applications
. Geçerli kullanıcı için kullanılabilir uygulamalar için masaüstü dosyaları içindedir ~/.local/share/applications
. Örneğin, masaüstü dosyasına sahip olan Google Chrome'u kullanın ve başlangıçtaki /usr/share/applications/google-chrome.desktop
satırı arayın. Exec=
Bu, Google Chrome'un nasıl başlatılacağını belirler. Diyor ki:
Exec=/opt/google/chrome/google-chrome
Yani Google Chrome'un içeride olduğunu biliyorsunuz /opt
.
Şimdi bulunan Mozilla Firefox için /usr/share/applications/firefox.desktop
. Sadece diyor ki
Exec=firefox %u
İlk başta bu kadar yardımcı görünmüyor, ancak daha sonra değişkende (muhtemelen a ) değişken firefox
olan bir dizinde olması gerektiğini fark edersiniz ve biz de onu görebiliriz (aşağıya bakınız).PATH
bin
Komutları aramak için aşağıdakilerden birini veya birkaçını kullanabilirsiniz: type
, which
ve whereis
(ı çevrimiçi kendi el sayfalara bir bağlantı yer verdik).
type : bir komutu açıklar ve bir komut adı olarak kullanılırsa nasıl yorumlanacağını gösterir. Bir komut için olası türler:
(type kendisi bir kabuk yerleşiktir, şunu deneyin type type
: P)
Yürütmek type firefox
bize verir
firefox is /usr/bin/firefox
bu bilmek istediğimiz şey
Bir komut (kontrol ettiğiniz) bir dosyaysa, type
aşağıdakileri de kullanabilirsiniz:
hangi : komutun tam yolunu gösterir,
Yürütmek which firefox
bize verir
/usr/bin/firefox
whereis : Bir komut için ikili, kaynak ve manuel sayfa dosyalarını bulun.
Yürütmek whereis firefox
bize verir
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
Bonus
İle /usr/bin/firefox
daha yakından incelemek ls -l /usr/bin/firefox
ve bu verir:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Görünüşe göre /usr/bin/firefox
senaryo için 'sadece' sembolik bir bağlantı var /usr/lib/firefox/firefox.sh
. Eğer betiği incelerseniz betiğin çağırdığını keşfedersiniz /usr/lib/firefox/firefox
.
Şimdi huzur içinde yatsın :)
Program Files klasörünün tam karşılığı olan tek bir dizin yoktur . Linux'un işleri düzenleme şekli Windows'dan çok farklı.
Pencerelerde, yüklediğimiz her program kendi Program dizininde kendi dizinine girer. Bu dizinde, farklı dosya türleri için daha fazla alt dizin oluşturulur. Alt dizinler için sabit bir yapı yoktur. Programlar kendileri için her dizine neyi çağırmak istediklerini ve neyi nereye koymak istediklerine karar verirler.
Ancak, bir program yüklendiğinde Linux'ta, farklı tür dosyalar farklı konumlara kopyalanır. Yürütülebilir dosyalar / usr / bin , kütüphane dosyalarına / usr / lib dizinine , / usr / man , / usr / info ve / usr / doc dizinlerinden birine veya daha fazlasına kopyalanır . Yapılandırma dosyaları varsa, bunlar genellikle kullanıcının giriş dizininde veya / etc içindedir .
C:\Program Files
Klasör olacaktır /usr/bin
Ubuntu. /bin
daha çok benziyor C:\windows
.
Gönderen dosya sistemi hiyerarşisi manuel sayfa :
/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.
Ubuntu, pencerelerden farklı bir yapıya sahiptir. Ubuntu hemen hemen tüm uygulamaları bir dizine yerleştirir /usr/bin
. Windows yeni bir klasör oluşturur, bunları söyler Mozilla Firefox
ve içine yapılandırma, çalıştırılabilir dosyalar, DLL'ler, görüntüler vb. Ekler. Ubuntu onları böler, çalıştırılabilir dosyalar /usr/bin
, sistem çapında konfigürasyon /etc
, paylaşılan nesneler /usr/lib
, görüntüler /usr/share
, ...
Linux 'Program Files' bütün hiyerarşide. Bu üzerinde olabilir /usr/bin
, /bin
, /opt/...
veya başka dizinlerde.
Başvurunuzla ilgili bir dosya bulacağınızı düşünüyorum. Ardından, program kurulumunda kurulu dosyaların nasıl görüneceğine dair bir fikrim var.
synaptic
yayınlayarak yükleyin sudo apt-get install synaptic
.Properties
.Installed File
Sekmeye taşı . Sonuç olarak aynı dpkg -L package_name
.Bunun nedeni linux'un kurulu dosyayı türüne göre ayrı ayrı dizinlere taşımasıdır.
/usr/bin
ya da gider /bin
./usr/share/icons
veya konumuna gider ~/.local/share/icons
./opt
./usr/share/applications
veya açık~/.local/share/applications
/usr/share/doc
/usr/lib
Ve diğer birçok dizin. (CMIIW, düzeltmeyi kabul etme)
Unix derken bu cevabı, Unix gibi işletim sistemleri gibi Unix demek.
Ubuntu'da her program için tüm verileri içeren bir programlar klasörü bulunmuyor. Unix ve Unix benzeri işletim sistemlerinde, HER ŞEY bir dosyadır, hatta terminal komutları bile. Onlar da dosya. Unix'in programları yönetme şekli aynı zamanda oldukça kaotik olabilir ve aynı zamanda organize edilebilir.
Programlar için simgeler / usr / share / icons / * dizininde, program çalıştırılabilir dosyaları genellikle / usr / bin, / bin dizinlerinde ve bin dizinli diğer yerlerde (binary ikili için kısadır) saklanır. Programların bağımlı olduğu kütüphaneler / lib.
Böylece, bir programın tüm verilerini içeren bir dizin değil, programın verileri dağılır. İlk başta bu çok dağınık görünmekle birlikte, kütüphaneler ve simgeler gibi standart şeylerin paylaşımına izin verir.
Her dosya için izinler sayesinde, her şeyin bir dosya olduğu fikri dürüst olmak gerekirse çok zekice. Unix MUCH'i diğer işletim sistemlerinden daha güvenli kılar.
Linux ve Windows programlarının yüklenme şekli oldukça farklı.
Windows'taki yaygın model bir program içindir; veya bir grup programdan C: \ program \ vendor içindeki bir alt dizine veya benzer bir şeye gidiniz.
Linux'ta, dosyalarınız işlevlerine bağlı olarak belirli alt dizinler arasında bölünür. Kütüphaneler, simgeler, kılavuz sayfaları, İşlem kaydı dosyaları, konfigürasyon vb. İçin dizinler vardır. Bazılarını kullanabilirsiniz, ancak sistem hepsini yönetir. Birlikte birleştirilmiş değiller, ancak diğer programlardaki benzer dosyalarla birlikte varlar.
Bu nedenle, düzenli bir Linux uygulamasında bu Windows dizin yapısına gerçek bir eşdeğer yoktur.