Comment pouvez-vous rapidement obtenir le chemin complet d'un fichier pour une utilisation dans un terminal?
Comment pouvez-vous rapidement obtenir le chemin complet d'un fichier pour une utilisation dans un terminal?
Réponses:
readlink -f foo.bar
ou (installez-le d'abord)
realpath foo.bar
ls | xargs realpath
.
readlink
est que cela fonctionnera même si le fichier n'existe pas. Cela peut perpétuer les insectes de manière très étrange.
Il suffit de glisser-déposer le fichier dans le terminal.
'/home/alexcohn/.gvfs/…'
Toutes les bonnes réponses; Voici un conseil pour une autre situation.
Si vous naviguez dans vos fichiers avec 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.
smb://
style, donc il ne peut pas être réutilisé dans un terminal.
smb://
chemin -style.
Si c'est un exécutable, alors exécutez (dans un terminal):
$ which your_executable
Par exemple: $ which ls
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écuter 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.
Facilement fait en python en utilisant la os.realpath()
fonction:
$ python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' ./VirtualBox\ VMs/
/mnt/HDD/VirtualBox VMs
À partir d’une réponse associée , vous pouvez également utiliserreadlink
$ readlink -e ./out.txt
/home/username/out.txt
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 cliquez avec le bouton droit de la souris 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 au lieu de son nom.