Altere o nome do arquivo executável ao usar chmod +x

Altere o nome do arquivo executável ao usar chmod +x

Eu tenho arquivo pythonmy_script.py

Quando corro:

chmod +x my_script.py

Acabo com dois arquivos chamados my_script.py, um arquivo executável e um arquivo python, quando tento obter o tamanho do arquivo:

du -sh my_script.py

Estou obtendo o tamanho do arquivo python (4,0K), mas quero saber o tamanho do executável.

Existe uma maneira de alterar o nome do arquivo executável? Para algo dizer my_scriptsem .py?

Responder1

Existe apenas 1 arquivo, my_script.py. Fazer um simples chmod +xNÃO "acaba com dois arquivos chamados my_script.py" (como seria chamado o segundo my_script.py?).

Como Python é uma linguagem interpretada, você pode considerar o tamanho do pythoninterpretador e as bibliotecas dinâmicas e interpretadas que ele usa.

Quando a execvechamada do sistema (consulte man 2 execve) percebe que my_script.pyé executável (tem o xbit definido) e começa com " #!<interpreter>" ela é executada <interpreter> my_script.py( interpreter> provavelmente é /usr/bin/pythono seu caso).

Então, você pode simplesmente mv my_script.py my_script. Ao contrário de outro sistema operacional, os nomes de arquivos Unix/Linux NÃO controlam como os arquivos são executados.

Responder2

Execute este comando para alterar o nome do arquivo enquanto o torna executável.

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

informação relacionada