% ls fred1 fred2 fred3 ch1 ch2 ch3 foo.c bar.c %This is really not badly organized: the files fred1, etc. are letters to fred, the files ch1, etc. chapters of a book, and foo.c, bar.c are C programs. Nonetheless, we decide that it is time to get organized, with one directory per project.
We create a new directory using the mkdir command ( m ake d irectory).
% mkdir letters % ls fred1 fred2 fred3 ch1 ch2 ch3 foo.c bar.c letters
Notice that the directory letters shows up in the listing. If you are not sure what is a file and what is a directory, try this:
% ls -F fred1 fred2 fred3 ch1 ch2 ch3 foo.c bar.c letters/
Notice that letters is displayed somewhat differently.
Now we move the letters into the directory letters using the mv command ( m o v e).
% mv fred1 fred2 fred3 letters % ls ch1 ch2 ch3 foo.c bar.c lettersIf we want to check that letters really contains the files it should, we do this:
% ls letters fred1 fred2 fred3There is, by the way, a useful shortcut:
% mv fred* letters
Here the character * matches any sequence of characters, including the null string. Thus files named fred, fred101, and freddy would all be moved into letters.
% cat letters/fred1
This command displays the contents of the file fred1 , which is in the directory letters. Here are some other ways of doing the same thing:
% cat letters/fred1 % more letters/fred1 % emacs letters/fred1We could even do this:
% cat l*f*1
Sometimes it is better to work inside the directory letters. To do it we use the cd command ( ch hange d irectory).
% cd letters % ls fred1 fred2 fred3
The letters are there, as they chould be. To go back to our home directory we do this:
% cdWe check that our home directory contains what it should.
% ls ch1 ch2 ch3 foo.c bar.c letters
Now we make directories for the other files and move them into the right places:
% mkdir book; mv ch* book % mkdir cprogs; mv *.c cprogs % ls -F book/ cprogs/ letters/ % ls book ch1 ch2 ch3 %
Sometimes in moving from one directory to another we lose track of where we are. To find out what the current directory is, use the pwd command ( p rint w orking d irectory).
% pwd jeremy % cd book % pwd jeremy/book %
To remove a directory we first remove all the file in it, then remove the directory with rmdir ( r emove d irectory).
% pwd jeremy % cd letters % pwd jeremy/letters % rm * % cd .. % rmdir letters
The command rm * removes all files in the current directory. The command cd .. changes the current directory to the parent of the current one. In this case, it changes us from jeremy/letters to jeremy . Remember that jeremy/letters is a path , as is jeremy/letters/fred1. The latter is the path which starts with Jeremy's home directory and ends with the file fred1.