Werden die mit chmod +x erlaubten Dateien irgendwo gespeichert?

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.pyund 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?

Antworten (1)

chmod +x /path/to/filesetzt 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 +xfügt die Ausführungsberechtigung allen hinzu, -xentfernt sie.

Woher kennt er den richtigen Weg?

Sie geben den Pfad zum Befehl an, wenn Sie ihn ausführen. /path/to/fileist 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 rmoder ü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/fileerneut 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.