Formas de pagamento Abuse

Tornar um ficheiro executável em Linux

06.03.2021, 20:51

O que torna o Linux diferente do Windows em termos de execução de ficheiros é que o primeiro sistema define os ficheiros executáveis como ficheiros de programa, não pela sua extensão, mas por um sinalizador de executabilidade especial. Assim, cada ficheiro tem três modos de executabilidade: ler, executar e escrever. São estes modos que determinam o que o sistema pode fazer com um determinado ficheiro. Quando um utilizador descarrega vários instaladores da Internet ou cria um script, são-lhe atribuídos os seguintes modos por defeito: leitura e escrita. Em suma, o utilizador não poderá fazer nada com esse programa, uma vez que é necessário fazer outra coisa com ele.

O que significa executabilidade?

Mas antes de mais, devemos abordar uma questão como: o que é a executabilidade e o que significa em geral? Comecemos por um programa, que é um conjunto de instruções executadas por um processador sobre um conjunto de dados, de modo a obter o resultado pretendido. Para o processador, não existe qualquer diferença entre instruções e dados.

Tanto os primeiros como os segundos são constituídos por dígitos - bytes. Ou seja, uma determinada combinação de dígitos significará para o processador a necessidade de realizar uma determinada ação. Para o processador não há diferença fundamental quanto ao processo a executar - dados do sistema operativo ou um ficheiro de texto. Tanto o primeiro como o segundo serão executados, exceto que, no caso de um ficheiro de texto, a necessidade de instruções é efetivamente eliminada.

Os sinalizadores de executabilidade foram inventados para que o sistema entenda quais instruções devem ser executadas e quais não devem ser executadas. De facto, o conteúdo não muda de forma alguma dependendo da classe de executabilidade definida - a diferença reduz-se apenas a algumas linhas. Com os scripts tudo funciona da mesma forma, apenas os comandos são executados não pelo processador, mas por um intérprete, por exemplo, nos scripts bash - pela própria shell bash. Os programas regulares também têm o seu próprio carregador - é o ld-linux.so.2.

Como tornar um ficheiro executável

O sistema Linux tem um utilitário especial que permite gerir as flags, que se chama chmod. Para chamar este utilitário, é necessário invocar a sintaxe:

$ chmod category action flag file_address

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНЯЕМЫМ В LINUX

E aqui deve ser considerado o seguinte:

Bandeira - uma das bandeiras disponíveis - r (leitura), w (escrita), x (execução).

Categoria - pode ser definida para três categorias: proprietário do ficheiro, grupo de dados e todos os outros utilizadores. No comando, são indicadas por u (utilizador) g (grupo) o (outros), respetivamente.

Ação - pode ser + (mais), o que significa definir o sinalizador ou - (menos) remover o sinalizador.

Assim, para tornar um script executável em Linux, o utilizador precisa de executar:

$ chmod u+x file_address

Muitas vezes isto já é suficiente para o tornar executável, mas se for necessário autorizar outros utilizadores a executar estes ficheiros, é necessário acrescentar mais:

$ chmod ugo+x file_address

Para os ver no terminal, basta usar o utilitário ls:

$ ls -l file_directory

Посмотреть флаги в терминале можно с помощью утилиты ls

Os sinalizadores são incluídos para todas as categorias. Os primeiros rwx são sinalizadores de proprietário, os segundos são sinalizadores de grupo, e os terceiros são para todos os outros. Se não estiver definido, um traço tomará o seu lugar.

Desativar a flag executável é muito fácil. O mesmo comando é usado, mas com um sinal de menos:

$ chmod u-x file_address

De seguida, vamos considerar a questão da definição da capacidade de gestão na GUI.

Como definir o sinalizador executável na GUI

Para os principiantes, esta instrução será mais fácil. Tomemos o gestor do GNOME, Nautilus, como exemplo. Clique com o botão direito do rato no nosso programa ou objeto de script para abrir o menu de contexto e, em seguida, selecione propriedades:

КАК УСТАНОВИТЬ ФАЛГ ИСПОЛНЯЕМОСТИ В GUI

Vá ao separador das permissões e selecione "Permitir que o ficheiro seja executado como um programa":

Разрешить выполнение файла как программы:

Agora será iniciado pelo sistema diretamente a partir do gestor. Esta é a instrução completa. Agora já não terá qualquer dificuldade em lançar um programa ou script a partir da Internet.