Comment pouvez-vous rapidement obtenir le chemin complet d'un fichier pour une utilisation dans un terminal?
Il suffit de faire glisser le fichier dans le terminal.
readlink -f foo.bar
ou (installez-le d'abord)
realpath foo.bar
Toutes les bonnes réponses; Voici un conseil pour une autre situation.
Si vous parcourez vos fichiers à l’aide de 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 dans la barre d'adresses de style ancien, ce qui vous permet de copier le chemin.
Si c'est un exécutable, alors exécutez (dans un terminal):
$ which your_executable
Par exemple: $ which ls
Effectuez-vous facilement dans python à l'aide de la fonction os.realpath()
:
$ python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' ./VirtualBox\ VMs/
/mnt/HDD/VirtualBox VMs
A partir de réponse associée , vous pouvez également utiliser readlink
$ readlink -e ./out.txt
/home/username/out.txt
En plus de faire glisser l'icône, il existe plusieurs façons d'obtenir le chemin complet sans nautile (ou thunar, konqueror, et autres). Vous devez ensuite cliquer trois fois ou cliquer-glisser-copier et copier, enregistrez éventuellement ceci dans votre gestionnaire de Presse-papiers * et collez-le à l'endroit souhaité.
(pastie, klipper, glippy, glipper, anamnèse)
Vous pouvez utiliser find
dans un répertoire au-dessus de votre fichier. (Si vous ne savez pas où il se trouve, commencez par l'endroit où votre shell vous dépose, [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 dé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'
lOCAL est utilisé à peu près 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 cela, 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.
Si vous copiez simplement un fichier dans Nautilus, le chemin complet est copié.
Puis collez-le dans le terminal. En collant, vous obtenez:
file:///home/juan/2017/agenda20170101.html
Si vous faites un clic droit et choisissez "Coller les noms de fichiers", vous obtenez:
'/home/juan/2017/agenda20170101.html'
avec les citations comme indiqué.
Cela diffère de Windows, qui copie le contenu du fichier à la place de son nom.