Comment obtenir rapidement le chemin complet d'un fichier pour l'utiliser dans un terminal?

39

Comment obtenir rapidement le chemin complet d’un fichier pour l’utiliser dans un terminal?

    
posée Olivier Lalonde 26.01.2011 - 20:32
la source

7 réponses

29

Il suffit de glisser-déposer le fichier dans le terminal.

    
réponse donnée Olivier Lalonde 26.01.2011 - 20:32
la source
35
readlink -f foo.bar

ou (installez-le d'abord)

realpath foo.bar
    
réponse donnée spennig 26.01.2011 - 21:27
la source
9

Toutes les bonnes réponses; Voici un conseil pour une autre situation.

Si vous parcourez vos fichiers en utilisant Nautilus et que vous souhaitez connaître le chemin complet de votre répertoire actuel, appuyez sur CTRL+L . Cela modifie temporairement les boutons de navigation vers l'ancienne barre d'adresse, vous permettant de copier le chemin.

    
réponse donnée Sicco 06.06.2012 - 22:34
la source
3

S'il s'agit d'un exécutable, exécutez (dans un terminal):

$ which your_executable

Par exemple: $ which ls

    
réponse donnée perseo22 26.01.2011 - 20:52
la source
1

En plus de faire glisser l'icône, il existe plusieurs façons d'obtenir le chemin complet sans nautilus (ou thunar, konqueror, et al.). Vous pouvez ensuite cliquer trois fois, cliquer-glisser et copier, ce qui permet de l’enregistrer dans votre gestionnaire de presse-papiers * et de le coller là où vous en avez besoin.
(pastie, klipper, glippy, glipper, anamnesis)

  • Vous pouvez utiliser find dans un répertoire au-dessus de votre fichier. (Si vous ne savez pas où c'est, commencez par votre shell, [généralement] en haut de votre répertoire personnel.)
    find . | egrep filename

  • Vous pouvez utiliser locate pour obtenir le nom du fichier. (Exécutez sudo updatedb si cela n'a pas été fait récemment.)

Un exemple plus réaliste d’utilisation de find serait quelque chose comme:

$ find | egrep askubuntu | grep txt
./askubuntu-temp.txt
./drDocuments/web/meta.askubuntu.txt
./other/stuff/askubuntu.txt.iteration.1
./other/stuff/askubuntu.txt.iteration.2
[...]

Pour couper ceux que vous n'aimez pas, par exemple:

find | egrep askubuntu | grep txt | egrep -v iteration
find | egrep askubuntu | grep txt | egrep -v 'iteration|meta|other'

Locate est utilisé de la même manière, bien que grep soit souvent plus nécessaire:

locate myfile | egrep home | egrep -v 'mozilla|cache|local|bin|\.pyc|test' | grep \.py

Ce n'est pas le moyen le plus efficace de taper ceci, mais généralement, si j'ai perdu un fichier, je le fais de manière itérative, en ajoutant des clauses grep au fur et à mesure.

    
réponse donnée belacqua 26.01.2011 - 21:12
la source
1

Facilement réalisé en python en utilisant la fonction os.realpath() :

$ python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' ./VirtualBox\ VMs/                                      
/mnt/HDD/VirtualBox VMs
    
réponse donnée Sergiy Kolodyazhnyy 13.01.2017 - 14:57
la source
0

Si vous copiez simplement un fichier dans Nautilus, le chemin complet est copié.
Puis collez-le dans le terminal. En vous collant simplement, vous obtenez:

file:///home/juan/2017/agenda20170101.html

Si vous cliquez avec le bouton droit et choisissez "Coller les noms de fichiers", vous obtenez:

'/home/juan/2017/agenda20170101.html'

avec les guillemets comme indiqué.
Cela diffère de Windows, qui copie le contenu du fichier au lieu de son nom.

    
réponse donnée Juan Lanus 08.01.2017 - 15:26
la source

Lire d'autres questions sur les étiquettes