How Do I Navigate Between Directories in Terminal?
How Do I Navigate Between Directories in Terminal?
Community
Ask!
Developer
Design
Discourse
Hardware
Insights
Juju
Shop
More
Ubuntu
http://askubuntu.com/questions/232442/how-do-i...
sign up
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.
log in
tour
help
directory
46
67
25
4 Answers
The filesystem is GNU/Linux is like a tree, except that the root is on top. :-) So you have structure
like:
/
bin/
home/
sharon/
Documents/
Downloads/
fileA.txt
fileB.jpg
usr/
var/
If you want to move inside the tree, one option is to use relative paths. If you are in /home/sharon ,
then typing cd Downloads will work, because Downloads is an immediate child of your current
directory. If you are in the subfolder Documents and want to change directory ( cd ) to Downloads ,
you have to go up ( .. ) and then to Downloads . So the correct command would be cd ../Downloads .
You could also enter an absolute path. So the Downloads folder is a subfolder of sharon which is a
subfolder of home which is (you get the idea :-)) So you can also enter cd /home/sharon/Downloads
wherever you are in the filesystem.
~ always refers to the home directory of the current user ( /home/sharon in your case). If you
enter cd ~/Downloads you'll land in your Downloads folder.
. refers to the current directory, so cd ./Downloads is roughly equivalent to cd Downloads .
.. means "parent directory".
/ at the beginning of file path refers to the root directory.
Tab
As the others said GNU/Linux is case sensitive. So it makes a difference if you enter Home , hOme or
home . Furthermore I hope that you see now that there is a difference between /home and home .
1 of 3
10/16/2014 04:35 PM
http://askubuntu.com/questions/232442/how-do-i...
The first is adressed absolute while the last is relative to your current directory.
edited Dec 25 '12 at 7:50
Sergey
22.9k
46
67
9,180
32
90
@ qbi: Wow, you're awesome. I love your detailed explanation on how to navigate among folders/directories. Are
you a teacher or professor in an educational institution? Most IT guys know a lot of IT stuff but breaking concepts
down to manageable and "digestible" chunks so that newbies can understand is only within the grasp of a handful
but gifted guys like you. n00b Dec 24 '12 at 22:04
Thanks, and yes, I'm am a kind of teacher. :-) qbi Dec 24 '12 at 22:32
sharon@sharon:~$ cd Home
bash: cd: Home: No such file or directory
The little cedilla ~ indicates you are already in your /home/sharon directory. When you ask for 'cd
Home' the terminal looks for /home/sharon/Home. There is none.
sharon@sharon:~$ cd /Home
bash: cd: /Home: No such file or directory
Now you are asking, given the leading slash, to go to a directory above the current location; that is
/home/Home. There is none.
sharon@sharon:~$ cd Documents
sharon@sharon:~/Documents$
Success!
sharon@sharon:~/Documents$ cd /Downloads
bash: cd: /Downloads: No such file or directory
I'm not too sure where exactly this is. If you want to change from /home/sharon/Documents to
/home/sharon/Downloads, please try:
cd ~/Downloads
If you want to go directly to your home directory, that is /home/sharon, simply do:
cd
And you can print the directory you are working in with (print working directory)
pwd
11
30
@ chili555: Thanks a lot for helping newbies like me. Merry Christmas to you and your loved ones. n00b Dec 24
'12 at 21:46
The leading slash indicates a path relative to the root, not one above the current directory. That would be ../
psusi Dec 25 '12 at 15:09
2 of 3
22
54
10/16/2014 04:35 PM
http://askubuntu.com/questions/232442/how-do-i...
@ psusi: Thanks to you, too. Merry Christmas to you and your loved ones. n00b Dec 24 '12 at 21:48
@ psusi: What does the leading slash mean? n00b Dec 24 '12 at 21:48
@ psusi: What does ./<filename> mean? n00b Dec 24 '12 at 21:49
@noob, / means start from the root directory and . means the current directory. psusi Dec 25 '12 at 15:05
I have to answer over this, because i can't comment on answers -.What does the leading slash mean? n00b
it means that the thin you are talking about is a directory not a file. Files don't have to have file
endings like in Windows, so ~/thisIsAFile would be a file in your home-directory but
~/thisIsAFile/ would be a directory/ a folder.
What does ./ mean? n00b
That means that the file you want to access is in your current directory.
Other usefull tips:
You can go a folder back with
cd ..
And you can get the path you are in with (print working directory)
pwd
@ a2r: Thanks for the clarification. I didn't know that files don't have file extensions like in Microsoft Windows. Do
programs have file extensions in Ubuntu too? n00b Dec 24 '12 at 22:18
Generally not, the system doesn't care what endings a file has, if its marked as executable ( google about chmod )
then you can run it as a programm. Also there is a global variable (google about it) called $PATH there are a view
directories saved (you can see which there are with echo $PATH ). And when you try to run a program like you type
gedit in the terminal. Your system looks throw the folders in $PATH and searches for gedit. a2r Dec 25 '12 at
12:33
That would be a trailing slash, not a leading slash. Also you must have a space in there before the .. . psusi Dec
25 '12 at 15:07
@ psusi: Sorry. I'm a bit confused here. What's a trailing slash? leading slash? Examples please? Thanks in advance.
n00b Dec 27 '12 at 13:36
3 of 3
10/16/2014 04:35 PM