Ändern Sie den Namen der ausführbaren Datei, wenn Sie chmod +x verwenden

Ändern Sie den Namen der ausführbaren Datei, wenn Sie chmod +x verwenden

Ich habe eine Python-Dateimy_script.py

Wenn ich laufe:

chmod +x my_script.py

my_script.pyWenn ich versuche, die Größe der Datei zu ermitteln, erhalte ich am Ende zwei Dateien mit dem Namen , eine ausführbare Datei und eine Python-Datei:

du -sh my_script.py

Ich erhalte die Größe der Python-Datei (4,0 KB), möchte aber die Größe der ausführbaren Datei wissen.

Gibt es eine Möglichkeit, den Namen der ausführbaren Datei zu ändern, beispielsweise in etwas my_scriptohne .py?

Antwort1

Es gibt nur 1 Datei my_script.py. Ein einfacher Vorgang chmod +xendet NICHT mit zwei Dateien namens my_script.py" (wie würde die zweite my_script.pyheißen?).

Da Python eine interpretierte Sprache ist, sollten Sie die Größe des pythonInterpreters sowie die von ihm verwendeten dynamischen und interpretierten Bibliotheken berücksichtigen.

Wenn der execveSystemaufruf (siehe man 2 execve) erkennt, dass die my_script.pyDatei ausführbar ist (das xBit ist gesetzt) ​​und mit „ #!<interpreter>“ beginnt, wird sie ausgeführt <interpreter> my_script.py( interpreter> trifft /usr/bin/pythonin Ihrem Fall wahrscheinlich zu).

Sie können also einfach mv my_script.py my_script… Im Gegensatz zu diesem anderen Betriebssystem bestimmen die Dateinamen bei Unix/Linux NICHT, wie die Dateien ausgeführt werden.

Antwort2

Führen Sie diesen Befehl aus, um den Dateinamen zu ändern und ihn gleichzeitig ausführbar zu machen.

chmod +x my_script.py && mv my_script.py mv_myscript

verwandte Informationen