Wednesday, August 15, 2007

Why You Should Use Eclipse RCP (In 10 Minutes)

Flash 10-Minute Tutorials

Learn UNIX in 10 minutes

Friday, August 03, 2007

VI “Cheat” Sheet

Invoking vi: vi filename
Format of vi commands: [count][command] (count repeats the effect of the command)

Command mode versus input mode

Vi starts in command mode. The positioning commands
operate only while vi is in command mode. You switch vi
to input mode by entering any one of several vi input commands.
(See next section.) Once in input mode, any character
you type is taken to be text and is added to the file. You
cannot execute any commands until you exit input mode.
To exit input mode, press the escape (Esc) key.

Input commands (end with Esc)


a Append after cursor
i Insert before cursor
o Open line below
O Open line above
:r file Insert file after current line

Any of these commands leaves vi in input mode until you
press Esc. Pressing the RETURN key will not take you out
of input mode.

Change commands (Input mode)


cw Change word (Esc)
cc Change line (Esc) - blanks line
c$ Change to end of line
rc Replace character with c
R Replace (Esc) - typeover
s Substitute (Esc) - 1 char with string
S Substitute (Esc) - Rest of line with text
. Repeat last change

Changes during insert mode


h Back one character
w Back one word
u Back to beginning of insert

File management commands


:w name Write edit buffer to file name
:wq Write to file and quit
:q! Quit without saving changes
ZZ Same as :wq
:sh Execute shell commands (d)

Window motions


d Scroll down (half a screen)
u Scroll up (half a screen)
f Page forward
b Page backward
/string Search forward
?string Search backward
l Redraw screen
g Display current line number and file information
n Repeat search
N Repeat search reverse
G Go to last line
nG Go to line n
:n Go to line n
z Reposition window: cursor at top
z. Reposition window: cursor in middle
z- Reposition window: cursor at bottom

Cursor motions


H Upper left corner (home)
M Middle line
L Lower left corner
h Back a character
j Down a line
k Up a line
^ Beginning of line
$ End of line
l Forward a character
w One word forward
b Back one word
fc Find c
; Repeat find (find next c)

Deletion commands

dd or ndd Delete n lines to general buffer
dw Delete word to general buffer
dnw Delete n words
d) Delete to end of sentence
db Delete previous word
D Delete to end of line
x Delete character

Recovering deletions


p Put general buffer after cursor
P Put general buffer before cursor

Undo commands


u Undo last change
U Undo all changes on line

Rearrangement commands


yy or Y Yank (copy) line to general buffer
“z6yy Yank 6 lines to buffer z
yw Yank word to general buffer
“a9dd Delete 9 lines to buffer a
“A9dd Delete 9 lines; Append to buffer a
“ap Put text from buffer a after cursor
p Put general buffer after cursor
P Put general buffer before cursor
J Join lines

Parameters


:set list Show invisible characters
:set nolist Don’t show invisible characters
:set number Show line numbers
:set nonumber Don’t show line numbers
:set autoindent Indent after carriage return
:set noautoindent Turn off autoindent
:set showmatch Show matching sets of parentheses as they are typed
:set noshowmatch Turn off showmatch
:set showmode Display mode on last line of screen
:set noshowmode Turn off showmode
:set all Show values of all possible parameters

Move text from file old to file new


vi old
“a10yy yank 10 lines to buffer a
:w write work buffer
:e new edit new file
“ap put text from a after cursor
:30,60w new Write lines 30 to 60 in file new

Regular expressions (search strings)


^ Matches beginning of line
$ Matches end of line
. Matches any single character
* Matches any previous character
.* Matches any character

Search and replace commands


Syntax:

:[address]s/old_text/new_text/

Address components:

. Current line
n Line number n
.+m Current line plus m lines
$ Last line
/string/ A line that contains "string"
% Entire file
[addr1],[addr2] Specifies a range

Examples:

