web-dev-qa-db-fra.com

Afficher le chemin complet du fichier dans le terminal

J'ai un fichier. J'aimerais faire écho au chemin complet qui y mène dans le terminal.

Quelle commande serait?

7
Karl Morrison

Je l'ai trouvé:

Sudo apt-get install realpath

Ensuite:

realpath MY_FILE
6
Karl Morrison

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

7
Sergiy Kolodyazhnyy

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.

5
Rahul

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.

0
Olivier Dulac