
Ich habe eine Python-Dateimy_script.py
Wenn ich laufe:
chmod +x my_script.py
my_script.py
Wenn 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_script
ohne .py
?
Antwort1
Es gibt nur 1 Datei my_script.py
. Ein einfacher Vorgang chmod +x
endet NICHT mit zwei Dateien namens my_script.py
" (wie würde die zweite my_script.py
heißen?).
Da Python eine interpretierte Sprache ist, sollten Sie die Größe des python
Interpreters sowie die von ihm verwendeten dynamischen und interpretierten Bibliotheken berücksichtigen.
Wenn der execve
Systemaufruf (siehe man 2 execve
) erkennt, dass die my_script.py
Datei ausführbar ist (das x
Bit ist gesetzt) und mit „ #!<interpreter>
“ beginnt, wird sie ausgeführt <interpreter> my_script.py
( interpreter
> trifft /usr/bin/python
in 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