How can you quickly get the complete path to a file for use in terminal?
readlink -f foo.bar
or (install it first)
Just drag and drop the file in the terminal.
All good answers; Here is a tip for another situation.
If you are browsing your files using nautilus and you want the complete path of your current directory, then press
CTRL+L. This changes the breadcrumb buttons temporarily back to the old-style address bar, allowing you to copy the path.
If it's an executable, then execute (in a terminal):
$ which your_executable
$ which ls
In addition to dragging the icon, there are a few ways to get the full path without nautilus (or thunar, konqueror, et al.). You would then triple-click or click-drag and copy, potentially saving this in your clipboard manager*, and paste it where you need.
(pastie, klipper, glippy, glipper, anamnesis)
You can use
findin a directory above your file. (If you don't know where it is, start where your shell drops you, [generally] in the top of your home directory.)
find . | egrep filename
You can use
locateto get the filename. (Run
sudo updatedbif that hasn't been done recently.)
A more realistic example of using find would be something like :
$ 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 [...]
To cut out the ones you don't like, e.g.:
find | egrep askubuntu | grep txt | egrep -v iteration find | egrep askubuntu | grep txt | egrep -v 'iteration|meta|other'
locate is used much the same way, though grep is frequently more necessary:
locate myfile | egrep home | egrep -v 'mozilla|cache|local|bin|\.pyc|test' | grep \.py
This isn't the most efficient way to type this, but usually if I've lost a file, I do this iteratively, adding grep clauses as I go.
Easily done in python using
$ python -c 'import os,sys;print(os.path.realpath(sys.argv))' ./VirtualBox\ VMs/ /mnt/HDD/VirtualBox VMs
From a related answer,you can also use
$ readlink -e ./out.txt /home/username/out.txt
If you simply copy a file in Nautilus, then the full path is copied.
Then paste it in the terminal. By simply pasting you get:
If you right-click and choose "Paste filenames" then you get:
with the quotes as shown.
This differs from Windows, that copies the file content instead of its name.
protected by Sergiy Kolodyazhnyy Nov 27 '18 at 9:32
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?