Newer
Older
## Exercise 1 - Navigating the filesystem on command line
**Objective:** get familiar with navigating the directory tree and listing
the content of directories.
1. **Print your current working directory** with the `pwd` command. This will
show you where you currently are in the directory tree.
2. **Navigate to the `exercises/` directory** (the one you unpacked from the
zip archive file). If you are already in the `exercises/` directory,
navigate to its parent with `cd ..` and then come back to it.
3. **Try to run the command `cd .`**. What happens? What does the `.` stand
for?
4. **List the content** of the `exercises/` directory with `ls`, `ls -l`,
`ls -lh`, and `ls -lha`.
* What do the `-l`, `-h` and `-a` options do?
* **Hint:** you can use `man ls` to display the help for the `ls` command.
To exit the help, simply type `q` on your keyboard.
* *Note:* one-letter options can be grouped together, so `ls -lha` is the
same as `ls -l -h -a`.
* *Note:* some options have both a "short" and a "long" form. E.g. `ls -a`
is the short form for `ls --all`.
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<br>
<details><summary><b>Exercise solution</b></summary>
<p>
1. Printing the current working directory:
```sh
pwd
```
2. Navigate to the current directory, or navigate in and out of it.
```sh
# If you are not already in the practicals directory.
# Note: in the command below, you need to replace /path/to/directory/ with
# the actual absolute or relative path of the directory where your
# "practicals" directory is located.
cd /path/to/directory/exercises
pwd
# If you are already in the practicals directory.
cd .. # Change to parent directory.
pwd #
ls -l #
cd exercises/ # Go back into the practicals/ directory.
```
3. The `.` symbol is a shortcut for the current directory. So running `cd .`
has no effect since it simply changes to the same directory we are already
in.
The `.` shortcut is useful in some situations. E.g. if you want to copy
a file to the current directory you can do `cp /file/to/copy .`, or you
can run an executable located in the current directory with `./run_me.sh`.
4. Listing the content of the `exercises/` directory with different `ls`
options. the effect of the different options is described in the comments
of the code block below.
```sh
ls # Prints the names of files and directories
ls -l # List content of the subdirectory in "long listing" format. This
# provides additional details for each file/directory, such as
# its permissions, its size and its last modified date.
ls -lh # Adding the "-h" option displays file sizes in "human readable"
# format. The size of files are shown in kB, MB, GB, instead of
# their size in bytes (octets).
ls -lha # Adding the "-a" option additionally displays hidden files and
# directories. These are files/directories whose name starts with
# a dot ".". The "-a" is the
# Hidden files are often used to store program configurations.
```
**Tip:** It is possible to define a shorthand for longer commands that you use often, a so called `alias`. On Science Cluster, there are already some pre-defined useful aliases, among them `ll` (standing for `ls -lFh`) and `la` (standing for `ls -lA`).
</p>
</details>
<br>