GNU/Linux >> Tutoriels Linux >  >> Linux

Comment rendre un fichier exécutable sous Linux

Si vous avez déjà interagi avec un système d'exploitation comme Windows, le contexte suivant devrait être parfaitement logique. Ces environnements de système d'exploitation prennent en charge deux types de fichiers. Le premier type est celui des exécutables et le second type est celui des non exécutables. Les fichiers exécutables sont associés à une extension de fichier de signature comme ".exe".

Rendre un fichier exécutable sous Linux

En revanche, lorsque nous migrons dans l'écosystème Linux, la règle des fichiers non exécutables et exécutables ne s'applique pas. Chaque fichier peut recevoir le privilège exécutable. Pour comprendre comment ce concept fonctionne, nous avons besoin d'un exemple de fichier à référencer.

L'approche terminal/ligne de commande

Pour créer un tel fichier, nous pouvons utiliser la commande echo intégrée. Il est applicable sur le terminal Linux. Cette commande est utile pour créer une chaîne de commande et la rediriger vers un fichier.
Ouvrez votre terminal Linux et exécutez la séquence de commandes suivante.

$ echo 'echo hello FossLinux user, welcome to this tutorial session' >> greetings
$ cat greetings

À partir de la séquence de commandes ci-dessus, nous avons utilisé la commande echo pour créer la chaîne littérale « echo hello Fosslinux user, welcome to this tutorial session ». Ensuite, nous avons stocké cette chaîne littérale dans un fichier nommé "salutations". Comme vous l'avez peut-être remarqué, avec Linux, il est possible de créer un fichier sans lui donner une extension de fichier comme .exe ou .txt. Cette approche de création de fichiers n'est pas possible dans d'autres environnements de système d'exploitation.

Un fichier existant sans extension sous Linux permet de lui accorder un privilège d'exécution chaque fois que le besoin s'en fait sentir. Après l'exécution de la commande "cat greetings", le terminal affiche la chaîne littérale que nous avons stockée dans le fichier "greetings" à partir de la séquence de commandes ci-dessus.

echo hello FossLinux user, welcome to this tutorial session

La chaîne littérale doit commencer par la commande echo pour que l'environnement Linux l'interprète correctement. Sinon, vous pourriez obtenir une erreur comme "commande introuvable" lorsque nous rendrons le fichier exécutable plus tard. La flexibilité de l'environnement du système d'exploitation Linux devient viable lorsque nous pouvons rendre ce fichier "salutations" exécutable sans faire référence à la commande cat pour accéder à son contenu.

Pour rendre le fichier exécutable, nous utiliserons la commande "chmod" comme illustré ci-dessous.

$ chmod +x greetings

Ensuite, il suffit d'appeler ce fichier "salutations" de la manière suivante pour accéder à son contenu.

$ ./greetings

Le résultat attendu doit ressembler à ce qui suit :

hello FossLinux user, welcome to this tutorial session

Comme vous l'avez noté, la sortie ci-dessus ne commence pas par "echo". L'environnement du terminal n'interprète pas echo comme une sortie mais comme une commande nécessaire pour afficher la sortie résultante du terminal.

Sous le capot de ce processus d'exécution de fichier

Avant que l'exécution d'un fichier ne se produise dans un environnement Linux, la première étape consiste à lier le chemin de ce fichier exécutable potentiel à l'environnement du terminal Linux. L'étape suivante consiste à déterminer le type d'autorisation dont le fichier a besoin. Par exemple, nous avions besoin d'accéder au contenu du fichier "salutations" créé pour le cas que nous avons démontré.

Dans ce scénario, nous devions travailler avec des autorisations de « lecture » ​​pour accéder et afficher le contenu de ce fichier. Cela rend nécessaire l'utilisation de la commande "chmod +x". L'attribution ou la suppression de l'autorisation d'exécution d'un fichier ne rend pas ce fichier exécutable en permanence ou inexécutable en permanence. Nous donnons simplement au fichier un privilège d'exécution qui peut également être retiré.

L'utilisation de "./" avant le fichier "salutations" indique au programme du terminal où trouver le fichier dont l'exécution est prévue. Vous pouvez également utiliser "sudo" avant "./greetings" pour accorder aux processus d'exécution les privilèges nécessaires. Dans l'exemple décrit ci-dessus, nous avons utilisé echo pour gérer l'exécution de la chaîne littérale "bonjour utilisateur FossLinux, bienvenue dans cette session de tutoriel". Vous pouvez utiliser un autre programme comme Python's print pour cette exécution.

Vous devrez d'abord définir le binaire d'emplacement du programme comme en-tête du fichier que vous souhaitez exécuter. Dans ce cas, si nous devions utiliser la fonction d'impression de Python, le contenu du fichier "salutations" ressemblera à ceci :

