83 votes

Comment afficher le chemin d'accès complet d'un fichier, y compris le nom de fichier complet, dans le terminal Mac OSX ?

ls peut afficher le nom du fichier, par exemple

ls config.inc.php
config.inc.php 

pwd afficher le chemin complet du dossier actuel, par exemple

pwd
/Application/XAMPP/xamppfiles/phpmyadmin

Y a-t-il une commande peut les mettre ensemble, serait en mesure de montrer :

/Application/XAMPP/xamppfiles/phpmyadmin/config.inc.php

41voto

Purplejacket Points 424

Utilisez realpath

Par exemple :

$ realpath README.md 
/Users/joe/my/long/directory/structure/README.md

Réponse ici sur stackoverflow : https://stackoverflow.com/a/3915075/441960

Assurez-vous de télécharger les coreutils sur Homebrew car ils ne sont pas installés par défaut sur tous les macs :

brew install coreutils

Pour info, ma version de MacOS (OSX) :

$ uname -a
Darwin my-machine 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 x86_64

34voto

rob grune Points 893

D'ici : https://stackoverflow.com/a/4031502/804713

macports et homebrew fournissent un paquet coreutils contenant greadlink (GNU readlink). crédit à Michael Kallweitt post dans mackb.com

brew install coreutils

greadlink -f fichier.txt

22voto

itsmejoeeey Points 280

Il existe de nombreuses façons de le faire ; voici un exemple qui peut vous convenir :

claw:~ jonv$ echo `pwd`/`ls config.in.php`
/Users/jonv/config.in.php

Si vous voulez plus d'exemples, il y en a un tas sur este sur le site de stackoverflow.

13voto

Mowzer Points 1879

Sous Mac OSX, procédez comme suit :

  1. cd dans le répertoire du fichier cible.
  2. Tapez l'une des commandes de terminal suivantes.

Terminal

ls "`pwd`/file.txt"
echo $(pwd)/file.txt
  1. Remplacer file.txt avec votre nom de fichier actuel.
  2. Appuyez sur Enter .

6voto

FGreg Points 205

Je n'ai pas aimé les solutions proposées, alors j'ai fait la mienne en me basant sur https://stackoverflow.com/a/22684652/953327

Créer un alias qui est simplement un appel de fonction qui combine pwd y ls $1 . Vous pouvez ensuite l'ajouter à votre .bash_profile si vous le souhaitez.

alias lsf='function _lsf(){ echo "$(pwd)/$(ls $1)"; };_lsf'

Exemple d'utilisation :

lsf registry.lock
-> /tmp/registry.lock

J'ai choisi lsf pour "liste complète" ou "liste fichier", cela me semble logique mais n'hésitez pas à modifier.


Mise à jour (Merci @santiago-arizti) Pour pouvoir l'utiliser avec des chemins relatifs (par exemple, le chemin d'accès à un site web), il est nécessaire d'utiliser la fonction d'accès à un site web. lsf ../../readme.md )

alias lsf='function _lsf(){ (cd $(dirname "$1") && echo $(pwd)/$(basename "$1")) };_lsf'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X