chmod +x を使用するときに実行ファイルの名前を変更する

chmod +x を使用するときに実行ファイルの名前を変更する

私はPythonファイルを持っていますmy_script.py

実行すると:

chmod +x my_script.py

my_script.pyファイルのサイズを取得しようとすると、という 2 つのファイル (実行可能ファイル 1 つと Python ファイル 1 つ) が作成されます。

du -sh my_script.py

Python ファイルのサイズ (4.0K) を取得していますが、実行可能ファイルのサイズを知りたいです。

実行ファイルの名前を変更する方法はありますか?my_scriptなしと言う名前に変更することはできますか.py

答え1

ファイルは 1 つだけですmy_script.py。単純な操作では、chmod +x「 」という 2 つのファイルが作成されることはありませんmy_script.py(2 番目のファイルのmy_script.py名前は何になりますか?)。

Python はインタープリタ言語なので、インタープリタのサイズpythonと、インタープリタが使用する動的ライブラリとインタープリタライブラリの両方を考慮する必要があります。

システムexecveコール (を参照man 2 execve) が、 がmy_script.py実行可能 (xビットが設定されている) であり、 " #!<interpreter>" で始まることを認識すると、 が実行されます<interpreter> my_script.py(この場合、interpreterおそらく > です)。/usr/bin/python

つまり、単純に ですmv my_script.py my_script。他のオペレーティング システムとは異なり、Unix/Linux のファイル名はファイルの実行方法を制御しません。

答え2

このコマンドを実行すると、ファイルを実行可能にしながらファイル名が変更されます。

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

関連情報