(root) | | ---------------- | | tmp user | | -------------------------- | | kim sandy | | ----------- --------------- | | | | Mail file-for-sandy todo papers | | received ------------------ | | syntax chinese-tone.tex | --------------- | | swedish-word-order russian-case | ------------- | | swo-draft1.tex swo-final.texSandy is a user on this system. Her username is sandy. When she logs on, she is in her home directory, /user/sandy. When she types 'cd papers', she is in her papers directory, so 'ls' there would show the subdirectory 'syntax' and the file 'chinese-tone.tex'. Typing 'cd ..' (to go one level up) would bring her back to her home directory, and so would 'cd'. But you don't have to walk along step by step - you can make big leaps by specifying pathnames. For example, you can cd to 'papers/syntax/' directly, without going through 'papers'.
In fact, in many cases it's not even worth 'going' there at all, but can do whatever you wanted to do there by giving the pathname to the command directly, and avoid having to find your way back. For example, instead of doing
you can saycd papers/syntax/swedish-word-order
ls
cd
ls papers/syntax/swedish-word-order
directly.
cd ~/papers/syntax/swedish-word-order
would be more general since this will work independently of which
directory you're currently in. The tilda is an abbreviation of a
complete pathname that mentions all the directories above your home
directory, i.e. in this case
/user/sandy/papers/syntax/swedish-word-order
Pathnames like the above, which start with a / (for the root
directory), are called absolute pathnames.
more /user/kim/file-for-sandyOf course, if Sandy is currently in her home directory,
more ../kim/file-for-sandywould be just as fast. But the best option is
more ~kim/file-for-sandybecause it doesn't require knowledge of the actual complete pathname to Kim's home directory, which may not be as straightforward on a more complex system like turing.
If Sandy is using the tcsh, she can also use TAB completion to avoid having to type (and know!) full pathnames. For example, if she was in her home directory, typed 'cd p' and then hit the TAB key, the complete name of the 'papers' directory would be filled in automatically. This works whenever it's unique, i.e. it wouldn't work if she typed 'more s' TAB in her swedish-word-order directory. But it works until the point of divergence, i.e. the 'wo-' would be filled in, and then all she'd have to do is type 'f' and another TAB to look at the file swo-final.tex.
The wildcard *, which will match any string, has a related but different function. For 'cd' the effect could be almost the same - 'cd p*' typed in Sandy's home directory would have the same effect as 'cd p' TAB. But * won't work when there's more than one possibility, which makes it useful for other purposes, e.g. listing all files beginning with, ending in, or containing a certain string of letters.