使用 chmod +x 时更改可执行文件的名称

使用 chmod +x 时更改可执行文件的名称

我有 python 文件my_script.py

当我跑步时:

chmod +x my_script.py

my_script.py当我尝试获取文件的大小时,最终得到了两个名为的文件,一个是可执行文件,一个是 python 文件:

du -sh my_script.py

我获取了 python 文件的大小(4.0K),但我想知道可执行文件的大小。

有没有办法更改可执行文件的名称?比如说my_script不更改.py

答案1

只有一个文件,my_script.py。执行简单chmod +x操作不会“最终得到两个名为 的文件my_script.py”(第二个文件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

相关内容