Maison > Tutoriel système > Linux > Message d'erreur 'introuvable' lors de l'analyse du programme d'exécution Linux

Message d'erreur 'introuvable' lors de l'analyse du programme d'exécution Linux

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-02-19 17:49:06
original
1635 Les gens l'ont consulté

Titre : Analyse et solutions au problème de non trouvé lors de l'exécution de programmes sous Linux

Lors de l'utilisation de systèmes Linux, nous rencontrons souvent le message d'erreur "non trouvé" lors de l'exécution de programmes. Ce problème est généralement dû au fait que le système ne parvient pas à trouver le fichier exécutable requis. Cet article détaille la cause de ce problème et fournit des exemples de code spécifiques pour résoudre le problème.

  1. Trouver le chemin du fichier exécutable requis

Lorsque nous entrons le nom d'un fichier exécutable dans le terminal, le système recherchera automatiquement les fichiers disponibles correspondant au nom de fichier dans chaque répertoire du fichier exécutable PATH (variable d'environnement). La première étape consiste donc à s’assurer que l’exécutable existe dans un répertoire de votre PATH.

Nous pouvons utiliser la commande echo $PATH pour afficher la valeur actuelle de la variable d'environnement PATH. Cette commande affiche une liste de chemins dans l'ordre, séparés par des deux-points. echo $PATH 命令来查看当前的 PATH 环境变量的值。该命令会按顺序显示路径列表,路径之间用冒号分隔。

如果在 PATH 中找不到所需的执行文件路径,则需要将该路径添加到 PATH 环境变量中。例如,我们可以使用以下命令将 /usr/local/bin 添加到 PATH:

export PATH=$PATH:/usr/local/bin
Copier après la connexion
  1. 检查文件权限

在 Linux 中,为了执行一个文件,需要给予它执行权限。如果文件没有执行权限,则执行时会出现 "not found" 错误。

我们可以使用 ls -l 命令来查看文件的权限。例如,以下是一个可执行文件 my_program 的权限示例:

-rwxr-xr-x 1 user group 1234 Jan 1 10:00 my_program
Copier après la connexion

在上述示例中,文件所有者(user)、用户组(group)以及其他用户分别具有不同的权限。其中,r 表示读权限,w 表示写权限,x 表示执行权限。

如果文件缺少执行权限,则可以使用 chmod 命令来修改文件权限。例如,以下命令将执行权限授予所有用户:

chmod +x my_program
Copier après la connexion
  1. 检查文件是否存在于正确的位置

如果执行程序时提示 "not found" 错误,还需要确保该文件实际上存在于所指定的位置。这是因为在某些情况下,文件可能已被移动、删除或更改了名称。

我们可以使用 ls 命令来检查文件是否存在。例如,以下命令将显示当前目录下的所有文件和目录:

ls
Copier après la connexion

如果文件确实存在于所指定的位置,则应该检查文件名是否正确。有时,我们可能会输入错误的文件名,导致系统无法找到所需的执行文件。

  1. 确保所使用的库已正确安装

某些可执行文件可能依赖于特定的库文件。如果所需的库文件没有正确安装,执行程序时也会出现 "not found" 错误。

我们可以使用 ldd 命令来查看执行文件所依赖的库文件。例如,以下命令将显示可执行文件 my_program

Si le chemin du fichier exécutable requis n'est pas trouvé dans PATH, vous devez ajouter le chemin à la variable d'environnement PATH. Par exemple, nous pouvons ajouter /usr/local/bin à PATH en utilisant la commande suivante :

ldd my_program
Copier après la connexion
    Vérifier les autorisations des fichiers

    🎜Sous Linux, afin d'exécuter un fichier, vous devez lui donner l'autorisation d'exécution. Si le fichier ne dispose pas de l'autorisation d'exécution, une erreur « introuvable » se produira lors de l'exécution. 🎜🎜Nous pouvons utiliser la commande ls -l pour vérifier les autorisations du fichier. Par exemple, voici un exemple d'autorisations pour un fichier exécutable mon_programme : 🎜rrreee🎜Dans l'exemple ci-dessus, le propriétaire du fichier (utilisateur), le groupe d'utilisateurs (groupe) et les autres utilisateurs ont des autorisations différentes. Parmi eux, r représente l'autorisation de lecture, w représente l'autorisation d'écriture et x représente l'autorisation d'exécution. 🎜🎜Si le fichier ne dispose pas de l'autorisation d'exécution, vous pouvez utiliser la commande chmod pour modifier les autorisations du fichier. Par exemple, la commande suivante accordera des autorisations d'exécution à tous les utilisateurs : 🎜rrreee
      🎜Vérifiez que le fichier existe au bon emplacement🎜🎜🎜Si vous obtenez une erreur "introuvable" lors de l'exécution du programme , vous devez également vous assurer que le fichier existe réellement à l'emplacement spécifié. En effet, dans certains cas, le fichier peut avoir été déplacé, supprimé ou son nom a été modifié. 🎜🎜Nous pouvons utiliser la commande ls pour vérifier si le fichier existe. Par exemple, la commande suivante affichera tous les fichiers et répertoires du répertoire actuel : 🎜rrreee🎜 Si le fichier existe à l'emplacement spécifié, vous devez vérifier que le nom du fichier est correct. Parfois, nous pouvons saisir un nom de fichier incorrect, ce qui empêche le système de trouver le fichier exécutable requis. 🎜
        🎜Assurez-vous que les bibliothèques que vous utilisez sont correctement installées🎜🎜🎜Certains exécutables peuvent dépendre de fichiers de bibliothèque spécifiques. Des erreurs « introuvable » peuvent également survenir lors de l'exécution d'un programme si les fichiers de bibliothèque requis ne sont pas installés correctement. 🎜🎜Nous pouvons utiliser la commande ldd pour afficher les fichiers de bibliothèque dont dépend le fichier exécutable. Par exemple, la commande suivante affichera les bibliothèques dont dépend l'exécutable my_program : 🎜rrreee🎜Si un fichier de bibliothèque est manquant, vous devrez utiliser un gestionnaire de packages pour installer la bibliothèque requise. 🎜🎜En résumé, lorsqu'une erreur « introuvable » se produit lors de l'exécution d'un programme sous Linux, nous devons vérifier le chemin du fichier exécutable, les autorisations du fichier, l'existence du fichier et l'installation des fichiers de bibliothèque dépendants dans l'ordre. En résolvant ces causes possibles une par une et en prenant les mesures de réparation appropriées si nécessaire, nous pouvons résoudre ces types de problèmes afin que le programme puisse s'exécuter correctement. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal