Ich folge derzeit einem Python3-Kurs. Zur einfachen Ausführung schlagen sie vor, den folgenden Code auszuführen:
chmod +x pythonFileName.py
Dadurch wurde es möglich, die Datei auszuführen mit: ./pythonFileName.py
und das ist natürlich viel einfacher, als durch die gesamte Ordnerstruktur zu navigieren, um meine Skripte zu finden.
Ich frage mich, werden diese Dateien in einen versteckten Ordner kopiert? Wie funktioniert dieser Befehl überhaupt? Ich meine, woher kennt er den richtigen Weg? Wenn ich das Skript lösche, muss ich einen anderen Code ausführen? Die kopierte Datei aus einem versteckten Ordner löschen?
chmod +x /path/to/file
setzt die Ausführungsberechtigung für die Datei selbst. Es verwaltet keine separate Liste mit Berechtigungen für Standard-Lesen/Schreiben/Ausführen, sondern legt diese nur für die Datei fest.
Werden diese Dateien in einen versteckten Ordner kopiert?
Nein, die Datei bleibt wo sie ist. Die Berechtigung wird auf die vorhandene Datei gesetzt.
Wie funktioniert dieser Befehl überhaupt?
POSIX-Dateiberechtigungen umfassen Lese-/Schreib-/Ausführungsberechtigungen. Ausführen +x
fügt die Ausführungsberechtigung allen hinzu, -x
entfernt sie.
Woher kennt er den richtigen Weg?
Sie geben den Pfad zum Befehl an, wenn Sie ihn ausführen. /path/to/file
ist der Pfad, den Sie beim Ausführen des Befehls angegeben haben.
Wenn ich das Skript lösche, muss ich einen anderen Code ausführen?
Sie können die Datei wie gewohnt mit rm
oder über den Finder löschen, ohne etwas anderes ausführen zu müssen. Wenn Sie eine neue Datei erstellen (unabhängig vom Namen), müssen Sie ihr chmod +x /path/to/file
erneut die Ausführungsberechtigung erteilen.
Die kopierte Datei aus einem versteckten Ordner löschen?
Es findet kein Kopieren statt, wenn Sie chmod ausführen, also gibt es nichts anderes zu löschen.