• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Pfad für eingabe von abkürzung ?!

hazard-

Newbie
Hallo,

ich wollte gern mal wissen ob es möglich ist wie bei Windows z.b

man geht ins cmd Fenster und gibt dort "explorer" ein und der Explorer startet. Das geht ja auch mit einigen "firefox" versionen.
Das ganze muss ja irgendwo hinterlegt sein oder eine "Vernknüpfung" muss per Hand erstellt werden.

Weiß evtl. jemand wie das bei Linux (Debian) ist, ob es auch möglich ist und wo ich denn die Datei mit den Verlinkungen finde ?
 

Jägerschlürfer

Moderator
Teammitglied
um was für ein Programm geht es denn, das du starten willst?
Du kannst doch eigentlich alles aus der Konsole heraus starten,...
 
OP
H

hazard-

Newbie
Also unser ServerAdmin hat nun Urlaub und wir wollen eben eine kleine hilfsdatei machen für die anderen. Da wäre es ganz praktisch wenn die nicht /usr/.../mozilla firefox/firefox.exe eingeben müssten z.b sondern einfach nur firefox. Um welche sachen es sich genau handelt sag ich eben in 2 -3 min !
 
A

Anonymous

Gast
Gib mal in einer Konsole
Code:
echo $PATH
ein. Dort stehen die Pfade, in denen Binaries gesucht werden. Ist es das, was du meinst?
 

Jägerschlürfer

Moderator
Teammitglied
also wenn ich den firefox aus der Konsole heraus starten will geb ich nur firefox ein und dann startet der Browser,....


Wie kommst du eigentlich darauf, unter Linux eine exe Datei starten zu wollen?
 
OP
H

hazard-

Newbie
Das, das mit firefox funktioniert kann gut sein. Mir gehts aber um spez. programme die sich nicht direkt so einknüpfen und dieses wollte ich dann per hand machen. Ihrgendwo muss ja jetzt für Firefox hinterlegt sein das wenn der befehl "firefox" in der console kommt er auf /usr/.../mozillafirefox/firefox starten soll. Das suche ich, um selber etwas einzufügen.

Ich komme dadrauf weil ich sonst nur mit windows arbeite :-D Und nicht nachgedacht habe das linux ja keine .exen hat !
 

admine

Ultimate Guru
Siehe Post von DaBossDaChef!
Liegt das Binary in einem Pfad welcher in deiner Variable $PATH steht, dann genügt es nur den Filenamen in der Shell einzutippen.

http://linuxwiki.de/PATH
 
OP
H

hazard-

Newbie
wie kann ich den dort ein hinzufügen ? oder ist nun $PATH ne datei ? Das $ stand ja glaubich für versteck oder ?

(sry linux knubbel)

*edit

