OPS145 Lab 5 Newversion: Difference between revisions
Line 40: | Line 40: | ||
This will quit vi without saving any changes you made to the document. | This will quit vi without saving any changes you made to the document. | ||
You will also want to do this if you open vi with no filename, or the wrong filename. Try it: | * You will also want to do this if you open vi with no filename, or the wrong filename. Try it:<syntaxhighlight lang="bash"> | ||
vi ~/Downloads/SampleFiles/1985.txt | vi ~/Downloads/SampleFiles/1985.txt | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 18:19, 10 February 2024
!!! THIS PAGE IS NOT READY YET !!!
One of the most common tasks a system administrator will do is to modify some configuration. Almost all services on Linux servers are configured using plain text configuration files.
So far in the course you've been using a graphical text editor. But since Linux servers don't have graphical user interfaces (GUIs): you have to learn to edit text files on the command line.
There are several common applications for command line text file editing. We're going to learn vi. Even though vi is a frustratingly annoying application to use: it's the one available on any Linux system.
vi
As you go through your Linux courses: try to think of vi as a necessary evil. We're going to learn the absolute basics necessary for you to be able to accomplish any task a systems administrator would need it for.
Modes
One of the confusing things about vi is that it can be in one of two modes at any time: command mode, and insert mode.
In insert mode it functions more or less the way you'd expect a text editor to function, except depending on your setup: the arrow keys, delete key, and backspace key might do weird things. Otherwise: when you press a letter key: that gets inserted into the text.
In command mode the keypresses on your keyboard are interpreted as instructions/commands to vi, and different keys are used for different commands.
For example: in insert mode pressing x on your keyboard will put the letter x into the text where the cursor is, but in command mode pressing x on your keyboard will delete the character underneath the cursor.
Often times this creates such confusion (especially if you don't look at the screen when you're typing) that you have to abandon what you've been trying to do and start over. A good portion of this lab is spent on recovery from mistakes.
Quit without saving
- Open one of the text files you donwloaded in lab2 in vi:
vi ~/Downloads/SampleFiles/1984.txt
Similarly to the less command: you can move around using the arrows, home/end, and PgUp/PgDown keys. Unlike the less command: there is a cursor. But if you try to type in some text: depending on which keys you use either nothing will happen or something weird will happen.
- Move the cursor to an empty like, and type in hello. Whatever happend in vi is probably not what you wanted.
- Press ctrl+s. This will not save your document. Try ctrl+w, and ctrl+q. Neither will quit out of vi.
- Try the backspace and delete keys. They may or may not work, depending on various complicated factors.
At this point you probably made some unintended changes to your document, and you don't know how to undo them. The best thing to do when you're in this situation is to quit vi without saving:
- Press the Escape key, then colon (:), then q, then exclamation mark (!), then Enter. From now on in the instructions I'll use a shorthand notation like this: Esc+:q!
This will quit vi without saving any changes you made to the document.
- You will also want to do this if you open vi with no filename, or the wrong filename. Try it:
vi ~/Downloads/SampleFiles/1985.txt
- You could put in some text, and save it: but it would be saved in the wrong file. So quit without saving using Esc+:q!
- run+quit vi. no :w filename
- command mode, insert mode
- commands:
- i
- a
- u
- x
- /
- w
- wq
- q!