< Previous | Index | Next > |
Chapter 1: Directories and the Filesystem
1.1 Listing files and directories
ls (list)
When you first login, your current working directory is your home directory. Your home directory has the same name as your username and it is where your personal files and subdirectories are saved. To find out what is in your home directory, type
nobackup
The ls
command lists the contents of your current working directory.
When your supercomputing account is first created, you should see the nobackup
directory and maybe a few other directories in the output of ls
It is also important to note that ls
does not, in fact, cause all the files in your home directory
to be listed, but only those ones whose name does not begin with a dot (.) Files
beginning with a dot (.) are known as hidden files and usually contain important
program configuration information. They are hidden because you should not change
them unless you are very familiar with Linux. To list all files in your home
directory including those whose names begin with a dot, type
ls
is an example of a command which can take options; -a
is an example of an option. The options change the behaviour of the command.
There are manual pages that tell you which options a particular command
can take, and how each option modifies the behaviour of the command. (See later
in this tutorial)
1.2 Making Directories
mkdir (make directory)
We will now make a subdirectory in your home directory to hold the files you will be creating and using in the course of this tutorial. To make a subdirectory called linuxstuff in your current working directory type
To see the directory you have just created, type
1.3 Changing to a different directory
cd (change directory)
The command cd directory
means change the current
working directory to 'directory'. The current working directory may be thought
of as the directory you are in, i.e. your current position in the file-system
tree. To change to the directory you have just made, type
Type ls
to see the contents (which should be empty).
Exercise 1a
Make another directory inside the linuxstuff directory called backups
1.4 The directories . and ..
Still in the linuxstuff directory, type
As you can see, in the linuxstuff directory (and in all other directories), there are two special directories named (.) and (..). In Linux, (.) means the current directory, so typing
Note: there is a space between
cd
and the dot
means stay where you are (the linuxstuff directory). This may not seem very useful at first, but using (.) as the name of the current directory will save a lot of typing, as we shall see later in the tutorial. (..) means the parent of the current directory, so typing
will take you one directory up the hierarchy (back to your home directory).
cd
with no argument always returns you to your home directory.
This is very useful if you are lost in the file system.
1.5 Pathnames
Absolute and Relative Pathnames
Pathnames are a way to specify the location of a file or directory. Pathnames can be either relative or absolute.
Relative pathnames specify the location of the file or directory relative to the current working directory. When
you first login, the current working directory is your home directory and changes each time you use
cd
.
So, for example, linuxstuff/backups is the path to backups relative to my home
directory.
Absolute paths differ from relative paths in that they always start with /. The
/
indicates that we want to start from the "root" of the file tree. In a sense, absolute paths are composed of
multiple
relative paths that are all relative to /.
pwd (print working directory)
There happens to be an easy way to find out the absolute path of any given directory. The pwd
command
will show the absolute path of the current working directory. To find out the absolute pathname
of your home directory, type cd
to get back to your home directory and then type
The absolute pathname will look something like this:
Each "/" indicates a subdirectory. This means that myusername (your home directory) is in the directory home
which
is in the "root" directory of the file tree (/).
Using the absolute path of your home directory and the path of backups relative to it (linuxstuff/backups),
it is possible to
work out the absolute path to backups. We simply add the relative path to the end of the absolute
path with a "/" in between.
Thus, the absolute path to backups would be
/home/myusername/linuxstuff/backups. We can verify this by using cd
to go to that directory and then using pwd
.
Exercise 1b
Use the commands ls
, pwd
and cd
to explore
the file system. Remember, if you get lost, type cd
by itself to return to your
home directory.
1.6 More about home directories and pathnames
Understanding pathnames
First type cd
to get back to your home directory, then type
to list the contents of your linuxstuff directory. Now type
You will get a messsage like this:
The reason is, backups is not in your current working directory.
To use a command on a file (or directory) not in the current working directory
(the directory you are currently in), you must either cd
to the
correct directory, or specify its full pathname. To list the contents of your
backups directory, you must type
~ (your home directory)
Home directories can also be referred to by the tilde ~ character. It can be used to specify paths starting at your home directory. So typing
will list the contents of your linuxstuff directory, no matter where you are currently in the file system.
Exercise 1c
What do you think
would list?
What do you think
would list?
Now, check your answers by running the commands.
Summary
ls |
list files and directories | |
ls -a |
list all files and directories | |
mkdir |
make a directory | |
cd directory |
change to named directory | |
cd |
change to home directory | |
cd ~ |
change to home directory | |
cd .. |
change to parent directory | |
pwd |
display the path of the current directory |
< Previous | Index | Next > |