J'ai un fichier. J'aimerais faire écho au chemin complet qui y mène dans le terminal.
Quelle commande serait?
Je l'ai trouvé:
Sudo apt-get install realpath
Ensuite:
realpath MY_FILE
Utilisez readlink
avec -e
. Non seulement cela vous donne le chemin complet du fichier, mais aussi le vrai chemin des liens symboliques
$ readlink -e ./out.txt
/home/xieerqi/out.txt
Personnellement, je l'utilise dans mes propres scripts chaque fois qu'il est nécessaire d'obtenir le chemin complet d'un fichier
Si vous ne connaissez pas l'emplacement du fichier, utilisez la commande find
.
find / -name MY_FILE
Il imprimera le chemin complet de MY_FILE
à partir de /
.
ou vous pouvez utiliser find $PWD -name MY_FILE
pour effectuer une recherche dans le répertoire actuel.
Si vous connaissez l'emplacement de MY_FILE
, accédez au dossier contenant MY_FILE
et utilisez
pwd
commande pour imprimer le chemin complet de MY_FILE
.
Voici une fonction permettant d’afficher les chemins des fichiers, vous aurez peut-être besoin de la partie "fpath = ...."?
pathtofile () { : "gives full path to files given in parameters.";
for f in "$@"; do
fpath="$(
cd -P "$(dirname "$f")" && \
printf '%s\n' "$(pwd)/$(basename "${f}")" || \
{ echo "__An error occured while determining path to file: '${f}'."\
"Maybe your user can't access its directory, most likely?__"
} )"
printf "Full path to: %s\n is: %s\n" "'${f}'" "'${fpath}'";
done
}
Utiliser avec:
pathtofile file1 ../file2 /some/pathwithsymlink/file3
La partie importante: cd -P somedir: montre le chemin "réel" complet vers somedir.