Warum kann ich Dateien nicht asuführen

  • Hmm dann verstoßen sie aber gegen ihre eigenen Richtlinien.

    Siehe hierzu

    FHS und usrmerge

    Ich habe jetzt auch einige Debian Systeme versucht und es war immer /usr/bin.

    Noch dazu gibt es ja eine 2te möglichkeit

    #! /usr/bin/var python

    Der Standard um ein Python Script zu starten ist:

    Dann müsste auch der Standard um ein Bash Script zu starten

    Code
    Bash script.sh 

    sein. Davon ist mir aber nichts bekannt.

    Nur weil du es so machst oder gelernt hast bedeutet es noch lange nicht Standard, es gibt gerade unter Linux immer mehrere Wege zum Ziel.

    Jeder kann seine Scripte starten wir er will, man sollte jedoch die Möglichkeiten dazu aufzeigen und den User selbst entscheiden lassen.

    Über kurz oder lang wird man sich mit dem executable Flag auseinander setzen müssen, denn die Benutzung von einem Terminal ist bereits für Fortgeschrittene.

    Ein Vergleich: Eine Lagerschale in ein Kurbelgehäuse legen, kann ein Kind. Den Motor aber soweit auseinander und später wieder zusammen zu bauen, bedarf es erlerntes Fachwissen.

    WT....

    Okay und wenn man dann Command substitutionen in der Bash durchführen kann ist man Atomwissenschaftler oder was?

    So ich bin hier raus dass wird mir zu crazy.

  • WT....

    Okay und wenn man dann Command substitutionen in der Bash durchführen kann ist man Atomwissenschaftler oder was?

    Nö. Aber eben auch kein Anfänger mehr.
    Du vergisst scheinbar, dass hier eine Person nach Hilfe fragte, die schon Probleme damit hat das Script regulär auszuführen. Wie soll sojemand dann aus dem Stand in Dateien und Unterordner rumwerkeln können?

    1. Ein Terminal öffnen.
    2. Mit dem Befehl cd [Ordnerpfad] in den Ordner springen, in dem das z.B. Py-Script liegt.
    3. Im Terminal müsste sich der Benutzername nun um ~/[Ordnerpfad] erweitert haben.
    4. Jetzt das Script wie nicoletta beschrieb, ausführen.

    Wenn Ubuntu ein Terminal per Kontextmenü [Rechtsklick] öffnen kann, kannst du auch auf eine leere Fläche im entsprechenden Ordner klicken und dies auswählen. Das erspart den Weg 1-3.

    Das ganze klappt dann auch, mit den entsprechenden Startbefehlen, bei anderen Anwendungen.

    Viellen dank für die genaue Erklärung auch mit dem direkt im Ordner den Terminal öffnen

  • Danke mit Python Dateien funktioniert das jetzt.

    Aber mit sh Dateien klappt das nicht

    Es gibt zwei Methoden eine .sh zu starten. Die eine ist wie bei dem Python Script, in den Ordner gehen wo die .sh Datei ist um sie zu starten. Die einfachste Methode im Terminal ist nun diese:

    Code
    bash datei.sh

    Du kannst jedoch auch ohne Terminal eine im Dateimanager eine .sh Datei starten.

    Dazu klickst du die .sh Datei mit der rechten Maustaste an und gehst auf "Eigenschaften".

    Dann gehst du auf den Kartenreiter "Zugrifsrechte"

    Ganz unten setzt du den Haken bei "Programm darf ausgeführt werden" oder ähnlicher Text

    Nun bestätigst du das unten und du kannst nun mit einem Doppelklick die .sh Datei starten.

    Wenn da nur kurz ein Fenster sich öffnet und sich dann wieder schließt kannst du die .sh nun auch im Terminal ohne bash starten.

    Code
    ./datei.sh

    #ichmussmalmächtigkacken

    2 Mal editiert, zuletzt von nicoletta (2. September 2023 um 19:04)

  • Wer ist der Besitzer?

    Wer ist die Gruppe und wer sind alle anderen?

    Und wie sehe ich den Unterschied in der Zeile also wer was darf?

    Tut mir leid das ich so viele wahrscheinlich dumme Fragen stelle

  • Wer ist der Besitzer?

    Wer ist die Gruppe und wer sind alle anderen?

    Und wie sehe ich den Unterschied in der Zeile also wer was darf?

    Tut mir leid das ich so viele wahrscheinlich dumme Fragen stelle

    Rechtsklick auf die Datei -> Eigenschaften. Dann auf den Tab Berechtigungen. Da steht dann wer der Besitzer ist wie die Gruppenrechte sind und ob die Datei ausführ ist.

    Mainboard: MSI Z170-A Pro

    Prozessor: Intel i7 6700K

    Grafikkarte: AMD RX 7800 XT

    OS: EndeavourOS

  • mode.png

    Bild ist von dieser Erklärung:

    Linux Permissions

    Dass erklärt es recht gut.

    Der Besitzer ist derjenige der die Datei erstellt hat oder der damit arbeiten muss.

    Gruppe ist wenn mehrere Personen eine Datei bearbeiten müssen steckt man sie in die gleiche Gruppe, dann können sie die Dateien nutzen.

    Others sind alle die nicht Besitzer oder in der Gruppe sind.

    Einzige Ausnahme ist root, der darf alle Dateien nutzen.


    8| DejaVu

  • Ist dass eigentlich so schwer freundlich zu sein oder einfach mal nicht zu posten?

    Es gibt hier im Bereich auch kein Template oder einen Sticky Thread wo steht was die User bei Fragen alles posten sollen, also woher sollen sie es wissen?

    Dem schließe ich mich an. Es gibt keinen Grund, hier bei Antworten noch Schärfe hinein zu bringen und mehr oder weniger offensiv zu antworten. Wenn jemandem die Fragestellung eines Nutzers nicht gefällt, einfach weiterziehen zu einem passenden Thema. Ansonsten bitte einfach freundlich nachfragen und gut ist.

    💾 AMD EPYC 7452 (8 Cores) 40GB | 💾 Unraid Homeserver i5-4570 16GB

    💻 Ryzen 9 7900X RX7800XT 32GB | 💻 MacBook Pro M2Pro 32GB

    EndeavourOS <3

  • Ok ich hoffe ich habe das richtig verstanden also:

    Wenn man ls -l in einem Verzeichnis eingibt bekommt man ja die Ausgabe aller Dateien mit dem Aufbau:

    Erst die Rechte durch Buchstaben wovon der erste Teil die Rechte des Users (demjenigen der sie erstellt hat) sind, der zweite die Rechte der Gruppe des Users und dann die Rechte von allen anderen.

    Was ich nicht verstehe ist wie bestimmt wird welche Gruppe des Erstellers gilt wenn er in mehreren Gruppen ist und warum die Rechte manchmal übersichtlich mit - getrennt sind und manchmal nur eine einzelne lange Buchstabenfolge dort stehen?

  • Was ich nicht verstehe ist wie bestimmt wird welche Gruppe des Erstellers gilt wenn er in mehreren Gruppen ist und warum die Rechte manchmal übersichtlich mit - getrennt sind und manchmal nur eine einzelne lange Buchstabenfolge dort stehen?

    Nehmen wir an, es steht dort "-rwxr-----", liest sich dies wie folgt:
    -|rwx|r--|---

    Ist die Stelle durch ein - statt durch ein r, w oder x besetzt, bedeutet das, dass die entsprechende Klasse dafür keine Rechte besitzt.

    Anders: r, w, und x sind wie Ja und - Nein.

    Also liest sich mein Beispiel:
    Dateityp: Normal (-)
    User darf: Lesen: Ja (r), Schreiben: Ja (w), Ausführen: Ja (x)
    Gruppe darf: Lesen: Ja (r), Schreiben: Nein (-), Ausführen: Nein (-)
    Andere darf: Lesen: Nein (-), Schreiben: Nein (-), Ausführen: Nein (-)

    Dass rwx geschrieben wird, ist wegen der einfacheren Lesbarkeit. Man hätte es auch Binär darstellen können: 0111100000, aber das ist unübersichtlich a.f.

    2 Mal editiert, zuletzt von Nahtmer (3. September 2023 um 22:34)

  • Das wieder "aufzuwärmen" trägt auch nicht zur Deeskalation bei, sowas sollte ein "Foren-Administrator" eigentlich wissen und vermeiden.

    Da du gerne auch an anderer Stelle so reagierst, spielt es doch eigentlich keine Rolle, an welcher Stelle ich darauf aufmerksam mache. Und als Forenadmin ist es auch meine eigene Entscheidung, was ich wo und in welchem Umfang durchgehen lasse oder anspreche, was du eigentlich wissen solltest.

    💾 AMD EPYC 7452 (8 Cores) 40GB | 💾 Unraid Homeserver i5-4570 16GB

    💻 Ryzen 9 7900X RX7800XT 32GB | 💻 MacBook Pro M2Pro 32GB

    EndeavourOS <3

  • Wunderbar erklärt, danke.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!