Unter Windows werden die meisten Anwendungen und Anwendungsdaten in einem speziellen Verzeichnis gespeichert, das als C:\Program Files
(und gelegentlich C:\Program Files (x86)
) bezeichnet wird. Was ist das Ubuntu / Linux-Äquivalent zu diesem Pfad? Gibt es überhaupt einen?
filesystem
Kaz Wolfe
quelle
quelle
Antworten:
/bin
und/usr/bin
hier befinden sich die Skripte, die die Programme starten. Das direkte Äquivalent zu "Programmdateien" ist wahrscheinlich/usr/share
( siehe Dateisystem-Hierarchie-Standard ). Dieses Verzeichnis enthält die verschiedenen Unterstützungsdateien für die meisten Programme.Es gibt jedoch wahrscheinlich keine direkte Entsprechung, da beispielsweise Bibliotheksdateien auf dem gesamten System (in
/lib
) gemeinsam genutzt werden und die Optionen entweder vom Benutzer angegeben (im Basisverzeichnis des Benutzers) oder universell in gespeichert sind/etc
.Wenn Sie also ein Programm über eine Deb-Datei, ein Repository oder einen Build installieren, werden wahrscheinlich Dateien an all diesen Speicherorten abgelegt.
[EDIT] Und wie andere bemerken, gibt es auch
/sbin
und/usr/sbin
. Plus/usr/local/bin
,/opt/bin
und sogar/usr/games/
. Also definitiv kein direkter Vergleich dazuc:\program files
!quelle
/opt
? Ich habe gesehen, dass viele (normalerweise Closed-Source- oder App-basierte) Programme in ähnlicher Weise wie zuvor enthalten sindProgram Files
./opt
für Verzeichnis ist./usr/local/bin
ist ein semi-allgemeiner Speicherort für Software, die von einem Benutzer / Unternehmen möglicherweise nicht allgemein verwendet wird.Späte Antwort - Ich habe eine Roadmap für Anfänger erstellt. Wenn sie nach einer Datei suchen, aber nicht wissen, wo sie suchen sollen, können sie mithilfe der Karte grob navigieren. Sie können eine hallo-res PNG herunterladen hier . Den dazugehörigen Beitrag finden Sie hier . Ich werde weiterhin sowohl die Datei als auch den Beitrag aktualisieren, wenn es die Zeit erlaubt, und dabei hilfreiche Kommentare einfügen.
quelle
BEARBEITEN : Siehe auch die Antwort von d4nyll für eine ausgezeichnete und anfängerfreundliche Karte!
Lesen Sie meine Antwort weiter unten, um mehr darüber zu erfahren, was die
PATH
Umgebungsvariable ist, welche.desktop
Dateien es gibt und wie Sie mit verschiedenen Linux-Befehlen ein bestimmtes Programm finden.Ursprüngliche Antwort:
Es gibt keine einfache Antwort.
/bin
,/usr/bin
Und/usr/share
Wie in den anderen Antworten erwähnt, finden Sie die meisten ausführbaren Dateien unter
/bin
oder/usr/bin
, und die Unterstützungsdateien werden unter installiert/usr/share
./usr/local
und/opt
Es gibt jedoch mehr Verzeichnisse, in denen Ubuntu Anwendungen installiert. Die
PATH
Variable, die festlegt, wo nach einem eingegebenen Befehl gesucht werden soll, könnte Ihnen einen Hinweis geben, meiner sieht wie folgt aus (echo $PATH
in einem Terminal):Wie Sie sehen, ist einige Software in installiert
/usr/local
und hat ein eigenes Verzeichnis undbin
. Ein weiterer Ort, an dem viele Programme installiert sind, ist/opt
. Die Eigenschaften dieser Speicherorte werden durch den Dateisystem-Hierarchie-Standard erläutert , der sehr gut gelesen werden kann. Leider ist der Unterschied zwischen/opt
und/usr/local
nicht sehr gut erklärt, jemand auf dem Unix-Stack-Exchange hatte eine ausführlichere Erklärung:/usr/local
Hier können vom Administrator erstellte Dateien installiert werden, in der Regel mithilfe des Befehls make. Die Idee ist, Konflikte mit Dateien zu vermeiden, die Teil des Betriebssystems sind und die anderenfalls entweder überschrieben oder die lokalen überschrieben würden. z.B./usr/bin/foo
ist Teil des Betriebssystems, während/usr/local/bin/foo
eine lokale Alternative ist,/opt
ist ein Verzeichnis zum Installieren von entbündelten Paketen, die sich jeweils in einem eigenen Unterverzeichnis befinden. Sie bestehen bereits aus kompletten Paketen, die von einem unabhängigen Softwarehändler bereitgestellt werden. Beispielsweisesomeapp
würde in installiert sein/opt/someapp
, einer seiner Befehle wäre in/opt/someapp/bin/foo
[und dann wird normalerweise eine symbolische Verknüpfung in einem derbin
Verzeichnisse in der vorgenommenPATH
, oder das Programm wird von einer Desktop-Datei aufgerufen (siehe unten)].Suchen eines bestimmten Programms oder Befehls
.desktop
DateienUm herauszufinden, wo ein bestimmtes Programm installiert ist, können Sie mehrere Schritte ausführen. Zuerst müssen Sie die
.desktop
Datei suchen. Desktop-Dateien ähneln Verknüpfungen in Windows und befinden sich in Systemanwendungen/usr/share/applications
. Die Desktop-Dateien für Anwendungen, die nur für den aktuellen Benutzer verfügbar sind, befinden sich in~/.local/share/applications
. Nehmen Sie zum Beispiel Google Chrome, das die Desktop-Datei enthält,/usr/share/applications/google-chrome.desktop
und suchen Sie nach der Zeile, die mit beginntExec=
. Dies bestimmt, wie Google Chrome gestartet wird. Es sagt:Sie wissen also, dass Google Chrome aktiviert ist
/opt
.Nun zu Mozilla Firefox in
/usr/share/applications/firefox.desktop
. Es sagt einfachZuerst scheint das nicht viel zu helfen, aber dann merkt man, dass
firefox
es sich in einem Verzeichnis befinden muss, das sich in derPATH
Variablen befindet (höchstwahrscheinlich abin
), und wir können es nachschlagen (siehe unten).Befehle nachschlagen
So schlagen Sie Befehle können Sie einen oder mehrere der folgenden verwenden:
type
,which
undwhereis
(ich habe einen Link zu ihrer manuellen Seiten online enthalten).Typ : Beschreibt einen Befehl und gibt an, wie er interpretiert wird, wenn er als Befehlsname verwendet wird. Mögliche Typen für einen Befehl sind:
(Typ selbst ist eine eingebaute Shell, probieren Sie es mit
type type
: P)Ausführen
type firefox
gibt unsDas wollten wir wissen
Wenn ein Befehl eine Datei ist (mit der Sie geprüft haben
type
), können Sie auch Folgendes verwenden:welche : zeigt den vollständigen Pfad des Befehls,
Ausführen
which firefox
gibt unswhereis : Suchen Sie die Binär-, Quell- und Handbuchdateien für einen Befehl.
Ausführen
whereis firefox
gibt unsBonus
Sie können
/usr/bin/firefox
näher mit inspizierenls -l /usr/bin/firefox
und dies gibt:Es scheint, dass dies
/usr/bin/firefox
"nur" eine symbolische Verknüpfung zum Skript ist/usr/lib/firefox/firefox.sh
. Wenn Sie das Skript überprüfen, stellen Sie fest, dass das Skript aufruft/usr/lib/firefox/firefox
.Sie können jetzt in Frieden ruhen :)
quelle
Es gibt kein einzelnes Verzeichnis, das genau dem Ordner " Programme " entspricht. Die Art und Weise, wie Linux die Dinge arrangiert, unterscheidet sich stark von Windows.
In Windows erhält jedes Programm, das wir installieren, ein eigenes Verzeichnis im Verzeichnis "Programme". In diesem Verzeichnis werden weitere Unterverzeichnisse für verschiedene Arten von Dateien erstellt. Es gibt keine feste Struktur für Unterverzeichnisse. Programme entscheiden für sich, wie sie jedes Verzeichnis aufrufen und wo sie was ablegen möchten.
Bei der Installation eines Programms unter Linux werden jedoch unterschiedliche Dateitypen an unterschiedliche Speicherorte kopiert. Ausführbare Dateien werden nach / usr / bin kopiert , Bibliotheksdateien nach / usr / lib , Dokumentationen nach / usr / man , / usr / info und / usr / doc . Wenn Konfigurationsdateien sind, sind sie in der Regel in das Home - Verzeichnis des Benutzers oder in / etc .
quelle
Der
C:\Program Files
Ordner wäre/usr/bin
in Ubuntu./bin
sieht eher so ausC:\windows
.Von der Handbuchseite der Dateisystemhierarchie :
Ubuntu hat eine andere Struktur als Windows. Ubuntu legt fast alle Anwendungen in einem Verzeichnis ab
/usr/bin
. Windows erstellt beispielsweise einen neuen OrdnerMozilla Firefox
und fügt darin Konfigurationen, ausführbare Dateien, DLLs, Images usw. hinzu. Ubuntu teilt sie auf, ausführbare Dateien gehen ein/usr/bin
, systemweite Konfiguration in/etc
, gemeinsame Objekte in/usr/lib
, Bilder in/usr/share
, ...quelle
Linux-Programmdateien befinden sich in der gesamten Hierarchie. Es könnte auf sein
/usr/bin
,/bin
,/opt/...
, oder in anderen Verzeichnissen.Ich glaube, Sie werden eine Datei finden, die mit Ihrer Bewerbung zusammenhängt. Dann habe ich eine Idee, wie Dateien aussehen, die bei der Programminstallation installiert werden.
synaptic
durch Ausgabesudo apt-get install synaptic
am Terminal.Properties
.Installed File
Tab wechseln. Das Ergebnis ist dasselbe wiedpkg -L package_name
.Dies liegt daran, dass Linux die installierte Datei je nach Typ in separate Verzeichnisse verschiebt.
/usr/bin
oder/bin
./usr/share/icons
oder an~/.local/share/icons
für lokal./opt
./usr/share/applications
oder an~/.local/share/applications
/usr/share/doc
/usr/lib
Und viele andere Verzeichnisse. (CMIIW, Korrektur wird akzeptiert)
quelle
In dieser Antwort meine ich, wenn ich Unix sage, sowohl Unix als auch Unix-ähnliche Betriebssysteme.
Ubuntu hat nicht wirklich einen Programmordner, der alle Daten für jedes Programm enthält. In Unix- und Unix-ähnlichen Betriebssystemen ist ALLES eine Datei, auch die Terminalbefehle. Das sind auch Dateien. Die Art und Weise, wie Unix mit Programmen umgeht, kann ziemlich chaotisch und gleichzeitig organisiert sein.
Symbole für Programme werden in / usr / share / icons / * gespeichert, ausführbare Programme werden normalerweise in / usr / bin, / bin und an anderen Stellen mit bin-Verzeichnissen gespeichert (bin ist die Abkürzung für binary). Bibliotheken, von denen Programme abhängig sind, befinden sich in / lib.
Sie haben also nicht ein Verzeichnis, das alle Daten für ein Programm enthält, sondern die Daten für das Programm verteilt. Dies scheint zunächst sehr unorganisiert zu sein, ermöglicht jedoch die gemeinsame Nutzung von Standardelementen wie Bibliotheken und Symbolen.
Dank der Berechtigungen für jede Datei ist die Vorstellung, dass alles eine Datei ist, sehr brillant, um ehrlich zu sein. Dies macht Unix VIEL sicherer als andere Betriebssysteme.
quelle
Die Art und Weise, wie Linux- und Windows-Programme installiert werden, ist sehr unterschiedlich.
Das in Windows gebräuchliche Muster gilt für ein Programm. oder eine Reihe von Programmen eines Herstellers in ein eigenes Unterverzeichnis in C: \ programs \ vendor o.ä.
Unter Linux werden Ihre Dateien je nach Funktion auf bestimmte Unterverzeichnisse aufgeteilt. Es gibt Verzeichnisse für Bibliotheken, Symbole, Manpages, Protokolldateien, Konfiguration usw. Sie können einige davon verwenden, aber das System verwaltet alle. Sie sind nicht miteinander gekoppelt, sondern existieren zusammen mit ähnlichen Dateien aus anderen Programmen.
Es gibt also kein echtes Äquivalent zu dieser Windows-Verzeichnisstruktur in einer regulären Linux-Implementierung.
quelle
Wenn Sie eigene Programme installieren, empfehle ich 1 Ordner:
quelle
Schauen Sie in
/bin
,/usr/bin
und alles andere , was sagtbin
.quelle