Wo ist die ".exe"?

Mitzekotze

Mitzekotze

little man
Hallo,

Die Überschrift zu diesem Thread mag zwar ein wenig komisch erscheinen aber als Linuxneuling welcher von Windows auf Linux umgestiegen ist, ist sie vielleicht gar nicht mal so unberechtigt... und zwar wollte ich fragen wo man unter Linux eigentlich die Dateien zum Starten der Programme findet. Unter Windows waren diese Dateien ja die ".exe" aber unter Linux? Wie heißen sie hier eigentlich und wo finde ich sie? Das ein Programm, anders als bei Windows, nicht zentral in einem Ordner mit all seinen Programm Zugehörigkeiten abgelegt ist ist mir mittlerweile klar doch bei der Suche von Programmen finde ich oft mehrere Dateien mit häufig dem selben Namen. Welche davon führen nun das Programm aus?

Ich benutze übrigens die Distribution Ubuntu mit dem Xfce Desktop.

Vielen Dank für eure Hilfe schon mal im voraus.
 
Starten kannst du alle Programme aus der Konsole mit ihrem Namen. Standard mässig sind die asführbaren Dateien unter /usr/bin.

Ubuntu mit XFCE ist übrigens Xubuntu ;)

Gruss Style
 
Hi,

generell finden sich die ausführbaren Dateien unter /usr/bin oder unter /bin ... da in den Umgebungsvariablen (kannst du anschauen, wenn du "set" in die Konsole eingibst) der richtige Pfad zu den ausführbaren Dateien eingetragen ist, brauchst du auf der Konsole nur den Programmnamen eintippen, egal, wo du dich befindest. Vervollständigen kannst du angefangenes Geschreibsel mit der <tab>-Taste. Bei mehreren Möglichkeiten zeigt er dir diese an. Ist auch immer eine gute Gedächtnisstütze :)
 
/bin
/usr/bin
/usr/local/bin
/usr/X11R6/bin
/usr/games
/usr/local/games
/sbin
/usr/sbin
/usr/local/sbin

Pfade nur Beispielhaft.

Zur Ermittlung auf denem System reicht:

Code:
$PATH
 
Zuletzt bearbeitet:
Ah jetzt ist mir das Dateisystem schon ein wenig klarer. Vielen Dank für die Hilfe.
 
Unter Linux ist es nicht wichtig, welche Endung eine Datei hat, oder wo sie liegt, um sie ausfuehren zu koennen. Auch sind die angegebenen Pfade Standardpfade, was nicht heisst, dass ein Programm, das woanders liegt, nicht trotzdem ausgefuehrt werden koennte. Selbst unter Windows gibt es ja das Konzept der PATH-Variable.

Vielmehr muss ein 'executable' -Flag gesetzt sein, damit ein Programm ausfuehrbar ist. Weiterhin muss der Kernel etwas damit anfangen koennen (wenn Du 'chmod +x meine_weihnachtswunschliste.doc' machst und ausfuehrst, spuckt Dein CD-Laufwerk leider nicht den neuesten Rechner von IBM aus), falls es eine binaer-Datei ist, oder es handelt sich um ein Skript und das Skript muss in der ersten Zeile angeben, von welchem Programm es interpretiert werden moechte (z.B. #!/bin/sh oder #!/usr/bin/perl oder #!/usr/bin/gnuplot).
 
Hey danke für die gute Erklärung ein paar fragen hätte ich aber dennoch.

1. Was ist eine "executable" -Flag?
2. Eine binäre Datei ist was ^^ ?

Also soweit ich das verstanden hab lauten die Antworten zu meinen Fragen:

1. So eine Art Verknüpfung?
2. Eine schon aus dem Sourcecode kompilierte Datei oder?
 
1. Ein Flag ist ja mehr ein Schalter. "Schalter an" -> ausfuehrbar, "Schalter aus" -> nicht ausfuehrbar. Hoffe, das triffts.
2. richtig
 
Das Executable-Flag ist einfach ein Bit im Dateisystem welches angibt, ob eine Datei ausführbar ist oder nicht. Mit chmod +x foo kannst Du dieses Bit für die Datei foo setzen und mit chmod -x foo wieder entfernen.
Welche Datei ausgeführt wird wenn Du im Terminal irgendeinen Befehl eingibst, kannst Du im Terminal mit "which <befehl>" herausfinden. Beispiel:
$ which konqueror
/opt/kde3/bin/konqueror
 
Juhu ich habs verstanden, aber eins ist mir noch unklar und zwar das Beispiel von rikola:
Weiterhin muss der Kernel etwas damit anfangen koennen (wenn Du 'chmod +x meine_weihnachtswunschliste.doc' machst und ausfuehrst, spuckt Dein CD-Laufwerk leider nicht den neuesten Rechner von IBM aus)
 

Ähnliche Themen

Server's Power

FAT32 vs. NTFS-3g vs. Ext2 IFS vs. ?

Programmieren mit GCC, KDE usw!

Probleme mit Wine, oder lieber doch gleich CrossOver kaufen?

Netzwerksniffen mit tcpdump

Zurück
Oben