The following example replaces only the first occurrence
of Banana with Kumquat in each of 11 lines
starting with the current line (.) and continuing for the
10 that follow (.+10).
:.,.+10s/Banana/Kumquat
The following example replaces every occurrence
(caused by the g at the end of the command) of
apple with pear.
:%s/apple/pear/g
The following example removes the last character from
every line in the file. Use it if every line in the file ends
with ^M as the result of a file transfer. Execute it
when the cursor is on the first line of the file.
:%s/.$//

Unix/Linux Command Reference

File Commands

ls – directory listing
ls -al – formatted listing with hidden files
cd dir - change directory to dir
cd – change to home
pwd – show current directory
mkdir dir – create a directory dir
rm file – delete file
rm -r dir – delete directory dir
rm -f file – force remove file
rm -rf dir – force remove directory dir *
cp file1 file2 – copy file1 to file2
cp -r dir1 dir2 – copy dir1 to dir2; create dir2 if it
doesn't exist
mv file1 file2 – rename or move file1 to file2
if file2 is an existing directory, moves file1 into
directory file2
ln -s file link – create symbolic link link to file
touch file – create or update file
cat > file – places standard input into file
more file – output the contents of file
head file – output the first 10 lines of file
tail file – output the last 10 lines of file
tail -f file – output the contents of file as it
grows, starting with the last 10 lines

Process Management

ps – display your currently active processes
top – display all running processes
kill pid – kill process id pid
killall proc – kill all processes named proc *
bg – lists stopped or background jobs; resume a
stopped job in the background
fg – brings the most recent job to foreground
fg n – brings job n to the foreground

File Permissions

chmod octal file – change the permissions of file
to octal, which can be found separately for user,
group, and world by adding:
4 – read (r)
2 – write (w)
1 – execute (x)

Examples:

chmod 777 – read, write, execute for all
chmod 755 – rwx for owner, rx for group and world
For more options, see man chmod.

SSH

ssh user@host – connect to host as user
ssh -p port user@host – connect to host on port
port as user
ssh-copy-id user@host – add your key to host for
user to enable a keyed or passwordless login

Searching


grep pattern files – search for pattern in files
grep -r pattern dir – search recursively for
pattern in dir
command | grep pattern – search for pattern in the
output of command
locate file – find all instances of file

System Info

date – show the current date and time
cal – show this month's calendar
uptime – show current uptime
w – display who is online
whoami – who you are logged in as
finger user – display information about user
uname -a – show kernel information
cat /proc/cpuinfo – cpu information
cat /proc/meminfo – memory information
man command – show the manual for command
df – show disk usage
du – show directory space usage
free – show memory and swap usage
whereis app – show possible locations of app
which app – show which app will be run by default

Compression

tar cf file.tar files – create a tar named
file.tar containing files
tar xf file.tar – extract the files from file.tar
tar czf file.tar.gz files – create a tar with
Gzip compression
tar xzf file.tar.gz – extract a tar using Gzip
tar cjf file.tar.bz2 – create a tar with Bzip2
compression
tar xjf file.tar.bz2 – extract a tar using Bzip2
gzip file – compresses file and renames it to
file.gz
gzip -d file.gz – decompresses file.gz back to
file

Network

ping host – ping host and output results
whois domain – get whois information for domain
dig domain – get DNS information for domain
dig -x host – reverse lookup host
wget file – download file
wget -c file – continue a stopped download

Installation

Install from source:
./configure
make
make install
dpkg -i pkg.deb – install a package (Debian)
rpm -Uvh pkg.rpm – install a package (RPM)

Shortcuts

Ctrl+C – halts the current command
Ctrl+Z – stops the current command, resume with
fg in the foreground or bg in the background
Ctrl+D – log out of current session, similar to exit
Ctrl+W – erases one word in the current line
Ctrl+U – erases the whole line
Ctrl+L – clear screen
!! - repeats the last command
exit – log out of current session

* use with extreme caution.