logo

Comment obtenir le chemin complet d'un fichier sous Linux

Nous travaillons souvent avec des fichiers Linux lors de la création de scripts shell. Mais parfois, nous avons besoin de connaître le chemin complet d’un fichier sur lequel nous travaillons et cet article vous expliquera comment obtenir le chemin complet d’un fichier. Nous avons répertorié quelques méthodes qui vous aideront à trouver l'emplacement d'un fichier particulier.

Mais avant d’aller plus loin, créons d’abord un fichier :



La sortie ci-dessus montre clairement que file.txt a été créé avec succès.

Nous allons maintenant examiner les méthodes qui nous donneront le chemin complet d’un fichier. Au total, 6 méthodes sont répertoriées dans cet article. Ils comprennent:

Méthode 1 : La commande readlink

La commande readlink est utilisée pour imprimer les noms de fichiers canoniques. Nous utiliserons l'option -f en combinaison avec readlink pour imprimer l'emplacement du fichier. Voici la mise en œuvre et le résultat :



Méthode 2 : La commande realpath

La commande realpath affiche le chemin absolu d’un fichier. Nous n’utiliserons ici aucune option, contrairement à la commande readlink. La mise en œuvre et le résultat sont donnés ci-dessous :

Méthode 3 : La commande dirname

Une autre option intéressante est la commande dirname . Il prend le chemin complet d'un fichier, supprime le nom du fichier du chemin et affiche le reste à l'écran. Découvrez la mise en œuvre et le résultat ci-dessous :

Méthode 4 : La combinaison des commandes basename et dirname

Nous avons vu comment utiliser la commande dirname. Mais il y a autre chose que nous pouvons faire avec cette commande. Nous pouvons combiner cette commande avec une autre appelée basename. La commande basename fait tout le contraire de dirname. Il prend le chemin complet d'un fichier, supprime tout ce qui apparaît avant le nom du fichier et affiche le reste à l'écran.



Passons maintenant à la démonstration. Mais avant de démontrer l’utilisation combinée de basename et dirname, nous allons d’abord voir comment fonctionne basename :

De toute évidence, la sortie ci-dessus affiche uniquement le nom du fichier.

Nous verrons ensuite comment les commandes ci-dessus peuvent être utilisées ensemble. Créons un script shell nommé file_path.sh, qui contient les éléments suivants :

#!/bin/bash echo '$(cd '$(dirname '')' && pwd -P)/$(basename '')'>

Ci-dessus, nous avons utilisé la commande dirname pour trouver l'emplacement du fichier, que nous saisirons comme premier argument de ligne de commande. Ensuite, nous avons navigué jusqu'à l'emplacement du fichier et imprimé le répertoire de travail actuel. Nous avons demandé l'emplacement physique du fichier à l'aide de la commande -P. Enfin, nous avons utilisé la commande basename pour imprimer uniquement le nom du fichier.

Si nous exécutons le script shell ci-dessus, le résultat sera :

Nous pouvons voir ci-dessus que les sorties de ces deux commandes sont concaténées en une seule pour obtenir le chemin complet du fichier.

Méthode 5 : La commande find

Le trouver la commande est une autre façon d'obtenir le chemin complet d'un fichier. Voyons voir comment ça fonctionne:

Ci-dessus, nous avons utilisé la commande find avec les sous-commandes suivantes pour obtenir l'emplacement du fichier :

liste c#
  • Le -type f La commande nous aide en recherchant des fichiers.
  • Le -nom La commande nous aide en recherchant les fichiers dans le répertoire de travail actuel et ses sous-répertoires.

La sortie ci-dessus nous montre clairement le chemin complet du fichier.

Méthode 6 : La commande ls

Une autre méthode consiste à utiliser la commande ls . Si un répertoire est passé en argument, il répertorie tous les fichiers et dossiers situés dans ce répertoire. Mais si un nom de fichier est transmis avec la commande pwd, alors la commande nous montre l'emplacement du fichier. Voir ce qui suit :

On peut voir ci-dessus que le chemin complet du fichier est affiché à l'écran.

Conclusion :

Dans cet article, nous avons abordé quelques moyens utiles pour obtenir le chemin complet d'un fichier. Ainsi, la prochaine fois que vous serez bloqué, utilisez l’une des méthodes ci-dessus pour obtenir votre réponse immédiatement.