W systemie Windows większość aplikacji i danych aplikacji jest przechowywana w specjalnym katalogu znanym jako C:\Program Files
(i czasami C:\Program Files (x86)
). Czym jest Ubuntu / Linux równoważny tej ścieżce? Czy jest jeszcze jeden?
filesystem
Kaz Wolfe
źródło
źródło
Odpowiedzi:
/bin
i/usr/bin
tam są skrypty, które uruchamiają programy. Prawdopodobnie jest to bezpośredni odpowiednik „Program Files”/usr/share
( patrz Standard hierarchii systemu plików ). Ten katalog zawiera różne pliki pomocnicze dla większości programów.Prawdopodobnie nie ma bezpośredniego odpowiednika, ponieważ, na przykład, pliki bibliotek są udostępniane w całym systemie (in
/lib
), a opcje są albo określone przez użytkownika (w katalogu osobistym użytkownika), albo znajdują się w uniwersalnej lokalizacji/etc
.Więc zainstalowanie programu za pomocą pliku deb, repozytorium lub kompilacji prawdopodobnie umieści pliki we wszystkich tych lokalizacjach.
[EDYCJA] I, jak zauważają inni, jest też
/sbin
i/usr/sbin
. Plus/usr/local/bin
,/opt/bin
a nawet/usr/games/
. Zdecydowanie nie jest to bezpośrednie porównaniec:\program files
!źródło
/opt
? Widziałem wcześniej, że posiada wiele programów (zwykle zamkniętych lub opartych na aplikacjach) w podobny sposób jakProgram Files
./opt
jest katalog./usr/local/bin
jest półczęstą lokalizacją oprogramowania, które może nie być powszechnie używane przez użytkownika / firmę.Późna odpowiedź - Stworzyłem mapę drogową dla początkujących. Jeśli szukają pliku, ale nie wiedzą, gdzie go szukać, mogą z grubsza nawigować po mapie. Możesz pobrać plik PNG w wysokiej rozdzielczości tutaj . Powiązany post można znaleźć tutaj . Będę aktualizował zarówno plik, jak i post, gdy tylko pozwoli na to czas, uwzględniając przydatne komentarze.
źródło
EDYCJA: Zobacz także odpowiedź d4nyll poniżej, aby uzyskać doskonałą i przyjazną dla początkujących mapę!
Przeczytaj moją odpowiedź poniżej, aby uzyskać więcej informacji o tym
PATH
, czym jest zmienna środowiskowa, jakie.desktop
są pliki i jak znaleźć określony program za pomocą różnych poleceń linuksowych.Oryginalna odpowiedź:
Nie ma łatwej odpowiedzi.
/bin
,/usr/bin
i/usr/share
Jak wspomniano w innych odpowiedziach, większość plików wykonywalnych można znaleźć pod
/bin
lub/usr/bin
, a pliki pomocy są zainstalowane w/usr/share
./usr/local
i/opt
Istnieje jednak więcej katalogów, w których Ubuntu instaluje aplikacje.
PATH
Zmienna, która określa gdzie szukać wprowadzonego polecenia, może dać wskazówkę, kopalnia wygląda (echo $PATH
w terminalu):Jak widać, niektóre programy są zainstalowane
/usr/local
i mają własny katalog orazbin
. Innym miejscem, w którym zainstalowano wiele programów, jest/opt
. Właściwości tych lokalizacji są wyjaśnione przez Standard hierarchii systemu plików , który jest bardzo dobrym odczytem. Niestety różnica między/opt
i/usr/local
nie jest bardzo dobrze wyjaśniona, ktoś na wymianie stosów unixa miał bardziej skomplikowane wyjaśnienie:/usr/local
to miejsce do instalowania plików zbudowanych przez administratora, zwykle za pomocą polecenia make. Chodzi o to, aby uniknąć kolizji z plikami wchodzącymi w skład systemów operacyjnych, które w przeciwnym razie zostałyby zastąpione lub zastąpiłyby lokalne. na przykład./usr/bin/foo
jest częścią systemu operacyjnego, podczas gdy/usr/local/bin/foo
jest lokalną alternatywą,/opt
to katalog, w którym każdy z osobnych podkatalogów ma instalować rozpakowane pakiety. Są już zbudowane całe pakiety dostarczone przez niezależnego zewnętrznego dystrybutora oprogramowania. Na przykładsomeapp
byłoby zainstalowane w/opt/someapp
, jedno z jego poleceń byłoby w/opt/someapp/bin/foo
[a następnie zwykle w jednym zbin
katalogów w znajduje się łącze symbolicznePATH
lub program jest wywoływany z pliku na pulpicie (patrz poniżej)].Znajdowanie określonego programu lub polecenia
.desktop
aktaAby dowiedzieć się, gdzie jest zainstalowany określony program, możesz wykonać kilka kroków. Najpierw musisz zlokalizować jego
.desktop
plik. Pliki na pulpicie są podobne do skrótów w systemie Windows, a dla aplikacji systemowych się w nich znajdują/usr/share/applications
. Pliki pulpitu dla aplikacji, które są dostępne tylko dla bieżącego użytkownika, znajdują się w~/.local/share/applications
. Weźmy na przykład Google Chrome, który ma plik na pulpicie/usr/share/applications/google-chrome.desktop
i poszukaj linii, która zaczyna się odExec=
, to określa, jak uruchomić Google Chrome. To mówi:Więc wiesz, że Google Chrome już działa
/opt
.Teraz dla Mozilla Firefox, która znajduje się w
/usr/share/applications/firefox.desktop
. To po prostu mówiNa początku nie wydaje się to zbytnio pomocne, ale potem zdajesz sobie sprawę, że
firefox
musi to być katalog, który znajduje się wPATH
zmiennej (najprawdopodobniej abin
), i możemy to sprawdzić (patrz poniżej).Wyszukiwanie poleceń
Aby wyszukać polecenia można użyć jednego lub więcej z następujących czynności:
type
,which
iwhereis
(podaję link do ich stron podręcznika online).typ : opisuje polecenie i wskazuje, w jaki sposób byłby interpretowany, gdyby był użyty jako nazwa polecenia. Możliwe typy polecenia to:
(sam typ jest wbudowaną powłoką, spróbuj z
type type
: P)Wykonanie
type firefox
daje nami to chcieliśmy wiedzieć
Jeśli polecenie jest plikiem (który sprawdziłeś
type
), możesz także użyć:który : pokazuje pełną ścieżkę polecenia,
Wykonanie
which firefox
daje namwhereis : zlokalizuj pliki stron binarnych, źródłowych i stron podręcznika dla polecenia.
Wykonanie
whereis firefox
daje namPremia
Możesz sprawdzić
/usr/bin/firefox
dokładniej,ls -l /usr/bin/firefox
co daje:Wydaje się, że
/usr/bin/firefox
jest to „tylko” symboliczny link do skryptu/usr/lib/firefox/firefox.sh
. Jeśli przejrzysz skrypt, odkryjesz, że skrypt go wywołuje/usr/lib/firefox/firefox
.Możesz teraz odpoczywać w pokoju :)
źródło
Nie ma jednego katalogu, który byłby dokładnym odpowiednikiem folderu Program Files . Sposób, w jaki Linux porządkuje rzeczy, jest zupełnie inny niż Windows.
W systemie Windows każdy program, który instalujemy, otrzymuje własny katalog w katalogu Program Files. W tym katalogu tworzone są kolejne podkatalogi dla różnego rodzaju plików. Nie ma ustalonej struktury podkatalogów. Programy same decydują, jak chcą nazwać każdy katalog i gdzie chcą je umieścić.
Ale w systemie Linux, gdy program jest zainstalowany, różnego rodzaju pliki są kopiowane do różnych lokalizacji. Pliki wykonywalne są kopiowane do / usr / bin , pliki bibliotek do / usr / lib , dokumentacja do jednego lub więcej z / usr / man , / usr / info i / usr / doc . Jeśli istnieją pliki konfiguracyjne, są one zazwyczaj w katalogu domowym użytkownika lub w / etc .
źródło
C:\Program Files
Folder będzie/usr/bin
w Ubuntu./bin
wygląda bardziej jakC:\windows
.Ze strony podręcznika hierarchii systemu plików :
Ubuntu ma inną strukturę niż Windows. Powiedzmy, że Ubuntu umieszcza prawie wszystkie aplikacje w jednym katalogu
/usr/bin
. Windows utworzy, powiedzmyMozilla Firefox
, nowy folder i doda do niego konfigurację, pliki wykonywalne, biblioteki DLL, obrazy itp. Ubuntu dzieli je, włączają się pliki wykonywalne/usr/bin
, konfiguracja w/etc
całym systemie , współdzielone obiekty/usr/lib
, obrazy w/usr/share
...źródło
„Pliki programów” systemu Linux znajdują się w całej hierarchii. Może to być na
/usr/bin
,/bin
,/opt/...
lub w kolejnych katalogach.Myślę, że znajdziesz jakiś plik związany z twoją aplikacją. Następnie mam pomysł, jak wyglądać pliki instalowane podczas instalacji programu.
synaptic
, wystawiającsudo apt-get install synaptic
na terminal.Properties
.Installed File
zakładki. Wynik jest taki sam jakdpkg -L package_name
.Jest tak, ponieważ linux przenosi zainstalowany plik do katalogów osobno w zależności od ich typu.
/usr/bin
lub/bin
./usr/share/icons
lub włącza się~/.local/share/icons
lokalnie./opt
./usr/share/applications
lub włączony~/.local/share/applications
/usr/share/doc
/usr/lib
I wiele innych katalogów. (CMIIW, akceptacja korekty)
źródło
W tej odpowiedzi, kiedy mówię o Uniksie, mam na myśli Unix oraz systemy operacyjne podobne do Uniksa.
Ubuntu tak naprawdę nie ma folderu programów zawierającego wszystkie dane dla każdego programu. W systemach operacyjnych Unix i podobnych do Unixa WSZYSTKO to plik, nawet polecenia terminalu. To także pliki. Sposób, w jaki Unix obsługuje programy, może być dość chaotyczny i zorganizowany w tym samym czasie.
Ikony programów są przechowywane w / usr / share / icons / *, pliki wykonywalne programów są zwykle przechowywane w / usr / bin, / bin i innych miejscach z katalogami bin (bin jest obv skrót od binarnego). Biblioteki, od których zależą programy, znajdują się w / lib.
W rezultacie nie ma katalogu zawierającego wszystkie dane dla jednego programu, ale dane dla programu są rozłożone. Choć na początku wydaje się to bardzo niezorganizowane, pozwala na udostępnianie standardowych rzeczy, takich jak biblioteki i ikony.
Dzięki uprawnieniom do każdego pliku, pomysł, aby wszystko było plikiem, jest bardzo błyskotliwy, szczerze mówiąc. To sprawia, że UNIX DUŻO jest bezpieczniejszy niż inne systemy operacyjne.
źródło
Sposób instalacji programów Linux i Windows jest zupełnie inny.
Częstym wzorem w systemie Windows jest program; lub kilka programów, od jednego dostawcy przejdź do własnego podkatalogu w C: \ Programs \ vendor lub coś podobnego.
W systemie Linux pliki są dzielone między określone podkatalogi w zależności od ich funkcji. Istnieją katalogi bibliotek, ikon, stron podręcznika, plików dziennika, konfiguracji i tak dalej. Możesz użyć niektórych z nich, ale system zarządza nimi wszystkimi. Nie są ze sobą połączone, ale istnieją razem z podobnymi plikami z innych programów.
Tak więc nie ma rzeczywistego odpowiednika tej struktury katalogów Windows w zwykłej implementacji Linuksa.
źródło
Jeśli instalujesz własne programy, polecam 1 folder:
źródło
Zajrzyj do
/bin
,/usr/bin
i cokolwiek innego, co mówibin
.źródło