Viewing files with cat, more, less and vim
There are 3 main tools available on almost every Linux systems to view files, and a couple that allow you to see partial files.
They all have the general format of command
followed by the file you want to access.
For more details on any command line argument that may be available, if not referenced here, check the man page for that tool by typing man
followed by the command name, for example:
man less
cat
cat
(from concatenate) is a tool that is used to take the file name provided as an argument, and then print it to standard output (the screen), but can be redirected to a file. This can be useful in showing the contents of small files on the screen.
It can also be used to concatenate (which is it's primary design use) multiple small files into one larger one, for example, compiling multiple logfiles into one file.
Meeeow.
more
The output of cat
can be piped into more
, to allow the data to be paused page by page, with each page advancing (and only advancing) by pressing any key. This allows you to have a chance to read data on a file that would otherwise scroll by on the screen faster than you can read.
less
The opposite of more
. More allows you to display the contents of a file, but also allows you scroll back and forth, and run searches, using the same syntax as you would with vim
- or sed
- but you cannot edit anything - it's read-only only!
vim
Visual editor - improved! - vim
for short (in some basic distros, you may only have vi
- it works the same way globally) This will allow you to view and edit files, but it has a particular way of working, where there is no menu per-se but you have to switch between command mode, where you can instruct vi to save, quit, search, replace etc, and insert mode where you can enter text and navigate using the arrow keys on the keyboard.
This is not an extensive doc on vim, it's a lot more complex than what is presented here!
Get into insert mode
When you open a file, you are in command mode. You can possibly navigate around the file with the arrow and page up/down keys and you can run searches, save, exit or quit without saving, but not enter text.
To get into insert mode and be able to type in the document, you will press the i
key followed by enter
. You will now switch to insert mode and you can edit your document.
Get to command mode
You will need to get out of insert mode to save and quit vim - you need to remember the command combination as there is no visual menu!
To switch back from insert mode to command mode, press the escape
key.
From here, you can enter commands.
Basic commands will start with a full-colon :
followed by a command key code - then press enter
to validate:
:w
: Write the current document document:x
: Save and exit:q
: Quit:q!
: Quit directly, dont save, and don't ask for confirmation!
Searching and replacing
Both of these operations are carried out from command mode.
Searching
This is not started with a full-colon but a slash, followed by your search term:
/something
will search the open file for the stringsomething
- Remember that you may need to escape certain control characters. If you don't find what you expect, add a backslash
\
before any symbols thatvim
may process unexpectedly.
Replacing
As for searching, the same comment on escaping symbols as noted above applies.
= One occurrence in a file =
:s/search/replace/g
: Replace the first occurrence of the wordsearch
and replace it with the wordreplace
= All occurrences in a file =
:%s/search/replace/g
: Replace every occurrence of the wordsearch
and replace them with the wordreplace
in the document.