Comment trouver le chemin complet d’un fichier sous Linux

Vous pouvez obtenir le chemin complet d’un répertoire avec la commande pwd :

pwd

Mais comment obtenir le chemin absolu d’un fichier sous Linux ?

Il existe plusieurs façons d’imprimer le chemin complet des fichiers :

  • lirelien
  • chemin réel
  • trouver
  • combinant ls et pwd
Différentes façons d’imprimer le chemin complet du fichier

Laissez-moi vous montrer ces commandes une par une. Mais avant cela, je suggère de revoir d’abord les bases du concept de chemin absolu et relatif.

Chemin absolu ou relatif sous Linux : quelle est la différence ?

Dans ce chapitre d’apprentissage essentiel de Linux, découvrez les chemins relatifs et absolus sous Linux. Quelle est la différence entre eux et lequel devriez-vous utiliser.

Le but de la readlink commande est de résoudre les liens symboliques. Vous pouvez l’utiliser pour afficher le chemin complet d’un fichier comme ceci :

readlink -f filename

Voici un exemple :

[email protected]:~$ readlink -f sample.txt 
/home/abhishek/sample.txt
[email protected]:

Utilisez realpath pour obtenir le chemin complet du fichier

La realpath La commande est utilisée pour résoudre les noms de fichiers absolus. Entre autres utilisations, il peut afficher le chemin complet vers un fichier.

realpath filename

Jetez un oeil à cet exemple:

[email protected]:~$ realpath sample.txt 
/home/abhishek/sample.txt
[email protected]:~$

Si vous l’utilisez avec un lien symbolique, il affichera le chemin réel du fichier d’origine. Vous pouvez le forcer à ne pas suivre le lien symbolique:

realpath -s filename

Voici un exemple où il a montré le chemin complet du fichier source par défaut, puis je l’ai forcé à afficher le lien symbolique, pas son fichier d’origine.

[email protected]:~$ realpath linking-park 
/home/abhishek/Documents/ubuntu-commands.md
[email protected]:~$ realpath -s linking-park 

Utilisez la commande find pour obtenir le chemin absolu du fichier

Voici le truc avec la commande find. Tout est relatif au répertoire que vous lui donnez comme emplacement de recherche.

Si vous le donnez. il montrera le chemin relatif. Si vous lui donnez le chemin absolu du répertoire, vous obtiendrez le chemin absolu des fichiers que vous recherchez.

Utilisez la substitution de commande avec la commande find comme ceci :

find $(pwd) -name filename

Vous pouvez l’exécuter pour trouver le chemin complet d’un seul fichier :

[email protected]:~$ find $(pwd) -name sample.txt
/home/abhishek/sample.txt

Ou, vous pouvez l’utiliser avec un tas de fichiers correspondant à un certain modèle :

[email protected]:~/Documents/eBooks$ find $(pwd) -name "*.pdf"
/home/abhishek/Documents/eBooks/think-like-a-programmer.pdf
/home/abhishek/Documents/eBooks/linux-guide.pdf
/home/abhishek/Documents/eBooks/absolute-open-bsd.pdf
/home/abhishek/Documents/eBooks/theory-of-fun-for-game-design.pdf
/home/abhishek/Documents/eBooks/Ubuntu 1804 english.pdf
/home/abhishek/Documents/eBooks/computer_science_distilled_v1.4.pdf
/home/abhishek/Documents/eBooks/the-art-of-debugging-with-gdb-and-eclipse.pdf

Maintenant, celui-ci est un peu délicat et désordonné.

Vous pouvez utiliser la variable d’environnement PWD avec la commande ls comme celle-ci pour afficher les fichiers et répertoires avec leur chemin absolu :

ls -ld $PWD/*

Vous obtenez une sortie comme celle-ci :

[email protected]:~/test$ ls -ld $PWD/*
-r--rw-r-- 1 abhishek abhishek    0 Jul 27 16:57 /home/abhishek/test/file2.txt
drwxrwxr-x 2 abhishek abhishek 4096 Aug 22 16:58 /home/abhishek/test/new

Cependant, pour imprimer le chemin complet d’un fichier avec la commande ls, vous devrez l’utiliser comme ceci :

ls -l $PWD/filename

Pas la solution la plus propre mais ça marche.

[email protected]:~$ ls -l $PWD/sample.txt 
-rw-r--r-- 1 abhishek abhishek 12813 Sep  7 11:50 /home/abhishek/sample.txt
[email protected]:~$ 

Conclusion

J’ai montré quatre façons différentes d’obtenir le chemin complet du fichier sous Linux. Les commandes find et ls sont courantes tandis que realpath et readlink sont à peine connues de nombreux utilisateurs Linux. C’est toujours bien d’apprendre de nouvelles choses, n’est-ce pas ?


5/5 - (1 vote)
SAKHRI Mohamed
SAKHRI Mohamed

Le blog d'un passionné d'informatique qui partage des actualités, des tutoriels, des astuces, des outils en ligne et des logiciels pour Windows, macOS, Linux, Web designer et jeux vidéo.

Publications: 3747

Laisser un commentaire

Your email address will not be published.