Sry hatte dein link nicht gesehen ! DANKE jungs ! (-:
 

ChristianF

Newbie
Hi,

am besten machst du folgendes:

Die kompletten Pfade der ausführbaren Dateien suchen die du brauchst und dann jede einzelne unter /usr/bin verlinken, damit es im Einzugsbereich der $PATH Variable liegt.


Muss als root durchführt werden, da ein normaler User nicht in /usr/bin schreiben darf!
Beispiel Firefox (Pfad musst du selbst suchen)
Code:
cd /usr/bin
ln -s /pfad/fuer/fierfox/firefox firefox
ln -s /pfad/fuer/naechstes/programm programmname
...

Ab dann sollte es möglich sein die Programme per firefox, programmname oder was auch immer zu starten.

Gruß
Christian
 
Was auch unter Unix/Linux wichtig ist: Die Datei muss ausfürbar sein ( chmod +x "datei" ).
Mit dem folgenden Befehl bekommt man heraus, welcher Befehl genommen wird: which "datei"
Das ist wichtig, wenn z.B. im PATH mehrere Verzeichnisse zu einem Befehl hat: /usr/bin:/home/"deinusername"/bin

Haveaniceday
 

josef-wien

Ultimate Guru
ChristianF schrieb:
Die kompletten Pfade der ausführbaren Dateien suchen die du brauchst und dann jede einzelne unter /usr/bin verlinken
Die Variable PATH gibt es, um genau solche Krücken nicht zu brauchen.

hazard- schrieb:
wir wollen eben eine kleine hilfsdatei machen für die anderen
Linux hat eine Verzeichnisstruktur (siehe http://www.linupedia.org/opensuse/Partitionierung_und_Verzeichnisstruktur), solche Programme gehören nach /usr/local/bin (dieses Verzeichnis ist standardmäßig im Pfad enhalten).
 
Hallo josef-wien,
josef-wien schrieb:
/usr/bin verlinken
Die Variable PATH gibt es, um genau solche Krücken nicht zu brauchen[/quote]
Wenn ich ein Programm mit all seinen dazugehörigen Dateien habe und dann die ausführbare Datei in /usr/bin verschiebe, woher weiß die dann wo sie zu suchen hat nach ihren Dateien?
lieben Gruß aus Hessen
 
Alles, was nach dem Start einer ausführbaren Datei kommt, wird auf Applikationsebene geregelt, sprich: das weiß die jeweilige Anwendung selbst (weshalb sich meinetwegen libraries oder Konfigurationsdateien nicht so flexibel wie $PATH handhaben lassen, die müssen schon fix sein).
 
A

Anonymous

Gast
Herz-von-Hessen schrieb:
Wenn ich ein Programm mit all seinen dazugehörigen Dateien habe und dann die ausführbare Datei in /usr/bin verschiebe, woher weiß die dann wo sie zu suchen hat nach ihren Dateien?

Ein normales Programm weiß wo es "seine" Dateien findet, ansonsten stehen die Dateien dort wo der Prozess seine Prozessumgebung hat, also dort wo er aufgerufen wird, oder es wird mit den Optionen oder in der Konfiguration angeben wo seine Dateien sind. Ein normales Programm wird auch im Normalfall immer automatisch dort installiert wo der Path sowieso schon steht. Bei dir scheint es wohl kein "normales Programm" zu sein, hab ich irgendwas überlesen oder willst du uns nur nicht verraten, um was es hier genau geht.

robi
 
Hallo,

wenn ich z.B. den Vorschlag von ChristianF nehme, dann startet das Programm (UrbanTerror) wie frisch installiert und alle Sachen wie Spielername, usw. sind nicht mehr da, es wird dann wohl ein neues q3ut4 Verzeichnis angelegt.
Das möchte ich natürlich vermeiden. Ist zwar nur hypothetisch für mich, weil ich das Programm über mein Startmenü starte, aber interessant zu wissen wie es noch ginge.
UrbanTerror wird nicht im üblichen Sinne installiert, sondern es wird lediglich die ZIP-Datei entpackt und da ist alles drinnen was benötigt wird.
Auch einiges was nicht gebraucht wird (wie die Windows und Apple Dateien).
lieben Gruß aus Hessen
 

ChristianF

Newbie
Herz-von-Hessen schrieb:
ausführbare Datei in /usr/bin verschieb

Definitiv nicht verschieben, sondern nur verlinken (Befehl ln)

Aber wie josef-wien geschrieben hat, soll man das nicht machen sondern die $PATH anpassen,
deshalb zieh ich meinen Vorschlag auch zurück...

Christian
 
Definitiv nicht verschieben, sondern nur verlinken (Befehl ln)

Wieso das denn?

/usr Verzeichnisstruktur

[...]

• /usr/local – distributionsunabhängige lokale Hierarchie. Hier kann und soll die lokale Systemadministration Programme und Daten ablegen, die von der entsprechenden Distribution des jeweiligen Systems unabhängig installiert worden sind, wie etwa selbstkompilierte oder unabhängig von der Distribution heruntergeladene Programme und Dateien. Den Installationsmechanismen der betreffenden Distribution ist es ausdrücklich untersagt, diese Verzeichnisstruktur zu berühren. Die Gestaltung der internen Struktur von /usr/local obliegt der lokalen Systemadministration und ist vom FHS nicht vorgegeben.

Quelle:Wikipedia

...und mit dem Zitieren etwas aufpassen, das Zitat in Deinem letzten Beitrag stammt nicht von robi.
 

ChristianF

Newbie
@gropiuskalle

Falsches Zitat:
-> Sorry, danke für den Hinweis, sollte natürlich nicht passieren :???:
ich muss wieder besser aufpassen...

verschieben von Dateien:
-> Ich wollte Herz-von-Hessen eigentlich mitteilen, dass er nicht sein komplettes Game (Urban Terror) nach /usr/bin verschieben sollte, weil da meiner Meinung nach nur "binarys" sein sollten, aber nicht der ganze Urban Ordner.

Aber irgendwie ist das Thema hier nicht mein Fall, ich werde mich zuerst noch mehr mit dem FHS beschäftigen bevor ich weitere Falschaussagen mach :D

-> Selbsterkenntnis ist der beste Weg zur Besserung ;)
 
Oben