3 Write some sentences. If you want to insert a new line, rst press [Esc] to
switch back to command mode. Press [O] to insert a new line and to switch
to insert mode again.
4 In the insert mode, you can edit the text with the arrow keys and with [Del].
5 To leave vi, press [Esc] to switch to command mode again. Then press [:]
which takes you to the extended mode. The bottom line now shows a colon.
6
To leave vi and save your changes, type wq (w for write; q for quit) and press
[Enter]. If you want to save the le under a dierent name, type w
filename
and press [Enter].
To leave vi without saving, type q! instead and press [Enter].
7.8 Searching for Files or Contents
Bash oers you several commands to search for les and to search for the contents
of les:
locate
This utility is only available if you have installed the findutils-locate package.
With this command you can nd out in which directory a specied le is located.
If desired, use wild cards to specify lenames. The program is very quick, because
it uses a database specically created for the purpose (rather than searching
through the entire le system). This very fact, however, also results in a major
drawback: locate is unable to nd any les created after the latest update of its
database. The database can be generated by root running updatedb.
find
With find, search for a le in a given directory. The rst argument species the
directory in which to start the search. The option -name must be followed by a
search string, which may also include wild cards. Unlike locate, which uses a
database, find scans the actual directory.
grep
The grep command nds a specic search string in the specied text les. If the
search string is found, the command displays the line in which searchstring was
found, along with the lename. If desired, use wild cards to specify lenames.
7.8.1 Examples for Searching
The KDE and GNOME desktops store user-specic application data in hidden direc-
tories, for example .kde and .gnome.
1 To locate these directories on your computer, enter
locate .kde
Shell Basics 101