#!/usr/bin/python

print "hello FossLinux user, welcome to this tutorial session"

L'exécution de ce fichier avec la commande "./greetings" donnera les mêmes résultats que ceux obtenus avec la commande echo.

L'approche graphique

Si vous ne voulez pas de voie technique pour rendre vos fichiers exécutables, l'interface utilisateur graphique de Linux est toujours un bon point de départ. Tout d'abord, localisez le fichier que vous souhaitez rendre exécutable en naviguant jusqu'à son emplacement. Utilisez la souris de l'ordinateur pour faire un clic droit sur ce fichier et sélectionnez le "menu des propriétés".

L'écran suivant aura trois options de menu alignées. Sélectionnez l'option de menu "Autorisations".

Dans cette fenêtre, cochez la case indiquant "Autoriser l'exécution des fichiers en tant que programmes".
Avec ces étapes simples de l'interface graphique, vous aurez rendu votre fichier cible exécutable.

Flexibilité Chmod

Chmod est une forme courte pour "changer de mode". Il traite du contrôle d'accès aux autorisations pour les fichiers et les répertoires de votre système d'exploitation Linux. Par exemple, puisque nous avons déjà traité de rendre un fichier exécutable, vous souhaiterez peut-être également savoir comment retirer ces privilèges d'exécution à tout le monde.

Dans ce cas, vous souhaiterez peut-être vous familiariser avec certains modes absolus associés à la commande chmod. Les nombres numériques représentent ces modes et leur utilisation suit la règle de syntaxe suivante :

chmod absolute_mode name_of_file.file_extension

Une autre utilisation de chmod dans l'exécution du fichier

  • chmod 775 your_file_name.file_extension :avec ce mode, n'importe qui peut exécuter le fichier créé ou existant. Cependant, seul le propriétaire du fichier peut écrire ou ajouter des données à ce fichier.
  • chmod 777 your_file_name.file_extension :avec ce mode, chaque utilisateur du système Linux a la même permission d'exécuter un fichier existant ou créé.
  • chmod 0010 your_file_name.file_extension :Seuls les membres du groupe défini d'un système Linux exécuteront le fichier présenté.
  • chmod 0100 your_file_name.file_extension :seul le propriétaire du fichier ou la personne qui a créé le fichier sur le système Linux l'exécutera exclusivement.
  • chmod -777 your_file_name.file_extension :cette commande retire le privilège d'exécution de fichier à tous les utilisateurs de ce système d'exploitation Linux.

Avec ces informations supplémentaires sur la commande chmod, vous devriez être sûr de son utilisation pour rendre vos fichiers exécutables sous l'environnement du système d'exploitation Linux.

Remarque finale

La règle simple pour rendre un fichier exécutable sous Linux implique les étapes suivantes.

  • Avoir accès à votre terminal Linux
  • Utilisez votre terminal Linux pour accéder à l'emplacement du fichier ciblé.
  • Une fois que vous avez trouvé le fichier ciblé, notez son nom ainsi que l'extension de fichier associée, le cas échéant. L'extension de fichier peut être ".bin" ou ".run".
  • Ensuite, utilisez la syntaxe de commande suivante pour rendre ce fichier exécutable.
sudo chmod +x name_of_file.file_extension

Par exemple, sudo chmod +x nouveau_fichier.bin

Après avoir rendu ce fichier exécutable, vous voudrez peut-être l'installer s'il s'agit d'un fichier "bin" ou simplement l'exécuter s'il s'agit d'un fichier "run". Dans les deux cas, les approches de commande suivantes feront le travail.

Pour un fichier .bin, n'oubliez pas d'utiliser ./my_file_name.bin

Pour un fichier .run, n'oubliez pas d'utiliser ./my_file_name.run

Si vous rencontrez des erreurs en essayant d'installer ou d'exécuter le fichier exécutable créé avec les approches de commande ci-dessus, faites précéder l'exécution de ces commandes avec "sudo". Cela donnera à l'utilisateur actuel du système Linux les privilèges d'exécution nécessaires.


Linux
  1. Comment gérer les capacités des fichiers Linux

  2. Comment trouver un fichier sous Linux

  3. Comment créer un swap sous Linux

  4. Comment rendre le fichier clairsemé?

  5. Comment déterminer si un fichier binaire Linux est 32 bits ou 64 bits ?

Comment renommer un ou plusieurs fichiers sous Linux

Comment créer un lien symbolique vers un fichier sous Linux

Comment chiffrer un fichier sous Linux

Comment désactiver Swap sous Linux

Comment rendre un fichier exécutable dans un terminal Linux ?

Comment utiliser gzip sous Linux ?