Essential of vi editor
Before we go further just learn how to create a hidden file in linux and see it.
$cat > [.name of file]
$cat > .secret This is a secret file
$ls
$ls –a .secret
$mv .secret test $ls test
If we want to change the matter of file cat will not do it for us. So we will use vi editor to change matter of file.
$vi test
Esc Command mode [press Esc key before giving any command] Insert Insert mode [ to start editing use press Insert key ] Exit Exit mode [ Exit mode can be access via press Ecs key and :]
Esc +:+w+q save and exit form file Esc+:+q+! exit without saving Esc+:+set nu to show hidden line Esc+:+/test to find test word in forward directions Esc+:+21 to move cursor in line number 21 Esc+:+2+yy to copy 2 line form cursor Esc+:+p to paste the copied line below the crusor Esc+:+dd to remove the entire line Esc+:+4+dd to remove 4 line below of cursor Esc+:+x to remove single character Esc+:+e to go to end of the word Esc+:+h to go one character back
Vi Editor Command
While emacs may be the most popular text editor in the world of Linux, every administrator needs at least a basic knowledge of vi. While emacs may be more popular and flexible, vi may help you save a broken system. If you ever have to restore a critical configuration file using an emergency boot floppy, vi is probably the only editor that you'll have available. You need to know how to restore your system from a rescue floppy, which does not have enough room to carry any editor other than vi.So should know how to use vi editor.
$ vi /tmp/test ~ ~ ~ ~ ~ “/tmp/test” [New File]
The box at the top represents where your cursor is. The bottom line keeps you informed about what is going on with your editing (here you just opened a new file). In between, there are tildes (~) as filler because there is no text in the file yet. Now here's the intimidating part: There are no hints, menus, or icons to tell you what to do. On top of that, you can't just start typing. If you do, the computer is likely to beep at you. And some people complain that Linux isn't friendly.
The first things you need to know are the different operating modes: command and input. The vi editor always starts in command mode. Before you can add or change text in the file, you have to type a command (one or two letters and an optional number) to tell vi what you want to do. Case is important, so use uppercase and lowercase exactly as shown in the examples! To get into input mode, type an input command. To start out, type either of the following:
- a-The add command. After it, you can input text that starts to the right of the cursor.
- i-The insert command. After it, you can input text that starts to the left of the cursor.
Arrow keys-Move the cursor up, down, left, or right in the file one character at a time. To move left and right you can also use Backspace and the space bar, respectively. If you prefer to keep your fingers on the keyboard, move the cursor with h (left), l (right), j (down), or k (up).
- w-Moves the cursor to the beginning of the next word.
- b-Moves the cursor to the beginning of the previous word.
- 0 (zero)-Moves the cursor to the beginning of the current line.
- $-Moves the cursor to the end of the current line.
- H-Moves the cursor to the upper-left corner of the screen (first line on the screen).
- M-Moves the cursor to the first character of the middle line on the screen.
- L-Moves the cursor to the lower-left corner of the screen (last line on the screen).
- x-Deletes the character under the cursor.
- X-Deletes the character directly before the cursor.
- dw-Deletes from the current character to the end of the current word.
- d$-Deletes from the current character to the end of the current line.
- d0-Deletes from the previous character to the beginning of the current line.
- ZZ-Save the current changes to the file and exit from vi.
- :w-Save the current file but continue editing.
- :wq-Same as ZZ.
- :q-Quit the current file. This works only if you don't have any unsaved changes.
- :q!-Quit the current file and don't save the changes you just made to the file.
The file reverts to the most recently changed version. So, if you just did a :w, you are stuck with the changes up to that point. If you just want to undo a few bad edits, press u to back out of changes.
You have learned a few vi editing commands. I describe more commands in the following sections. First, however,
here are a few tips to smooth out your first trials with vi:
- Esc-Remember that Esc gets you back to command mode. (I've watched people press every key on the keyboard trying to get out of a file.) Esc followed by ZZ gets you out of command mode, saves the file, and exits.
- u-Press u to undo the previous change you made. Continue to press u to undo the change before that, and the one before that.
- Ctrl+R-If you decide you didn't want to undo the previous command, use Ctrl+R for Redo. Essentially, this command undoes your undo.
- Caps Lock-Beware of hitting Caps Lock by mistake. Everything you type in vi has a different meaning when the letters are capitalized. You don't get a warning that you are typing capitals-things just start acting weird.
- :! command-You can run a command while you are in vi using :! followed by a command name. For example,
- type :!date to see the current date and time,
- type :!pwd to see what your current directory is,
- type :!jobs to see if you have any jobs running in the background.
- INSERT-When you are in insert mode, the word INSERT appears at the bottom of the screen.
- Ctrl+G-If you forget what you are editing, pressing these keys displays the name of the file that you are editing and the current line that you are on at the bottom of the screen. It also displays the total number of lines in the file, the percentage of how far you are through the file, and the column number the cursor is on.
Moving Around the File
Besides the few movement commands described earlier, there are other ways of moving around a vi file. To try these out, open a large file that you can't do much damage to. (Try copying /var/log/ messages to /tmp and opening it in vi.) Here are some movement commands you can use:- Ctrl+F-Page ahead, one page at a time.
- Ctrl+B-Page back, one page at a time.
- Ctrl+D-Page ahead one-half page at a time.
- Ctrl+U-Page back one-half page at a time.
- G-Goto the last line of the file.
- 1G-Go to the first line of the file. (Use any number to go to that line in the file.)
Searching for Text
To search for the next occurrence of text in the file, use either the slash (/) or the question mark (?) character. Follow the slash or question mark with a pattern (string of text) to search forward or backward, respectively, for that pattern. Within the search, you can also use metacharacters. Here are some examples:- /hello-Searches forward for the word hello.
- ?goodbye-Searches backward for the word goodbye.
- /The.*foot-Searches forward for a line that has the word The in it and also, after that at some point, the word foot.
- ?[pP]rint-Searches backward for either print or Print. Remember that case matters in Linux, so make use of brackets to search for words that could have different capitalization.
- :g/Local-Searches for the word Local and prints every occurrence of that line from the file. (If there is more than a screenful, the output is piped to the more command.)
- :s/Local/Remote-Substitutes Remote for the word Local on the current line.
- :g/Local/s//Remote-Substitutes the first occurrence of the word Local on every line of the file with the word Remote.
- :g/Local/s//Remote/g-Substitutes every occurrence of the word Local with the word Remote in the entire file.
- :g/Local/s//Remote/gp-Substitutes every occurrence of the word Local with the word Remote in the entire file, and then prints each line so that you can see the changes (piping it through more if output fills more than one page).
Using Numbers with Commands
You can precede most vi commands with numbers to have the command repeated that number of times. This is a handy way to deal with several lines, words, or characters at a time. Here are some examples:- 3dw-Deletes the next three words.
- 5cl-Changes the next five letters (that is, removes the letters and enters input mode).
- 12j-Moves down 12 lines.
System administrator commands in linux
First we would cover those commands which can be run from a normal user. To complete this practice login from a normal user.
How to count line word and character form a file
$wc [file name]
$wc test 2 4 23 test
In this example there are 2 lines 4 words and 23 character in test file.
how to display top and bottom line form files
$head –n [number] [file name]
$head –n 4 test
$tail –n [number] [file name]
$tail –n 3 test
how to find wrong spelling and correct them
$spell [file name]
$spell test
$aspell check [file]
$aspell check test
how display logged in user information and terminal number
$who am i
$who
$tty
how to display date time and calendar
$cal
$cal 2010 |more
This will display the calendar of year 2010. As output will be more than a page so use more switch with commands.
$date
how to use calculator
$bc
This command will launch the calculator at command prompt. Write down your calculations and press enter to get the answer. Use CTRL+D key combination to exit from calculator.
how to get help about commands
$info [command]
$info cat
$command - - help
$cat - - help
$man [command]
$man cat
$less [file]
$cat [file] |more
recommended you to complete that first.
System administrator commands in linux
Login from normal user
How to redirect the content of files in a new file
Create two file and write some text in them.$cat > one This is first file $cat > second This is second file
$cat one second > new $cat new This is first file This is second files
Then what exactly this command did? As you know cat command is used to display the content of file so it will first display the content of first file and then it will display the content of second file. But as you put a > sign at the end of command so despite of showing this output on screen command will redirect these contents to a file.
How to execute multiple commands in a single line
$[command] ; [command] ; [command] ;[command]……..
$cat new ; mkdir xyz ; mkdir rat ; ls This is first file This is second files new xyz rat
this command will first execute the first command which is cat new so it will display the matter of new file, further is mkdir xyz so it will create a xyz directory , further is mkdir rat so will create a rat directory and in the end we use ls command so it will list the contain of current directory.
How to create multiple sub directory form single command
To create multiple sub directory from a single command use –p switch with mkdir command for example$mkdir –p a/b/c/d/f/g/h/i/j
$ls new xyz rat a
$cd a/b/c/d/f/g/h/i/j $pwd /home/vinita/a/b/c/d/f/g/h/i/j
$cd
How to move multiple file in directory with a single commands?
Give all files name one by one with a single space between them and in the end give the destination directory name for example$mv new first second xyz
This command will move three files new, one, second to the xyz directory.
$cd xyz $ls New one second $cd ..
how to take back-up and restore files and directories.
tar command is used to take the back up with –cvf switches and the same tar command is used to restore the matter with –xvf switches. For example$tar –cvf backup.tar xyz $ls $rm –rf xyz
$tar –xvf backup.tar $ls $cd xyz $ls new first second $cd ..
How to compress files to save disk space?
Create a large file and check how much disk space is consumed by this file$man ls > manoj $du –h manoj 12k manoj
$bzip2 [file name] {command syntax} $bzip2 manoj $ls $du -h manoj.bz2 4k manoj.bz2
To decompress file
$bzip2 –d manoj.bz2
$ls manoj
as you can show file has been decompressed. Now use other utility to compress the file.
$gzip manoj $ls manoj.gz $du –h manoj.gz 4k manoj.gz $gzip –d manoj.gz $ls manoj
0 comments:
Post a Comment