Basic Unix Editing Commands
Thursday, May 20, 2010
Basic Editing
Editing commands require that you be in command mode. Many of the editing commands have a different function depending on whether they are typed in upper or lower case. Often, editing commands can be preceded by a number to indicate a repetition of the command.
NOTE: Unless specified otherwise, the instructions in this section assume that you are in the command mode.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Deleting characters. To delete a character from a file, move the cursor until it is on the incorrect letter, then type x. The character under the cursor disappears. To remove four characters (the one under the cursor and the next three) type 4x. To delete the character before the cursor, type X (upper case).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Deleting words. To delete a word, move the cursor to the first letter of the word and type dw. The command deletes the word and the space following it. To delete three words, type 3dw.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Deleting lines. To delete a whole line, type dd. The cursor does not have to be at the beginning of the line. dd deletes the entire line containing the cursor and places the cursor at the start of the next line. 2dd deletes two lines.
To delete from the cursor position to the end of the line, type D (upper case).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Replacing characters. To replace one character with another, move the cursor to the character to be replaced. Type r, then the replacement character. The new character will appear, and you will still be in command mode.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Replacing words. To replace one word with another, move to the start of the incorrect word and type cw. The last letter of the word to be replaced will turn into a $. You are now in change mode and may type the replacement. The new text does not need to be the same length as the original. Press ESC to get back to command mode. 3cw allows you to replace three words.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Replacing lines. To change text from the cursor position to the end of the line, type C (upper case). Type the replacement text and press ESC. Press ESC again to get back to command mode.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Inserting text. To insert text in a line, position the cursor where the new text should go and type i. Enter the new text. The text is inserted before the cursor. Press ESC to get back to command mode.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Appending text. To add text to the end of a line, position the cursor on the last letter of the line and type a. Enter the new text. This adds text after the cursor. Press ESC to get back to command mode.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Opening a blank line. Type o (lower case) to insert, or open, a blank line below the current line. Type O (upper case) to insert a blank line above the current line. Press ESC to get back to command mode.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Joining lines. The command J (upper case) lets you join two lines together. Put the cursor on the first line to be joined and type J. 3J lets you join 3 lines together.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Undoing. Undo your most recent edit by typing u (lower case). U (upper case) undoes all the edits on a single line, as long as the cursor stays on that line. Once you move off a line, you can't use U to restore it.
Moving Around In a File
These shortcuts, which work in command mode, allow you to move more quickly through a file.
Key(s) | Movement |
w | forward word by word |
b | backward word by word |
$ | to end of line |
0 (zero) | to beginning of line |
H | to top line of screen |
M | to middle line of screen |
L | to last line of screen |
G | to last line of file |
1G | to first line of file |
ctrl-f | jump forward one screen |
ctrl-b | jump backward one screen |
ctrl-d | scroll down one-half screen |
ctrl-u | scroll up one-half screen |
Moving by searching. To move quickly in a file, search for text. In command mode, type a / (slash) followed by the text to search for. Press Return. The cursor moves to the first occurrence of that text. Repeat the search in a forward direction by typing n (lower case), or in a backward direction by typing N (upper case).
General
apropos command
Locate commands by keyword lookup.
exit
Terminate your current session, or shell.
man command
Display the Unix manual page describing a given Unix command.
File System Navigation
cd
Return to your home directory.
cd directory
Change directory to make directory your current directory.
file files
Determine file type.
ls
List the contents of the current directory.
ls names
List the contents of the directories; names can name files and/or directories:
ls -l
. . . in a long format, showing permissions, owner, size, and other file info.
ls -a
. . . all files, including "hidden" files (file names that begin with a dot ".").
ls -R
. . . Recursively, for all subdirectories.
ls -t
. . . in time order (when modified, newest to oldest) rather than in name order.
pwd
Display the name of the current directory, or "print working directory."
File/Directory Manipulation
compress files
Reduces the size of a file.
uncompress files
Restores compressed files to their original form.
cp file1 file2
Copy file(s).
cp files directory
Copy file(s) into a directory.
cp -r dir1 dir2
Copy a directory and, recursively, its subdirectories.
mkdir directory
Create, or "make" a directory.
mv file1 file2
Move a file or, if file1 and file2 are in the same directory, rename a file.
mv files directory
Move files into a directory.
mv dir1 dir2
If directory dir2 exists, move dir1 into dir2; otherwise, rename dir1 as dir2.
rm files
Remove (erase) file(s).
rm -r names
Remove files, directories, and recursively, any subdirectories.
rmdir directory
Remove directory (directory must be empty).
Data Manipulation
cat files
Concatenate file(s); you can use cat to display the contents of a file (this is not advisable if the file is a binary file).
grep "pattern" files
Display all lines in the files that match a pattern.
more files
Display contents of files one screen at a time.
sort files
Order the lines in a file or files alphabetically (this command does not alter the file or files -- it merely displays the sorted output to the screen):
sort -r files
. . . in reverse order.
sort -n files
. . . numerically (puts 2 before 10 instead of after).
Networking/Communications
finger user@umich.edu
Displays information about a U-M user from the U-M Online Directory.
ssh hostname
Connect to a remote host using Secure Shell.
telnet hostname
Connect to a remote host using the telnet protocol.
talk user
Initiate a conversation with another user (end conversation with Control-C); talk works only between machines of the same architecture.
Miscellaneous
!!
Repeat last shell command.
!string
Repeat last shell command that began with string (for example, type "!m" to repeat the last command that began with "m").
cal
Display a calendar of the current month.
cal month year
Display a calendar of the given month and year. Note that the year must be fully qualified, for example, "2003" and not "03."
clear
Clears terminal screen.
date
Display the current local date and time.
who
Display a list of users currently logged in.
Q. What is echo $? Command do?
A. It returns the status of last command run. E.g if we run grep command then if the patter is found in the file it shows 0, pattern not found then 1 and file not found then 2.
0 comments:
Post a Comment