<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>NCong&#039;s Random Sticky Notes</title>
	<atom:link href="http://ncong.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ncong.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 11 May 2011 06:29:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ncong.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9cfd3781c79792880f2db59d4bfa6427?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>NCong&#039;s Random Sticky Notes</title>
		<link>http://ncong.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ncong.wordpress.com/osd.xml" title="NCong&#039;s Random Sticky Notes" />
	<atom:link rel='hub' href='http://ncong.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Linux Shortcuts and Commands</title>
		<link>http://ncong.wordpress.com/2011/05/11/linux-shortcuts-and-commands/</link>
		<comments>http://ncong.wordpress.com/2011/05/11/linux-shortcuts-and-commands/#comments</comments>
		<pubDate>Wed, 11 May 2011 05:25:14 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[SysOps]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=258</guid>
		<description><![CDATA[Linux Shortcuts and Commands: Linux Newbie Administrator Guide by Stan and Peter Klimas This is a practical selection of the commands we use most often. Press &#60;Tab&#62; to see the listing of all available command (on your PATH). On my small home system, it says there are 2595 executables on my PATH.  Many of these [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=258&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-size:x-small;">Linux Shortcuts<br />
and Commands:</span><strong></strong></p>
<p><a href="http://linux-newbie.sunsite.dk/">Linux Newbie<br />
Administrator Guide</a></p>
<p>by Stan and Peter Klimas</p>
<p>This is a practical selection of the commands we use most often. Press<br />
<tt>&lt;Tab&gt;</tt><br />
to see the listing of all available command (on your PATH). On my small<br />
home system, it says there are 2595 executables on my PATH.  Many<br />
of these &#8220;commands&#8221; can be accessed from your favourite GUI front-end (probably<br />
KDE or Gnome) by clicking on the right menu or button. They can all be<br />
run from the command line.  Programs that require GUI have to be run<br />
from a terminal opened under a GUI.</p>
<p><strong>Legend:</strong></p>
<p>&lt;&gt; = single special or function key on the keyboard. For example<br />
&lt;Ctrl&gt; indicates the &#8220;control&#8221; key.</p>
<p><em>italic</em> = name of the file or variable you probably want to substitute<br />
with your own.</p>
<p><tt>fixed width</tt> = in-line Linux commands and filenames.</p>
<p><strong>Notes for the UNIX Clueless:</strong></p>
<p>1. LINUX IS CASE-SENSITIVE. For example: Netscape, NETSCAPE and nEtscape<br />
are three different commands. Also my_filE, my_file, and my_FILE are three<br />
different files. Your user login name and password are also case sensitive.<br />
(This goes with the tradition of UNIX and the &#8220;c&#8221; programming language<br />
being case sensitive.)</p>
<p>2. Filenames can be up to 256 characters long and can contain letters,<br />
numbers, &#8220;.&#8221; (dot), &#8220;_&#8221; (underscore), &#8220;-&#8221; (dash), plus some other not recommended<br />
characters.<br />
3. Files with names starting with &#8220;.&#8221; are normally not shown by the<br />
<tt>ls</tt><br />
(list) or dir commands. Think of these files as &#8220;hidden&#8221;. Use<br />
<tt>ls -a</tt><br />
(list with the option &#8220;all&#8221;) to see these files.</p>
<p>4. &#8220;/&#8221; is an equivalent to DOS &#8220;\&#8221; (root directory, meaning the parent<br />
of all other directories).</p>
<p>5. Under Linux, all directories appear under a single directory tree<br />
(there are no DOS-style drive letters).</p>
<p>6. In a configuration file, a line starting with # is a comment.</p>
<h2><a name="shortcuts"></a>7.1 Linux essential shortcuts and sanity commands</h2>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;F1&gt;</tt><br />
Switch to the first text terminal. Under Linux you can have several<br />
(6 in standard setup) terminals opened at the same time.</p>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;Fn&gt; </tt>(n=1..6)</p>
<p>Switch to the nth text terminal.</p>
<p><tt>tty</tt></p>
<p>Print the name of the terminal in which you are typing this command.</p>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;F7&gt;</tt></p>
<p>Switch to the first GUI terminal (if X-windows is running on this terminal).</p>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;Fn&gt; </tt>(n=7..12)<br />
Switch to the nth GUI terminal (if a GUI terminal is running on screen<br />
n-1). On default, nothing is running on terminals</p>
<p>8 to 12, but you can run another server there.</p>
<p><tt>&lt;Tab&gt;</tt></p>
<p>(In a text terminal) Autocomplete the command  if there is only<br />
one option, or else show all the available options.</p>
<p>THIS SHORTCUT IS GREAT! It even works at LILO prompt!</p>
<p><tt>&lt;ArrowUp&gt;</tt></p>
<p>Scroll and edit the command history. Press &lt;Enter&gt; to execute.</p>
<p><tt>&lt;Shift&gt;&lt;PgUp&gt;</tt><br />
Scroll terminal output up. Work also at the login prompt, so you can<br />
scroll through your bootup messages.</p>
<p><tt>&lt;Shift&gt;&lt;PgDown&gt;</tt></p>
<p>Scroll terminal output down.</p>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;+&gt;</tt></p>
<p>(in X-windows) Change to the next X-server resolution (if you set up<br />
the X-server to more than one resolution). For multiple resolutions on<br />
my standard SVGA card/monitor, I have the following line in the file<br />
<tt>/etc/X11/XF86Config</tt><br />
(the first resolution starts on default, the largest determines the size<br />
of the &#8220;virtual screen&#8221;):</p>
<p><tt>Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300"<br />
"1152x864"</tt></p>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;-&gt;</tt><br />
(in X-windows) Change to the previous X-server resolution.</p>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;BkSpc&gt;</tt></p>
<p>(in X-windows) Kill the current X-windows server. Use if the X-windows<br />
server crushes and cannot be exited normally.</p>
<p><tt>&lt;Ctrl&gt;&lt;Alt&gt;&lt;Del&gt;</tt></p>
<p>Shut down the system and reboot. This is the normal shutdown command<br />
for a user at the text-mode console. Don&#8217;t just press the &#8220;reset&#8221; button<br />
for shutdown!</p>
<p><tt>&lt;Ctrl&gt;c</tt></p>
<p>Kill the current process (mostly in the text mode for small applications).</p>
<p><tt>&lt;Ctrl&gt;d</tt><br />
Log out from the current terminal.  See also the next command.</p>
<p><tt>&lt;Ctrl&gt;d</tt></p>
<p>Send [End-of-File] to the current process. Don&#8217;t press it twice else<br />
you also log out (see the previous command).</p>
<p><tt>&lt;Ctrl&gt;s</tt></p>
<p>Stop the transfer to the terminal.</p>
<p><tt>&lt;Ctrl&gt;q</tt></p>
<p>Resume the transfer to the terminal. Try if your terminal mysteriously<br />
stops responding.</p>
<p><tt>&lt;Ctrl&gt;z</tt><br />
Send the current process to the background.</p>
<p><tt>exit</tt></p>
<p>Logout. I can also use <tt>logout</tt> for the same effect.  (If<br />
you have started a second shell, e.g., using <tt>bash</tt> the second shell<br />
will be exited and you will be back in the first shell, not logged out.)</p>
<p><tt>reset</tt></p>
<p>Restore a screwed-up terminal (a terminal showing funny characters)<br />
to default setting. Use if you tried to &#8220;cat&#8221; a binary file. You may not<br />
be able to see the command as you type it.</p>
<p><tt>&lt;MiddleMouseButton&gt;</tt><br />
Paste the text which is currently highlighted somewhere else. This<br />
is the normal &#8220;copy-paste&#8221; operation in Linux.  (It doesn&#8217;t work with<br />
Netscape and WordPerfect which use the MS Windows-style &#8220;copy-paste&#8221;. It<br />
does work in the text terminal if you enabled &#8220;gpm&#8221; service using &#8220;setup&#8221;.)<br />
Best used with a Linux-ready 3-button mouse (Logitech or similar) or else<br />
set &#8220;3-mouse button emulation&#8221;).</p>
<p><tt>~</tt></p>
<p>(tilde) My home directory (normally the directory <tt>/home/my_login_name</tt>).<br />
For example, the command <tt>cd ~/<em>my_dir</em></tt> will change my working<br />
directory to the subdirectory &#8220;<em>my_dir</em>&#8221; under my home directory.</p>
<p>Typing just &#8220;cd&#8221; alone is an equivalent of the command &#8220;cd ~&#8221;.</p>
<p><tt>.</tt></p>
<p>(dot) Current directory. For example, <tt>./my_program</tt> will attempt<br />
to execute the file &#8220;my_program&#8221; located in your current working directory.</p>
<p><tt>..</tt></p>
<p>(two dots) Directory parent to the current one. For example, the command<br />
<tt>cd<br />
..</tt> will change my current working directory one one level up.</p>
<h2><a name="sys_info_commands"></a>7.2 Common Linux commands&#8211;system info</h2>
<p><tt>pwd</tt><br />
Print working directory, i.e., display the name of my current directory<br />
on the screen.</p>
<p><tt>hostname</tt></p>
<p>Print the name of the local host (the machine on which you are working).<br />
Use<tt> netconf </tt>(as root) to change the name of the machine.</p>
<p><tt>whoami</tt></p>
<p>Print my login name.</p>
<p><tt>id<br />
<em>username</em></tt></p>
<p>Print user id (uid) and his/her group id (gid), effective id (if different<br />
than the real id) and the supplementary groups.</p>
<p><tt>date</tt></p>
<p>Print or change the operating system date and time. E.g., I could change<br />
the date and time to 2000-12-31 23:57 using this command:<br />
<tt>date 123123572000</tt></p>
<p>To set the hardware (BIOS) clock from the system (Linux) clock, use<br />
the command (as root) <tt>setclock</tt></p>
<p><tt>time</tt></p>
<p>Determine the amount of time that it takes for a process to complete<br />
+ other info. Don&#8217;t confuse it with the <tt>date</tt> command. E.g. I can<br />
find out how long it takes to display a directory content using:</p>
<p><tt>time ls</tt></p>
<p><tt>who</tt></p>
<p>Determine the users logged on the machine.</p>
<p><tt>rwho -a</tt><br />
(=remote who) Determine all users logged on your network. The rwho<br />
service must be enabled for this command to run. If it isn&#8217;t, run setup<br />
as root to enable &#8220;rwho&#8221;.</p>
<p><tt>finger<br />
<em>user_name</em></tt></p>
<p>System info about a user. Try: <tt>finger root</tt></p>
<p><tt>last</tt></p>
<p>Show listing of users last logged-in on your system.</p>
<p><tt>history | more</tt></p>
<p>Show the last (1000 or so) commands executed from the command line<br />
on the current account. The &#8220;| more&#8221; causes the display to stop after each<br />
screenful.</p>
<p><tt>uptime</tt></p>
<p>Show the amount of time since the last reboot.</p>
<p><tt>ps</tt><br />
(=print status) List the processes currently run by the current user.</p>
<p><tt>ps axu | more</tt></p>
<p>List all the processes currently running, even those without the controlling<br />
terminal, together with the name of the user that owns each process.</p>
<p><tt>top</tt></p>
<p>Keep listing the currently running processes, sorted by cpu usage (top<br />
users first). In KDE, you can get GUI-based Ktop from &#8220;K&#8221;menu under &#8220;System&#8221;-&#8221;Task<br />
Manager&#8221; (or by executing &#8220;ktop&#8221; in an X-terminal).</p>
<p><tt>uname -a</tt></p>
<p>(= Unix name with option &#8220;all&#8221;) Info on your (local) server. I can<br />
also use <tt>guname</tt> (in X-window terminal) to display the info more<br />
nicely.</p>
<p><tt>free</tt></p>
<p>Memory info (in kilobytes).</p>
<p><tt>df -h</tt><br />
(=disk free) Print disk info about all the filesystems (in human-readable<br />
form)</p>
<p><tt>du / -bh | more</tt></p>
<p>(=disk usage) Print detailed disk usage for each subdirectory starting<br />
at the &#8220;/&#8221; (root) directory (in human legible form).</p>
<p><tt>cat /proc/cpuinfo</tt></p>
<p>Cpu info&#8211;it show the content of the file <tt>cpuinfo</tt>. Note that<br />
the files in the <tt>/proc</tt> directory are not real files&#8211;they are<br />
hooks to look at information available to the kernel.</p>
<p><tt>cat /proc/interrupts</tt></p>
<p>List the interrupts in use.</p>
<p><tt>cat /proc/version</tt><br />
Linux version and other info</p>
<p><tt>cat /proc/filesystems</tt></p>
<p>Show the types of filesystems currently in use.</p>
<p><tt>cat /etc/printcap</tt></p>
<p>Show the setup of printers.</p>
<p><tt>lsmod</tt></p>
<p>(As root. Use <tt>/sbin/lsmod</tt> to execute this command when you<br />
are a non-root user.) Show the kernel modules currently loaded.</p>
<p><tt>set|more</tt></p>
<p>Show the current user environment.</p>
<p><tt>echo $PATH</tt><br />
Show the content of the environment variable &#8220;PATH&#8221;. This command can<br />
be used to show other environment variables as well. Use &#8220;set&#8221; to see the<br />
full environment.</p>
<p><tt>dmesg | less</tt></p>
<p>Print kernel messages (the content of the so-called kernel ring buffer).<br />
Press &#8220;q&#8221; to quit &#8220;less&#8221;. Use <tt>less /var/log/dmesg</tt>  to see<br />
what &#8220;dmesg&#8221; dumped into this file right after the last system bootup.</p>
<h2><a name="Basic_operations"></a>7.3 Basic operations</h2>
<p><tt><em>any_command<br />
</em>--help |more</tt></p>
<p>Display a brief help on a command (works with most commands). &#8220;&#8211;help&#8221;<br />
works similar to DOS &#8220;/h&#8221; switch. The &#8220;more&#8221; pipe is needed if the output<br />
is longer than one screen.</p>
<p><tt>man<br />
<em>topic</em></tt><br />
Display the contents of the system manual pages (help) on the topic.<br />
Try <tt>man man</tt> first. Press &#8220;q&#8221; to quit the viewer. The command <tt>info<br />
<em>topic</em></tt><br />
works similar and may contain more up-to-date information. Manual pages<br />
can be hard to read. Try <tt><em>any_command</em> --help</tt> for short,<br />
easy to digest help on a command. If more info needed, have a look to the<br />
directory <tt>/usr/doc</tt>. To display manual page from a specific section,<br />
I may use something like in this example:  <tt>man 3 exit</tt> (this<br />
displays an info on the command <tt>exit</tt> from section 3 of the manual<br />
pages).</p>
<p><tt>apropos<br />
<em>topic</em></tt></p>
<p>Give me the list of the commands that have something to to do with<br />
my topic.</p>
<p><tt>help command</tt></p>
<p>Display brief info on a bash (shell) build-in command.</p>
<p><tt>ls</tt></p>
<p>List the content of the current directory. Under Linux, the command<br />
&#8220;dir&#8221; is an alias to ls. Many users have &#8220;ls&#8221; to be an alias to &#8220;ls &#8211;color&#8221;.</p>
<p><tt>ls -al |more</tt></p>
<p>List the content of the current directory, all files (also those starting<br />
with a dot), and in a long form. Pipe the output through the &#8220;more&#8221; command,<br />
so that the display pauses after each screenful.</p>
<p><tt>cd<br />
<em>directory</em></tt></p>
<p>Change directory. Using &#8220;cd&#8221; without the directory name will take you<br />
to your home directory. &#8220;cd -&#8221; will take you to your previous directory<br />
and is a convenient way to toggle between two directories. &#8220;cd ..&#8221; will<br />
take you one directory up.</p>
<p><tt>cp<br />
<em>source destination</em></tt></p>
<p>Copy files. E.g., <tt>cp /home/stan/existing_file_name .</tt><br />
will copy a file to my current working directory. Use the &#8220;-r&#8221; option (for<br />
recursive) to copy the contents of whole directories, e.g. , <tt>cp -r<br />
my_existing/dir/ ~ </tt> will copy a subdirectory under my current<br />
working directory to my home directory.</p>
<p><tt>mcopy<br />
<em>source destination</em></tt></p>
<p>Copy a file from/to a DOS filesystem (no mounting necessary). E.g.,<br />
<tt>mcopy<br />
a:\autoexec.bat ~/junk </tt>. See <tt>man mtools</tt> for related commands:<br />
mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat &#8230;.</p>
<p><tt>mv s<em>ource destination</em></tt></p>
<p>Move or rename files. The same command is used for moving and renaming<br />
files and directories.</p>
<p><tt>ln<br />
<em>source destination</em></tt></p>
<p>Create a hard link called <em>destination</em> to the file called <em>source</em>.<br />
The link appears as a copy of the original files, but in reality only one<br />
copy of the file is kept, just two (or more) directory entries point to<br />
it. Any changes the file are automatically visible throughout. When one<br />
directory entry is removed, the other(s) stay(s) intact. The limitation<br />
of the hard links are: the files have to be on the same filesystem, hard<br />
links to directories or special files are impossible.</p>
<p><tt>ln -s <em>source destination</em></tt></p>
<p>Create a symbolic (soft) link called &#8220;destination&#8221; to the file called<br />
&#8220;source&#8221;. The symbolic link just specifies a path where to look for the<br />
file. In contradistinction to hard links, the source and destination don&#8217;t<br />
not have to tbe on the same filesystem. In comparison to hard links, the<br />
drawback of symbolic links are: if the original file is removed, the link<br />
is &#8220;broken&#8221;, symbolic links can also create circular references (like circular<br />
references in spreadsheets or databases, e.g., &#8220;a&#8221; points to &#8220;b&#8221; and &#8220;b&#8221;<br />
points back to &#8220;a&#8221;).</p>
<p><tt>rm<em> files</em></tt></p>
<p>Remove (delete) files. You must own the file in order to be able to<br />
remove it. On many systems, you will be asked or confirmation of deleation,<br />
if you don&#8217;t want this, use the &#8220;-f&#8221; (=force) option, e.g., <tt>rm -f *</tt><br />
will remove all files in my current working directory, no questions asked.</p>
<p><tt>mkdir<br />
<em>directory</em></tt></p>
<p>Make a new directory.</p>
<p><tt>rmdir<br />
<em>directory</em></tt></p>
<p>Remove an empty directory.</p>
<p><tt>rm -r <em>files</em></tt><br />
(recursive remove) Remove files, directories, and their subdirectories.<br />
Careful with this command as root&#8211;you can easily remove all files on the<br />
system with such a command executed on the top of your directory tree,<br />
and there is no undelete in Linux (yet). But if you really wanted to do<br />
it (reconsider), here is how (as root):<br />
<tt>rm -rf /*</tt></p>
<p><tt>cat <em>filename</em> | more</tt></p>
<p>View the content of a text file called &#8220;filename&#8221;, one page a time.<br />
The &#8220;|&#8221; is the &#8220;pipe&#8221; symbol (on many American keyboards it shares the<br />
key with &#8220;\&#8221;) The pipe makes the output stop after each screenful. For<br />
long files, it is sometimes convenient to use the commands head and tail<br />
that display just the beginning and the end of the file. If you happened<br />
to use &#8220;cat&#8221; a binary file and your terminal displays funny characters<br />
afterwards, you can restore it with the command &#8220;reset&#8221;.</p>
<p><tt>less<br />
<em>filename</em></tt></p>
<p>Scroll through a content of a text file. Press q when done. &#8220;Less&#8221;<br />
is roughly equivalent to &#8220;more&#8221; , the command you know from DOS, although<br />
very often &#8220;less&#8221; is more convenient than &#8220;more&#8221;.</p>
<p><tt>pico<br />
<em>filename</em></tt></p>
<p>Edit a text file using the simple and standard text editor called <tt>pico</tt>.</p>
<p><tt>pico -w <em>filename</em></tt></p>
<p>Edit a text file, while disabling the long line wrap. Handy for editing<br />
configuration files, e.g. <tt>/etc/fstab</tt>.</p>
<p><tt>find / -name "<em>filename</em>"</tt></p>
<p>Find the file called &#8220;filename&#8221; on your filesystem starting the search<br />
from the root directory &#8220;/&#8221;. The &#8220;filename&#8221; may contain wildcards (*,?).</p>
<p><tt>locate<br />
<em>filename</em></tt></p>
<p>Find the file name of which contains the string &#8220;filename&#8221;. Easier<br />
and faster than the previous command but depends on a database that normally<br />
rebuilds at night.</p>
<p><tt>./<em>program_name</em></tt><br />
Run an executable in the current directory, which is not on your PATH.</p>
<p><tt>touch<br />
<em>filename</em></tt></p>
<p>Change the date/time stamp of the file <em><tt>filename</tt></em> to<br />
the current time. Create an empty file if the file does not exist.</p>
<p><tt>xinit</tt></p>
<p>Start a barebone X-windows server (without a windows manager).</p>
<p><tt>startx</tt></p>
<p>Start an X-windows server and the default windows manager. Works like<br />
typing &#8220;win&#8221; under DOS with Win3.1</p>
<p><tt>startx -- :1</tt></p>
<p>Start another X-windows session on the display 1 (the default is opened<br />
on display 0). You can have several GUI terminals running concurrently.<br />
Switch between them using &lt;Ctrl&gt;&lt;Alt&gt;&lt;F7&gt;, &lt;Ctrl&gt;&lt;Alt&gt;&lt;F8&gt;,<br />
etc.</p>
<p><tt>xterm</tt></p>
<p>(in X terminal) Run a simple X-windows terminal.  Typing <tt>exit</tt><br />
will close it.  There are other, more advanced &#8220;virtual&#8221; terminals<br />
for X-windows. I like the popular ones: <tt>konsole</tt> and <tt>kvt</tt><br />
(both come with kde) and <tt>gnome-terminal</tt> (comes with gnome).</p>
<p>If you need something really fancy-looking, try <tt>Eterm</tt>.</p>
<p><tt>xboing</tt></p>
<p>(in X terminal). Very nice, old-fashioned game. Many small games/programs<br />
are probably installed on your system. I also like <tt>xboard</tt> (chess).</p>
<p><tt>shutdown -h now</tt></p>
<p>(as root) Shut down the system to a halt. Mostly used for a remote<br />
shutdown. Use &lt;Ctrl&gt;&lt;Alt&gt;&lt;Del&gt; for a shutdown at the console (which<br />
can be done by any user).</p>
<p><tt>halt</tt></p>
<p><tt>reboot</tt></p>
<p>(as root, two commands) Halt or reboot the machine. Used for remote<br />
shutdown, simpler to type than the previous command.</p>
<h2>Network apps</h2>
<p><tt>netscape</tt></p>
<p>(in X terminal) Run netscape (requires a separate Netscape installation).<br />
The current versions of Netscape (4.x) are known to be big and buggy. They<br />
occasionally crash by vanishing (no other harm done). Also, when not connected<br />
to the network , Netscape likes to refuse to do anything (looks like it<br />
hanged)-it revives when you connect.</p>
<p><tt>netscape -display <em>host</em>:0.0</tt></p>
<p>(in X terminal) Run netscape on the current machine and direct the<br />
output to machine named &#8220;host&#8221; display 0 screen 0. Your current machine<br />
must have a permission to display on the machine &#8220;host&#8221; (typically given<br />
by executing the command <tt>xhost</tt></p>
<p><em>current_machine_name</em> in<br />
the xterminal of the machine host. Other X-windows program can be run remotely<br />
the same way.</p>
<p><tt>lynx<br />
<em>file.html</em></tt></p>
<p>View an html file or browse the net from the text mode.</p>
<p><tt>pine</tt></p>
<p>A good text-mode mail reader. Another good and standard one is <tt>elm</tt>.<br />
Your Netscape mail will read the mail from your Internet account. <tt>pine</tt><br />
will let you read the &#8220;local&#8221; mail, e.g. the mail your son or a cron process<br />
sends to you from a computer on your home network. The command <tt>mail</tt></p>
<p>could also be used for reading/composing mail, but it would be inconvenient&#8211;it<br />
is meant to be used in scripts for automation.</p>
<p><tt>elm</tt></p>
<p>A good tex-mode mail reader. See the previous command.</p>
<p><tt>mutt</tt></p>
<p>A really basic but extremally useful and fast mail reader.</p>
<p><tt>mail</tt></p>
<p>A basic operating system tool for e-mail. Look at the previous commands<br />
for a better e-mail reader. <tt>mail</tt> is good if you wanted to send<br />
an e-mail from a shell script.</p>
<p><tt>licq</tt></p>
<p>(in X term) An icq &#8220;instant messaging&#8221; client. Another good one is<br />
<tt>kxicq</tt>.<br />
Older distributions don&#8217;t have an icq client installed, you have to do<br />
download one and install it.</p>
<p><tt>talk<br />
<em>username1</em></tt></p>
<p>Talk to another user currently logged on your machine (or use &#8220;<tt>talk<br />
<em>username1</em>@<em>machinename</em></tt>&#8220;<br />
to talk to a user on a different computer) . To accept the invitation to<br />
the conversation, type the command &#8220;<tt>talk<br />
<em>username2</em></tt>&#8220;. If<br />
somebody is trying to talk to you and it disrupts your work, your may use<br />
the command &#8220;<tt>mesg n</tt>&#8221; to refuse accepting messages. You may want<br />
to use &#8220;<tt>who</tt>&#8221; or &#8220;<tt>rwho</tt>&#8221; to determine the users who are<br />
currently logged-in.</p>
<p><tt>mc</tt></p>
<p>Launch the &#8220;Midnight Commander&#8221; file manager (looks like &#8220;Norton Commander&#8221;<br />
for Linux).</p>
<p><tt>telnet<br />
<em>server</em></tt></p>
<p>Connect to another machine using the TELNET protocol. Use a remote<br />
machine name or IP address. You will be prompted for your login name and<br />
password&#8211;you must have an account on the remote machine to login. Telnet<br />
will connect you to another machine and let you operate on it as if you<br />
were sitting at its keyboard (almost). Telnet is not very secure&#8211;everything<br />
you type goes in open text, even your password!</p>
<p><tt>rlogin<br />
<em>server</em></tt></p>
<p>(=remote login) Connect to another machine. The login name/password<br />
from your current session is used; if it fails you are prompted for a password.</p>
<p><tt>rsh<br />
<em>server</em></tt></p>
<p>(=remote shell) Yet another way to connect to a remote machine. The<br />
login name/password from your current session is used; if it fails you<br />
are prompted for a password.</p>
<p><tt>ftp<br />
<em>server</em></tt><br />
Ftp another machine. (There is also <tt>ncftp</tt> which adds extra<br />
features and <tt>gftp</tt> for GUI .) Ftp is good for copying files to/from<br />
a remote machine. Try user &#8220;anonymous&#8221; if you don&#8217;t have an account on<br />
the remote server. After connection, use &#8220;?&#8221; to see the list of available<br />
ftp commands.  The essential ftp command are: <tt>ls</tt> (see the<br />
files on the remote system), <tt>ASCII</tt>,<br />
<tt>binary</tt> (set the file<br />
transfer mode to either text or binary, important that you select the proper<br />
one ), <tt>get</tt> (copy a file from the remote system to the local system),</p>
<p><tt>mget</tt><br />
(get many files at once), <tt>put</tt> (copy a file from the local system<br />
to the remote system), <tt>mput</tt> (put many files at once), <tt>bye</tt><br />
(disconnect). For automation in a script, you may want to use<br />
<tt>ncftpput</tt><br />
and <tt>ncftpget</tt>, for example:<br />
<tt>ncftpput -u my_user_name -p my_password -a remote.host.domain remote_dir<br />
*local.html</tt></p>
<p><tt>minicom</tt></p>
<p>Minicom program (looks like &#8220;Procomm for Linux&#8221;).</p>
<h2>File (de)compression</h2>
<p><tt>tar -zxvf <em>filename.tar.gz</em></tt></p>
<p>(=tape archiver) Untar a tarred and compressed tarball (*.tar.gz or<br />
*.tgz) that you downloaded from the Internet.</p>
<p><tt>tar -xvf <em>filename.tar</em></tt></p>
<p>Untar a tarred but uncompressed tarball (*.tar).</p>
<p><tt>gunzip</tt></p>
<p><em>filename.gz</em></p>
<p>Decompress a zipped file (*.gz&#8221; or *.z). Use gzip (also <tt>zip</tt><br />
or <tt>compress</tt>) if you wanted to compress files to this file format.</p>
<p><tt>bunzip2<br />
<em>filename.bz2</em></tt></p>
<p>(=big unzip) Decompress a file (*.bz2) zipped with bzip2 compression<br />
utility. Used for big files.</p>
<p><tt>unzip<br />
<em>filename.zip</em></tt></p>
<p>Decompress a file (*.zip) zipped with a compression utility compatible<br />
with PKZIP for DOS.</p>
<p><tt>unarj e <em>filename.arj</em></tt><br />
Extract the content of an *.arj archive.</p>
<p><tt>uudecode -o <em>outputfile</em> <em>filename</em></tt></p>
<p>Decode a file encoded with <tt>uuencode</tt>.  uu-encoded files<br />
are typically used for transfer of non-text files in e-mail (uuencode transforms<br />
any file into an ASCII file).</p>
<h2><a name="process_control"></a>7.4 Process control</h2>
<p><tt>ps</tt></p>
<p>(=print status) Display the list of currently running<br />
processes with their process IDs (PID) numbers. Use <tt>ps axu</tt> to<br />
see all processes currently running on your system (also those of other<br />
users or without a controlling terminal), each with the name of the owner.<br />
Use &#8220;top&#8221; to keep listing the processes currently running.</p>
<p><tt>fg<br />
<em>PID</em></tt></p>
<p>Bring a background or stopped process to the foreground.</p>
<p><tt>bg<br />
<em>PID</em></tt></p>
<p>Send the process to the background. Opposite to fg. The same can be<br />
accomplished with &lt;Ctrl&gt;z.  If you have stopped jobs, you have<br />
to type <tt>exit</tt> twice in row to log out.</p>
<p><tt><em>any_command</em>&amp;</tt><br />
Run any command in the background (the symbol &#8220;&amp;&#8221; means &#8220;run the<br />
proceeding command in the background&#8221;).</p>
<p><tt>batch <em>any_command</em></tt></p>
<p>Run any command (usually one that is going to take more time) when<br />
the system load is low. I can logout, and the process will keep running.</p>
<p><tt>at 17:00</tt></p>
<p>Execute a command at a specified time.  You will be prompted for<br />
the command(s) to run, until you press &lt;Ctrl&gt;d.</p>
<p><tt>kill<br />
<em>PID</em></tt></p>
<p>Force a process shutdown. First determine the PID of the process to<br />
kill using ps.</p>
<p><tt>killall<br />
<em>program_name</em></tt></p>
<p>Kill program(s) by name.</p>
<p><tt>xkill</tt></p>
<p>(in an xwindow terminal) Kill a GUI-based program with mouse. (Point<br />
with your mouse cursor at the window of the process you want to kill and<br />
click.)</p>
<p><tt>lpc</tt></p>
<p>(as root) Check and control the printer(s). Type &#8220;?&#8221; to see the list<br />
of available commands.</p>
<p><tt>lpq</tt></p>
<p>Show the content of the printer queue. Under KDE (X-Windows), you may<br />
use GUI-based &#8220;Printer Queue&#8221; available from &#8220;K&#8221;menu-Utilities.</p>
<p><tt>lprm<br />
<em>job_number</em></tt></p>
<p>Remove a printing job &#8220;job_number&#8221; from the queue.</p>
<p><tt>nice<br />
<em>program_name</em></tt></p>
<p>Run<br />
<em>program_name</em> adjusting its priority. Since the priority<br />
is not specified in this example, it will be adjusted by 10 (the process<br />
will run slower), from the default value (usually 0). The lower the number<br />
(of &#8220;niceness&#8221; to other users on the system), the higher the priority.<br />
The priority value may be in the range -20 to 19. Only root may specify<br />
negative values. Use &#8220;top&#8221; to display the priorities of the running processes.</p>
<p><tt>renice -1 <em>PID</em></tt></p>
<p>(as root) Change the priority of a running process to -1. Normal users<br />
can only adjust processes they own, and only up from the current value<br />
(make them run slower).</p>
<p><tt>&lt;Ctrl&gt;c</tt>, <tt>&lt;Ctrl&gt;z</tt>, <tt>&lt;Ctrl&gt;s</tt>, and <tt>&lt;Ctrl&gt;q</tt></p>
<p>also belong to this chapter but they were described <a href="#shortcuts">previously</a>.<br />
In short they mean: stop the current command, send the current command<br />
to the background, stop the data transfer, resume the data transfer.</p>
<h2><a name="Admin_commands"></a>7.5 Basic administration commands</h2>
<p><tt>printtool</tt></p>
<p>(as root in X-terminal) Configuration tool for your printer(s). Settings<br />
go to the file <tt>/etc/printcap</tt>.</p>
<p><tt>setup</tt></p>
<p>(as root) Configure mouse, soundcard, keyboard, X-windows, system services.<br />
There are many distibution-specific configuration utilities, <tt>setup</tt></p>
<p>is the default on RedHat. Mandrake 7.0 offers very nice <tt>DrakConf</tt><br />
.</p>
<p><tt>linuxconfig</tt></p>
<p>(as root, either in text or graphical mode). You can access and change<br />
hundreds of setting from it. Very powerful&#8211;don&#8217;t change too many things<br />
at the same time, and be careful with changing entries you don&#8217;t understand.</p>
<p><tt>xvidtune</tt></p>
<p>(in X-terminal). Adjust the settings of the graphical display for all<br />
resolutions so as to eliminate black bands, shift the display right/left/up/down,<br />
etc. (First use the knobs on your monitor to fit your text mode correctly<br />
on the screen.) To make the changes permanent, display the frequencies<br />
on the screen and transfer them to the setup file <tt>/etc/X11/XF86Config</tt>.</p>
<p><tt>alias ls="ls --color=tty"</tt></p>
<p>Create an alias for the command &#8220;ls&#8221; to enhance its format with color.<br />
In this example, the alias is also called &#8220;ls&#8221; and the &#8220;color&#8221; option is<br />
only envoke when the output is done to a terminal (not to files). Put the<br />
alias into the file <tt>/etc/bashrc</tt> if you would like the alias to<br />
be always accessible to all users on the system. Type &#8220;<tt>alias</tt>&#8220;<br />
alone to see the list of aliases on your system.</p>
<p><tt>adduser<br />
<em>user_name</em></tt></p>
<p>Create a new account (you must be root). E.g.,  <tt>adduser barbara </tt><br />
Don&#8217;t forget to set up the password for the new user in the next step.<br />
The user home directory is<br />
<tt>/home/<em>user_name</em>.</tt></p>
<p><tt>useradd<br />
<em>user_name</em></tt></p>
<p>The same as the command &#8221; <tt>adduser</tt></p>
<p><em>user_name</em> &#8220;.</p>
<p><tt>userdel<br />
<em>user_name</em></tt></p>
<p>Remove an account (you must be a root). The user&#8217;s home directory and<br />
the undelivered mail must be dealt with separately (manually because you<br />
have to decide what to do with the files).</p>
<p><tt>groupadd<br />
<em>group_name</em></tt></p>
<p>Create a new group on your system. Non-essential but can be handy even<br />
on a home machine with a small number of users.</p>
<p><tt>passwd</tt></p>
<p>Change the password on your current account. If you are root, you can<br />
change the password for any user using:  <tt>passwd</tt></p>
<p><em>user_name</em></p>
<p><em><tt>chmod perm filename</tt></em></p>
<p>(=change mode) Change the file access permission for the files you<br />
own (unless you are root in which case you can change any file). You can<br />
make a file accessible in three modes: read (r), write (w), execute (x)<br />
to three classes of users: owner (u), members of the same group as the<br />
owner (g), others on the system (o). Check the current access permissions<br />
using:</p>
<p><tt>ls -l <em>filename</em></tt></p>
<p>If the file is accessible to all users in all modes it will show:</p>
<p><tt>rwxrwxrwx</tt></p>
<p>The first triplet shows the file permission for the owner of the file,<br />
the second for his/her group, the third for others. A &#8220;no&#8221; permission is<br />
shown as &#8220;-&#8221;.</p>
<p>E.g., this command will <strong>add<br />
</strong>the permission to read the file<br />
&#8220;junk&#8221; to all (=user+group+others):</p>
<p><tt>chmod a+r junk</tt><br />
This command will remove the permission to execute the file junk from<br />
others:</p>
<p><tt>chmod o-x junk</tt></p>
<p>Also try <a href="http://sunsite.auc.dk/share/page/FAQ2.htm#file_permissions">here</a><br />
for more info.</p>
<p>You can set the default file permissions for the news files that you<br />
create using the command <tt>umask</tt> (see <tt>man umask</tt>).</p>
<p><tt>chown<br />
<em>new_ownername filename</em></tt></p>
<p><tt>chgrp <em>new_groupname filename</em></tt><br />
Change the file owner and group. You should use these two commands<br />
after you copy a file for use by somebody else.</p>
<p><tt>su</tt></p>
<p>(=substitute user id) Assume the superuser (=root) identity (you will<br />
be prompted for the password). Type &#8220;exit&#8221; to return you to your previous<br />
login. Don&#8217;t habitually work on your machine as root. The root account<br />
is for administration and the su command is to ease your access to the<br />
administration account when you require it. You can also use &#8220;su&#8221; to assume<br />
any other user identity, e.g. <tt>su barbara</tt> will make me &#8220;barbara&#8221;<br />
(password required unless I am a superuser).</p>
<p><tt>kernelcfg</tt></p>
<p>(as root in X terminal). GUI to to add/remove kernel modules. You can<br />
do the same from the command line using the command &#8220;<tt>insmod</tt>&#8220;,<br />
but &#8220;<tt>insmode</tt>&#8221; is less &#8220;newbie-friendly&#8221;.</p>
<p><tt>lsmod</tt></p>
<p>List currently loaded kernel modules. A module is like a device driver&#8211;it<br />
provides operating system kernel support for a particular piece of hardware<br />
or feature.</p>
<p><tt>modprobe -l |more</tt></p>
<p>List all the modules available for your kernel. The available modules<br />
are determined by how your Linux kernel was compliled. Every possible module/feature<br />
can be compiled on linux as either &#8220;hard wired&#8221; (fast, non-removable),<br />
&#8220;module&#8221; (maybe slower, but loaded/removable on demand), or &#8220;no&#8221; (no support<br />
for this feature at all).</p>
<p><tt>insmod parport</tt></p>
<p><tt>insmod ppa</tt></p>
<p>(as root) Insert modules into the kernel (a module is roughly an equivalent<br />
of a DOS device driver). This example shows how to insert the modules for<br />
support of the external parallel port zip drive (it appears to be a problem<br />
to get the external zip drive to work  in any other way under RH6.0<br />
).</p>
<p><tt>rmmod<br />
<em>module_name</em></tt></p>
<p>(as root, not essential). Remove the module <em>module_name</em> from<br />
the kernel.</p>
<p><tt>setserial /dev/cua0 port 0x03f8 irq 4</tt></p>
<p>(as root) Set a serial port to a non-standard setting. The example<br />
here shows the standard setting for the first serial port (cua0 or ttyS0).<br />
The standard PC settings for the second serial port (cua1or ttyS1) are:<br />
address of i/o port 0x02f8, irq 3. The third serial port (cua2 or ttyS2):<br />
0x03e8, irq 4. The forth serial port (cua3 or ttyS3): 0x02e8, irq 3. Add<br />
your setting to <tt>/etc/rc.d/rc.local</tt> if you want it to be set at<br />
the boot time. See man setserial for good a overview.</p>
<p><tt>fdisk</tt></p>
<p>(as root) Linux hard drive partitioning utility (DOS has a utility<br />
with the same name).</p>
<p><tt>cd /usr/src/linux-2.0.36</tt></p>
<p><tt>make xconfig</tt></p>
<p>(as root in X terminal). Nice GUI front-end for configuration of the<br />
kernel options in preparation for compilation of your customized kernel.<br />
(The directory name contains the version of your Linux kernel so you may<br />
need to modify the directory name if your Linux kernel version is different<br />
than 2.0.36 used in this example. You also need the &#8220;Tk&#8221; interpreter and<br />
the kernel source code installed. ) The alternatives to &#8220;make xconfig&#8221;<br />
are: &#8220;make config&#8221;  (runs a scripts that asks you questions in the<br />
text mode) and &#8220;make menuconfig&#8221; (runs a text-based menu-driven configuration<br />
utility). Try: <tt>less /usr/doc/HOWTO/Kernel-HOWTO</tt> for more information.<br />
After the configuration,  you may choose to proceed with kernel<br />
compilation of the new kernel by issuing the following commands:</p>
<p><tt>make dep</tt></p>
<p><tt>make zImage</tt></p>
<p>The last command will take some time to complete (maybe 0.5 h, depending<br />
on your hardware). It produces the file &#8220;zImage&#8221;, which is your new Linux<br />
kernel. Next:</p>
<p><tt>make modules</tt></p>
<p><tt>make modules_install</tt></p>
<p>Read: /usr/doc/HOWTO/Kernel-HOWTO for information on how to install<br />
the new kernel. You will probably also find it useful to read &#8220;man depmode&#8221;.<br />
Configuration, compilation and installation of a new kernel is not difficult<br />
but it CAN lead to problems if you don&#8217;t know what you are doing.</p>
<p>Compilation of a kernel is a good way to test your hardware, because<br />
it involves a massive amount of computing. If your hardware is &#8220;flaky&#8221;,<br />
you will most likely receive the &#8220;signal 11&#8243; error (read the beatiful<br />
<tt>/usr/doc/FAQ/txt/GCC-SIG11-FAQ</tt>).<br />
<strong>See</strong></p>
<p><a href="http://sunsite.auc.dk/share/page/kernel_upgrade.htm">this</a><br />
for details on kernel upgrade.</p>
<p><tt>depmod -a</tt></p>
<p>(as root) Build the module dependency table for the kernel. This can,<br />
for example, be useful after installing and booting a new kernel. Use &#8220;<tt>modprobe<br />
-a</tt>&#8221; to load the modules.</p>
<p><tt>ldconfig</tt></p>
<p>(as root) Re-create the bindings and the cache for the loader of dynamic<br />
libraries (&#8220;ld&#8221;). You may want to run ldconfig after an installation of<br />
new dynamically linked libraries on your system. (It is also re-run every<br />
time you boot the computer, so if you reboot you don&#8217;t have to run it manually.)</p>
<p><tt>mknod /dev/fd0 b 2 0</tt></p>
<p>(=make node, as root) Create a device file. This example shows how<br />
to create a device file associated with your first floppy drive and could<br />
be useful if you happened to accidentally erase it. The options are: b=block<br />
mode device (c=character mode device, p=FIFO device, u=unbuffered character<br />
mode device). The two integers specify the major and the minor device number.</p>
<p><tt>fdformat /dev/fd0H1440</tt><br />
<tt>mkfs -c -t ext2</tt></p>
<p>(=floppy disk format, two commands, as root) Perform a low-level formatting<br />
of a floppy in the first floppy drive (/dev/fd0), high density (1440 kB).<br />
Then make a Linux filesystem (-t ext2), checking/marking bad blocks (-c<br />
). Making the files system is an equivalent to the high-level format.</p>
<p><tt>badblocks /dev/fd01440 1440</tt></p>
<p>(as root) Check a high-density floppy for bad blocks and display the<br />
results on the screen. The parameter &#8220;1440&#8243; specifies that 1440 blocks<br />
are to be checked. This command does not modify the floppy.</p>
<p><tt>fsck -t ext2 /dev/hda2</tt></p>
<p>(=file system check, as root) Check and repair a filesystem. The example<br />
uses the partition hda2, filesystem type ext2.</p>
<p><tt>dd if=/dev/fd0H1440 of=floppy_image</tt></p>
<p><tt>dd if=floppy_image of=/dev/fd0H1440</tt></p>
<p>(two commands, dd=&#8221;data duplicator&#8221;) Create an image of a floppy to<br />
the file called &#8220;floppy_image&#8221; in the current directory. Then copy <tt>floppy_image</tt><br />
(file) to another floppy disk. Works like DOS &#8220;DISKCOPY&#8221;.</p>
<h2>Program installation</h2>
<p><tt>rpm -ivh<em> filename.rpm</em></tt></p>
<p>(=RedhatPackageManager, install, verbose, hashes displayed to show<br />
progress, as root.) Install a content of RedHat rpm package(s) and print<br />
info on what happened. Keep reading if you prefer a GUI installation.</p>
<p><tt>rpm -qpi <em>filename.rpm</em></tt></p>
<p>(=RedhatPackageManager, query, package, list.) Read the info on the<br />
content of a yet uninstalled package<br />
<em>filename.rpm</em>.</p>
<p><tt>rpm -qpl <em>filename.rpm</em></tt><br />
(=RedhatPackageManager, query, package, information.) List the files<br />
contained in a yet uninstalled package<br />
<em>filename.rpm</em>.</p>
<p><tt>rpm -qf <em>filename</em></tt></p>
<p>(=RedhatPackageManager, query, file.) Find out the name of the *.rpm<br />
package to which the file<br />
<em>filename</em> (on your hardrive) belongs.</p>
<p><tt>rpm -e <em>packagename</em></tt></p>
<p>(=RedhatPackageManager, erase=uninstall.) Uninstall a package <em>pagckagename</em>.<br />
<em>Packagname</em></p>
<p>is the same as the beginning of the *.rpm package file but without the<br />
dash and version number.</p>
<p><tt>kpackage</tt></p>
<p><tt>gnorpm</tt></p>
<p><tt>glint</tt></p>
<p>(in X terminal, as root if you want to be able to install packages)<br />
GUI fronts to the Red Hat Package Manager (rpm). &#8220;glint&#8221; comes with RH5.2,<br />
&#8220;gnorpm&#8221; with RH6.0, &#8220;kpackage&#8221; comes with RH6.1 or must be installed separately<br />
but is the best of the three. Use any of them to view which software packages<br />
are installed on your system and the what not-yet-installed packages are<br />
available on your RedHat CD, display the info about the packages, and install<br />
them if you want (installation must be done as root).</p>
<h2>Accessing drives/partitions</h2>
<p><tt>mount</tt></p>
<p>See<br />
<a href="http://sunsite.auc.dk/share/page/FAQ.htm#Where_drives">here</a></p>
<p>for details on mounting drives.  Examples are shown in the next commands.</p>
<p><tt>mount -t auto /dev/fd0 /mnt/floppy</tt></p>
<p>(as root) Mount the floppy. The directory <tt>/mnt/floppy</tt> must<br />
exist, be empty and NOT be your current directory.</p>
<p><tt>mount -t auto /dev/cdrom /mnt/cdrom</tt></p>
<p>(as root) Mount the CD. You may need to create/modify the <tt>/dev/cdrom</tt><br />
file depending where your CDROM is. The directory <tt>/mnt/cdrom</tt> must<br />
exist, be empty and NOT be your current directory.</p>
<p><tt>mount /mnt/floppy</tt></p>
<p>(as user or root) Mount a floppy as user. The file <tt>/etc/fstab</tt><br />
must be set up to do this. The directory<br />
<tt>/mnt/floppy</tt> must not<br />
be your current directory.</p>
<p><tt>mount /mnt/cdrom</tt></p>
<p>(as user or root) Mount a CD as user. The file <tt>/etc/fstab</tt><br />
must be set up to do this. The directory<br />
<tt>/mnt/cdrom</tt> must not be<br />
your current directory.</p>
<p><tt>umount /mnt/floppy</tt></p>
<p>Unmount the floppy. The directory<br />
<tt>/mnt/floppy</tt> must not be<br />
your (or anybody else&#8217;s) current working directory. Depending on your setup,<br />
you might not be able to unmount a drive that you didn&#8217;t mount.</p>
<h2><a name="Net_tools"></a>7.6 Network administration tools</h2>
<p><tt>netconf</tt></p>
<p>(as root) A very good menu-driven setup of your network.</p>
<p><tt>ping<em>machine_name</em></tt></p>
<p>Check if you can contact another machine (give the machine&#8217;s name or<br />
IP), press &lt;Ctrl&gt;C when done (it keeps going).</p>
<p><tt>route -n</tt></p>
<p>Show the kernel routing table.</p>
<p><tt>nslookup<br />
<em>host_to_find</em></tt></p>
<p>Query your default domain name server (DNS) for an Internet name (or<br />
IP number) <em>host_to_find</em>. This way you can check if your DNS works.<br />
You can also find out the name of the host of which you only know the IP<br />
number.</p>
<p><tt>traceroute <em>host_to_trace</em></tt></p>
<p>Have a look how you messages trave to <em><tt>host_to_trace</tt></em><br />
(which is either a host name or IP number).</p>
<p><tt>ipfwadm -F -p m</tt><br />
(for RH5.2, seen next command for RH6.0) Set up the firewall IP forwarding<br />
policy to masquerading. (Not very secure but simple.) Purpose: all computers<br />
from your home network will appear to the outside world as one very busy<br />
machine and, for example, you will be allowed to browse the Internet from<br />
all computers at once.</p>
<p><tt>echo 1 &gt; /proc/sys/net/ipv4/ip_forward</tt></p>
<p><tt>ipfwadm-wrapper -F -p deny</tt></p>
<p><tt>ipfwadm-wrapper -F -a m -S xxx.xxx.xxx.0/24 -D 0.0.0.0/0</tt></p>
<p>(three commands, RH6.0). Does the same as the previous command. Substitute<br />
the &#8220;x&#8221;s  with digits of your class &#8220;C&#8221; IP address that you assigned<br />
to your home network. See<br />
<a href="http://sunsite.auc.dk/share/page/FAQ.htm#masquerading">here</a><br />
for more details. In RH6.1, masquarading seems broken to me&#8211;I think I<br />
will install Mandrake Linux:).</p>
<p><tt>ifconfig</tt></p>
<p>(as root) Display info on the network interfaces <span style="text-decoration:underline;">currently active</span><br />
(ethernet, ppp, etc). Your first ethernet should show up as eth0, second<br />
as eth1, etc, first ppp over modem as ppp0, second as ppp1, etc. The &#8220;lo&#8221;<br />
is the &#8220;loopback only&#8221; interface which should be always active. Use the<br />
options (see <tt>ifconfig --help</tt>) to configure the interfaces.</p>
<p><tt>ifup <em>interface_name</em></tt></p>
<p>(<tt>/sbin/ifup</tt> to it run as a user) Startup a network interface.<br />
E.g.:</p>
<p><tt>ifup eth0</tt><br />
<tt>ifup ppp0</tt></p>
<p>Users can start up or shutdown the ppp interface only when the right<br />
permission was checked during the ppp setup (using <tt>netconf</tt> ).<br />
To start a ppp interface (dial-up connection), I normally use kppp available<br />
under kde menu &#8220;internet&#8221;.</p>
<p><tt>ifdown<br />
<em>interface_name</em></tt></p>
<p>(<tt>/sbin/ifdown</tt> to run it as a user). Shut down the network<br />
interface. E.g.: <tt>ifdown ppp0 </tt>Also, see the previous command.</p>
<p><tt>netstat | more</tt><br />
Displays a lot (too much?) information on the status of your network.</p>
<h2>Music-related commands</h2>
<p><tt>cdplay play 1</tt></p>
<p>Play the first track from a audio CD.</p>
<p><tt>eject</tt></p>
<p>Get a free coffee  cup holder <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )).   (Eject the CD<br />
ROM tray).</p>
<p><tt>play <em>my_file.wav</em></tt><br />
Play a wave file.</p>
<p><tt>mpg123 <em>my_file.mp3</em></tt></p>
<p>Play an mp3 file.</p>
<p><tt>mpg123 -w <em>my_file.wav my_file.mp3</em></tt></p>
<p>Create a wave audio file from an mp3 audio file.</p>
<p><tt>knapster</tt></p>
<p>(in X terminal) Start the program to downolad mp3 files that other<br />
users of napster have displayed for downloading. Really cool!</p>
<p><tt>cdparanoia -B  "1-"</tt></p>
<p>(CD ripper)  Read the contents of an audio CD and save it into<br />
wavefiles in the current directories, one track per wavefile.  The<br />
&#8220;1-&#8221;<br />
means &#8220;from track 1 to the last&#8221;. -B forces putting each track into<br />
a separate file.</p>
<p><tt>playmidi <em>my_file.mid</em></tt></p>
<p>Play a midi file.  <tt>playmidi -r <em>my_file.mid</em></tt><br />
will display text mode effects on the screen.</p>
<p><tt>sox</tt></p>
<p>(argument not given here) Convert from almost any audio file format<br />
to another (but not mp3s).  See <tt>man sox</tt>.</p>
<h2>Graphics-related commands</h2>
<p><tt>kghostview <em>my_file.ps</em></tt></p>
<p>Display a postscript file on screen.  I can also use the older-looking<br />
<tt>ghostview</tt><br />
or <tt>gv</tt> for the same end effect.</p>
<p><tt>ps2pdf my_file.ps my_file.pdf</tt><br />
Make a pdf (Adobe portable document format) file from a postscript<br />
file.</p>
<p><tt>gimp</tt></p>
<p>(in X terminal) A humble looking but very powerful image processor.<br />
Takes some learning to use, but it is great for artists, there is almost<br />
nothing you can&#8217;t do with gimp. Use your mouse right button to get local<br />
menus, and learn how to use layers. Save your file in the native gimp file<br />
format *.xcf (to preserve layers) and only then flatten it and save as<br />
png (or whatever).  There is a large user manual /usr/</p>
<p><tt>gphoto</tt></p>
<p>(in X terminal) Powerful photo editor.</p>
<p><tt>giftopnm <em>my_file.giff</em> &gt; <em>my_file.pnm</em></tt></p>
<p><tt>pnmtopng <em>my_file.pnm</em> &gt; <em>my_file.png</em></tt><br />
Convert the propriatory giff graphics into a raw, portable pnm file.<br />
Then convert the pnm into a png file, which is a newer and better standard<br />
for Internet pictures  (better technically plus there is no danger<br />
of being sued by the owner of giff patents).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/258/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=258&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2011/05/11/linux-shortcuts-and-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>Pixel in picture/canvas size</title>
		<link>http://ncong.wordpress.com/2011/04/13/pixel-in-picturecanvas-size/</link>
		<comments>http://ncong.wordpress.com/2011/04/13/pixel-in-picturecanvas-size/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 05:38:36 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=252</guid>
		<description><![CDATA[canvas 4 x 6          690&#215;460 pixels 5 x 7         805&#215;575 pixels 8 x 8         920&#215;920 pixels 8 x 10       1150&#215;920 pixels 8 x 12       1380&#215;920 pixels 11 x 14     Enlargements  1610&#215;1265 pixels 12 x 12     1380&#215;1380 pixels 12 x 18     Enlargements  2070&#215;1380 pixels 16 x 20     Posters  2300&#215;1840 pixels 20 x 30    Posters  3450&#215;2300 pixels 11 x 14      Collage Posters  1260&#215;990 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=252&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>canvas<br />
4 x 6          690&#215;460 pixels<br />
5 x 7         805&#215;575 pixels<br />
8 x 8         920&#215;920 pixels<br />
8 x 10       1150&#215;920 pixels<br />
8 x 12       1380&#215;920 pixels<br />
11 x 14     Enlargements  1610&#215;1265 pixels<br />
12 x 12     1380&#215;1380 pixels<br />
12 x 18     Enlargements  2070&#215;1380 pixels<br />
16 x 20     Posters  2300&#215;1840 pixels<br />
20 x 30    Posters  3450&#215;2300 pixels<br />
11 x 14      Collage Posters  1260&#215;990 pixels<br />
12 x 18      Collage Posters  1620&#215;1080 pixels<br />
16 x 20     Collage Posters  1800&#215;1440 pixels<br />
20 x 30    Collage Posters  2700&#215;1800 pixels<br />
Wallet Prints               374&#215;259 pixels<br />
Photo Gifts                   900&#215;600 pixels<br />
4¼x6 Postcards       900&#215;600 pixels<br />
Notebooks                   480&#215;480 pixels<br />
Notebooks with full photo cover  1350&#215;1000 pixels<br />
Notepads                   370&#215;370 pixels<br />
Stickers                      370&#215;370 pixels</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/252/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=252&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2011/04/13/pixel-in-picturecanvas-size/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>IPRange 2 CIDR in perl</title>
		<link>http://ncong.wordpress.com/2011/02/24/iprange-2-cidr-in-perl/</link>
		<comments>http://ncong.wordpress.com/2011/02/24/iprange-2-cidr-in-perl/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 22:47:25 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=248</guid>
		<description><![CDATA[#!/usr/bin/perl -w # range2cidr.pl use Net::CIDR; use Net::CIDR ':all'; if (@ARGV == 0) {   die "Usage Example: $0 192.168.0.0-192.168.255.255 \n"; } print join("\n", Net::CIDR::range2cidr("$ARGV[0]")) . "\n";<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=248&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div><code>#!/usr/bin/perl -w<br />
# range2cidr.pl</p>
<p>use Net::CIDR;<br />
use Net::CIDR ':all';</p>
<p>if (@ARGV == 0) {<br />
  die "Usage Example: $0 192.168.0.0-192.168.255.255 \n";<br />
}</p>
<p>print join("\n", Net::CIDR::range2cidr("$ARGV[0]")) . "\n";</code></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=248&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2011/02/24/iprange-2-cidr-in-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>Binary Definition</title>
		<link>http://ncong.wordpress.com/2011/02/22/binary-definition/</link>
		<comments>http://ncong.wordpress.com/2011/02/22/binary-definition/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 07:18:07 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=246</guid>
		<description><![CDATA[Binary describes a numbering scheme in which there are only two possible values for each digit: 0 and 1. The term also refers to any digital encoding/decoding system in which there are exactly two possible states.In digital data memory, storage, processing, and communications, the 0 and 1 values are sometimes called &#8220;low&#8221; and &#8220;high,&#8221; respectively. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=246&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Binary describes a numbering scheme in which there are<br />
only two possible values for each digit: 0 and 1. The term also refers to any <a class="inline" href="http://searchCIO-Midmarket.techtarget.com/sDefinition/0,,sid183_gci211948,00.html">digital</a> encoding/decoding system in which there<br />
are exactly two possible states.In digital data memory,<br />
storage, processing, and communications, the 0 and 1 values are sometimes called<br />
&#8220;low&#8221; and &#8220;high,&#8221; respectively.</p>
<p>Binary numbers look strange when they are written out directly.This is because<br />
the digits&#8217; weight increases by powers of 2, rather than by powers of 10.In a<br />
digital numeral, the digit furthest to the right is the &#8220;ones&#8221; digit; the next<br />
digit to the left is the &#8220;twos&#8221; digit; next comes the &#8220;fours&#8221; digit,<br />
then the &#8220;eights&#8221; digit, then the &#8220;16s&#8221; digit, then the<br />
&#8220;32s&#8221; digit, and so on.The decimal equivalent of a binary number can be<br />
found by summing all the digits.For example, the binary 10101 is equivalent to the<br />
decimal 1 + 4 + 16 = 21:</p>
<table border="2" cellspacing="0" cellpadding="6" width="80%">
<tbody>
<tr>
<td><strong>DECIMAL = 21</strong></td>
<td align="center">64</td>
<td align="center">32</td>
<td align="center"><span style="color:#ff0000;"><strong>16</strong></span></td>
<td align="center">8</td>
<td align="center"><span style="color:#ff0000;"><strong>4</strong></span></td>
<td align="center">2</td>
<td align="center"><strong><span style="color:#ff0000;">1</span></strong></td>
</tr>
<tr>
<td><strong>BINARY = 10101</strong></td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center"><span style="color:#ff0000;"><strong>1</strong></span></td>
<td align="center">0</td>
<td align="center"><span style="color:#ff0000;"><strong>1</strong></span></td>
<td align="center">0</td>
<td align="center"><strong><span style="color:#ff0000;">1</span></strong></td>
</tr>
</tbody>
</table>
<p>The numbers from decimal 0 through 15 in decimal, binary, <a class="inline" href="http://WhatIs.techtarget.com/definition/0,,sid9_gci212687,00.html">octal</a>, and <a class="inline" href="http://searchCIO-Midmarket.techtarget.com/sDefinition/0,,sid183_gci212247,00.html">hexadecimal</a><br />
form are listed below.</p>
<table border="2" cellspacing="0" cellpadding="6" width="40%">
<tbody>
<tr>
<td align="center"><strong>DECIMAL</strong></td>
<td align="center"><strong>BINARY</strong></td>
<td align="center"><strong>OCTAL</strong></td>
<td align="center"><strong>HEXA-</strong></p>
<p><strong><strong>DECIMAL</strong></strong></td>
</tr>
<tr>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">1</td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">10</td>
<td align="center">2</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">11</td>
<td align="center">3</td>
<td align="center">3</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">100</td>
<td align="center">4</td>
<td align="center">4</td>
</tr>
<tr>
<td align="center">5</td>
<td align="center">101</td>
<td align="center">5</td>
<td align="center">5</td>
</tr>
<tr>
<td align="center">6</td>
<td align="center">110</td>
<td align="center">6</td>
<td align="center">6</td>
</tr>
<tr>
<td align="center">7</td>
<td align="center">111</td>
<td align="center">7</td>
<td align="center">7</td>
</tr>
<tr>
<td align="center">8</td>
<td align="center">1000</td>
<td align="center">10</td>
<td align="center">8</td>
</tr>
<tr>
<td align="center">9</td>
<td align="center">1001</td>
<td align="center">11</td>
<td align="center">9</td>
</tr>
<tr>
<td align="center">10</td>
<td align="center">1010</td>
<td align="center">12</td>
<td align="center">A</td>
</tr>
<tr>
<td align="center">11</td>
<td align="center">1011</td>
<td align="center">13</td>
<td align="center">B</td>
</tr>
<tr>
<td align="center">12</td>
<td align="center">1100</td>
<td align="center">14</td>
<td align="center">C</td>
</tr>
<tr>
<td align="center">13</td>
<td align="center">1101</td>
<td align="center">15</td>
<td align="center">D</td>
</tr>
<tr>
<td align="center">14</td>
<td align="center">1110</td>
<td align="center">16</td>
<td align="center">E</td>
</tr>
<tr>
<td align="center">15</td>
<td align="center">1111</td>
<td align="center">17</td>
<td align="center">F</td>
</tr>
</tbody>
</table>
<p><!-- Contributors and Last Updated Begin --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/246/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=246&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2011/02/22/binary-definition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>Technet TCP/IP chapter 4, subnet</title>
		<link>http://ncong.wordpress.com/2010/08/09/technet-tcpip-chapter-4-subnet/</link>
		<comments>http://ncong.wordpress.com/2010/08/09/technet-tcpip-chapter-4-subnet/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 21:49:55 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[SysOps]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=242</guid>
		<description><![CDATA[Chapter 4 &#8211; Subnetting http://technet.microsoft.com/en-us/library/bb726997.aspx Published: December 14, 2004 &#124; Updated: April 18, 2006 Writer: Joe Davies Abstract This chapter describes the details of subnetting for both IPv4 and IPv6 address prefixes. Network administrators need to thoroughly understand subnetting techniques for both types of address prefixes to efficiently allocate and administer the unicast address spaces [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=242&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Chapter 4 &#8211; Subnetting</p>
<p>http://technet.microsoft.com/en-us/library/bb726997.aspx</p>
<div id="mainSection">
<div id="mainBody">
<div>
<div>Published: December 14, 2004 |  Updated: April 18, 2006</div>
<p>Writer: <a id="ctl00_MTCS_main_ctl01" href="http://technet.microsoft.com/en-us/library/ff536098.aspx">Joe Davies</a></p>
<p><strong>Abstract</strong></p>
<p>This chapter describes the details of subnetting for both IPv4 and IPv6 address prefixes. Network administrators need to thoroughly understand subnetting techniques for both types of address prefixes to efficiently allocate and administer the unicast address spaces assigned and used on private intranets. This chapter includes detailed discussions of different subnetting techniques for IPv4 and IPv6 address prefixes. By using these techniques, you can determine subnetted address prefixes and, for IPv4, the range of usable IPv4 addresses for each new subnetted address prefix.</p>
<p>For a version of this chapter that has been updated for Windows Vista and Windows Server 2008, click <a id="ctl00_MTCS_main_ctl02" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c76296fd-61c9-4079-a0bb-582bca4a846f&amp;displaylang=en">here</a>.</p>
<h5>On This Page</h5>
<p><a href="#EEAA"></a><br />
<a href="#EEAA">Chapter Objectives</a></p>
<p><a href="#EDAA"></a><br />
<a href="#EDAA">Subnetting for IPv4</a></p>
<p><a href="#ECAA"></a><br />
<a href="#ECAA">Subnetting for IPv6</a></p>
<p><a href="#EBAA"></a><br />
<a href="#EBAA">Chapter Summary</a></p>
<p><a href="#EAAA"></a><br />
<a href="#EAAA">Chapter Glossary</a></p>
<h3 id="EEAA">Chapter Objectives</h3>
<p>After completing this chapter, you will be able to:</p>
<ul>
<li>Determine the subnet prefix of an IPv4 address when expressed in prefix length or subnet mask notation.</li>
<li>Determine how many IPv4 host ID bits you need to create a particular number of subnets.</li>
<li>Subnet an IPv4 address prefix within an octet and across octet boundaries, enumerating the list of subnetted address prefixes and the ranges of valid IPv4 addresses for each subnetted address prefix.</li>
<li>Define variable length subnetting and how you can use it to create subnetted address prefixes that match the number of hosts on a particular subnet.</li>
<li>Subnet a global IPv6 address prefix, enumerating the list of subnetted address prefixes.</li>
</ul>
<div><a href="#mainSection"></a><br />
<a href="#mainSection">Top of page</a></p>
</div>
<h3 id="EDAA">Subnetting for IPv4</h3>
<p>Subnetting is a set of techniques that you can use to efficiently divide the address space of a unicast address prefix for allocation among the subnets of an organization network. The fixed portion of a unicast address prefix includes the bits up to and including the prefix length that have a defined value. The variable portion of a unicast address prefix includes the bits beyond the prefix length that are set to 0. Subnetting is the use of the variable portion of a unicast address prefix to create address prefixes that are more efficient (that waste fewer possible addresses) for assignment to the subnets of an organization network.</p>
<p>Subnetting for IPv4 was originally defined to make better use of the host bits for Class A and Class B IPv4 public address prefixes. Consider the example network in Figure 4-1.</p>
<p><a id="ctl00_MTCS_main_ctl03" href="Bb726997.subtn401_big%28en-us,TechNet.10%29.gif"><br />
<!--src=[images/subtn401.gif]--><img src="http://i.technet.microsoft.com/Bb726997.subtn401%28en-us,TechNet.10%29.gif" alt="Bb726997.subtn401(en-us,TechNet.10).gif" /></a></p>
<div><strong>Figure 4-1  Network 157.60.0.0/16 before subnetting</strong></div>
<p>The subnet using the class B address prefix of 157.60.0.0/16 can support up to 65,534 nodes, which is far too many nodes to have on the same subnet. You want to better use the address space of 157.60.0.0/16 through subnetting. However, subnetting 157.60.0.0/16 should not require the reconfiguration of the routers of the Internet.</p>
<p>In a simple example of subnetting, you can subnet 157.60.0.0/16 by using the first 8 host bits (the third octet) for the new subnetted address prefix. If you subnetted 157.60.0.0/16 as shown in Figure 4-2, you would create separate subnets with their own subnetted address prefixes (157.60.1.0/24, 157.60.2.0/24, 157.60.3.0/24), with up to 254 host IDs on each subnet. The router would become aware of the separate subnetted address prefixes and route IPv4 packets to the appropriate subnet.</p>
<p><a id="ctl00_MTCS_main_ctl05" href="Bb726997.subtn402_big%28en-us,TechNet.10%29.gif"><br />
<!--src=[images/subtn402.gif]--><img src="http://i.technet.microsoft.com/Bb726997.subtn402%28en-us,TechNet.10%29.gif" alt="Bb726997.subtn402(en-us,TechNet.10).gif" /></a></p>
<div><strong>Figure 4-2  Network 157.60.0.0/16 after subnetting</strong></p>
</div>
<p>The routers of the Internet would still regard all the nodes on the three subnets as being located on the address prefix 157.60.0.0/16. The Internet routers would be unaware of the subnetting being done to 157.60.0.0/16 and therefore require no reconfiguration. The subnetting of an address prefix is not visible to the routers outside the network being subnetted.</p>
<p>When you assign IPv4 address prefixes in the form of subnet prefixes to the subnets of your organization, you should begin with one or more public address prefixes assigned by the Internet Corporation for Assigned Names and Numbers (ICANN) or an Internet service provider (ISP), the private address space (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), or both. The set of starting address prefixes represent a fixed address space.</p>
<p>You can divide the variable portion of an IPv4 address prefix to represent additional subnets and the host IDs on each subnet. For example, the IPv4 address prefix 131.107.192.0/18 has 18 fixed bits (as the prefix length shows) and 14 variable bits (the bits in the host ID portion of the address prefix). You might determine that your organization needs up to 50 subnets. Therefore, you divide the 14 variable bits into 6 bits, which you will use to identify subnets (you can express up to 64 subnets with 6 bits) and 8 bits, which you will use to identify up to 254 host IDs on each subnet. The resulting address prefix for each subnetted address prefix has a 24-bit prefix length (the original 18 bits plus 6 bits used for subnetting).</p>
<p>Subnetting for IPv4 produces a set of subnetted address prefixes and their corresponding ranges of valid IPv4 addresses. By assigning subnetted address prefixes that contain an appropriate number of host IDs to the physical and logical subnets of an organization’s IPv4 network, network administrators can use the available address space in the most efficient manner possible.</p>
<p>Before you begin IPv4 subnetting, you must determine your organization’s current requirements and plan for future requirements. Follow these guidelines:</p>
<ul>
<li>Determine how many subnets your network requires. Subnets include physical or logical subnets to which hosts connect and possibly private wide area network (WAN) links between sites.</li>
<li>Determine how many host IDs each subnet requires. Each host and router interface running IPv4 requires at least one IPv4 address.</li>
</ul>
<p>Based on those requirements, you will define a set of subnetted address prefixes with a range of valid IPv4 addresses for each subnetted address prefix. Your subnets do not all need to have the same number of hosts; most IPv4 networks include subnets of various sizes.</p>
<p>Although the concept of subnetting by using host ID bits is straightforward, the actual mechanics of subnetting are a bit more complicated. Subnetting requires a three-step procedure:</p>
<ol>
<li>Determine how many host bits to use for the subnetting.</li>
<li>Enumerate the new subnetted address prefixes.</li>
<li>Enumerate the range of IPv4 addresses for each new subnetted address prefix.</li>
</ol>
<h4>Determining the Subnet Prefix of an IPv4 Address Configuration</h4>
<p>Before you begin the mechanics of IPv4 subnetting, you should be able to determine the subnet prefix from an arbitrary IPv4 address configuration, which typically consists of an IPv4 address and a prefix length or an IPv4 address and a subnet mask. The following sections show you how to determine the subnet prefix for IPv4 address configurations when the prefix length is expressed in prefix length and dotted decimal (subnet mask) notation.</p>
<h5>Prefix Length Notation</h5>
<p>To determine the subnet prefix from an arbitrary IPv4 address using prefix length notation (<em>w.x.y.z</em>/<em>n</em>), take the values of the high-order <em>n</em> bits of the address and combine them with 32-<em>n</em> zero bits. Then convert the resulting 32-bit number to dotted decimal notation.</p>
<p>For example, for the IPv4 address configuration of 192.168.207.47/22, the high-order 22 bits are 11000000 10101000 110011. To obtain the subnet prefix, combine this result with the low-order 10 bits of 00 00000000. The result is 11000000 10101000 11001100 00000000, or 192.168.204.0/22.</p>
<p>To determine the subnet prefix of an IPv4 address configuration in prefix length notation without having to work entirely with binary numbers, use the following method:</p>
<ol>
<li>Express the number <em>n</em> (the prefix length) as the sum of 4 numbers by successively subtracting 8 from <em>n</em>. For example, 20 is 8+8+4+0.</li>
<li>Create a table with four columns and three rows. In the first row, place the decimal octets of the IPv4 address. In the second row, place the four digits of the sum you determined in step 1.</li>
<li>For the columns that have 8 in the second row, copy the octet from the first row to the third row. For the columns that have 0 in the second row, place a 0 in the third row.</li>
<li>For the columns that have a number between 8 and 0 in the second row, convert the decimal number in the first row to binary, take the high-order bits for the number of bits indicated in the second row, fill the rest of the bits with zero, and then convert to a decimal number.</li>
</ol>
<p>For example, for the IPv4 address configuration of 192.168.207.47/22, 22 is 8+8+6+0. From this, construct the following table:</p>
<table>
<tbody>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>192</td>
<td>168</td>
<td>207</td>
<td>47</td>
</tr>
<tr>
<td>8</td>
<td>8</td>
<td>6</td>
<td>0</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>For the first and second octets, copy the octets from the first row. For the last octet, place a 0 in the third row. The table becomes:</p>
<table>
<tbody>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>192</td>
<td>168</td>
<td>207</td>
<td>47</td>
</tr>
<tr>
<td>8</td>
<td>8</td>
<td>6</td>
<td>0</td>
</tr>
<tr>
<td>192</td>
<td>168</td>
<td></td>
<td>0</td>
</tr>
</tbody>
</table>
<p>For the third octet, convert the number 207 to binary for the first 6 binary digits using the decimal to binary conversion method described in Chapter 3, &#8220;<a id="ctl00_MTCS_main_ctl07" href="http://technet.microsoft.com/en-us/library/bb726995.aspx">IP Addressing</a>.&#8221; The decimal number 207 is 128+64+8+4+2+1, which is 11001111. Taking the first 6 digits 110011 and filling in the octet with 00 produces 11001100, or 204 in decimal. The table becomes:</p>
<table>
<tbody>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>192</td>
<td>168</td>
<td>207</td>
<td>47</td>
</tr>
<tr>
<td>8</td>
<td>8</td>
<td>6</td>
<td>0</td>
</tr>
<tr>
<td>192</td>
<td>168</td>
<td>204</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>Therefore, the subnet prefix for the IPv4 address configuration 192.168.207.47/22 is 192.168.204.0/22.</p>
<h5>Subnet Mask Notation</h5>
<p>To extract the subnet prefix from an arbitrary IPv4 address configuration using an arbitrary subnet mask, IPv4 uses a mathematical operation called a logical AND comparison. In an AND comparison, the result of two items being compared is true only when both items being compared are true; otherwise, the result is false. Table 4-1 shows the result of the AND operation for the four possible bit combinations.</p>
<table>
<tbody>
<tr>
<th>Bit Combination</th>
<th>Result</th>
</tr>
<tr>
<td>1 AND 1</td>
<td>1</td>
</tr>
<tr>
<td>1 AND 0</td>
<td>0</td>
</tr>
<tr>
<td>0 AND 0</td>
<td>0</td>
</tr>
<tr>
<td>0 AND 1</td>
<td>0</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-1  Result of AND Operation</strong></p>
<p>Therefore, the result of the AND operation is 1 only when both bits being ANDed are 1. Otherwise, the result is 0.</p>
<p>IPv4 performs a logical AND comparison with the 32-bit IPv4 address and the 32-bit subnet mask. This operation is known as a bit-wise logical AND. The result of the bit-wise logical AND of the IPv4 address and the subnet mask is the subnet prefix.</p>
<p>For example, to determine the subnet prefix of the IPv4 address configuration 131.107.189.41 with a subnet mask of 255.255.240.0, turn both numbers into their binary equivalents, and line them up. Then perform the AND operation on each bit, and write down the result.</p>
<p>IPv4 Address:    10000011 01101011 10111101 00101001</p>
<p>Subnet Mask:    11111111 11111111 11110000 00000000</p>
<p>Subnet Prefix:    10000011 01101011 10110000 00000000</p>
<p>The result of the bit-wise logical AND of the 32 bits of the IPv4 address and the subnet mask is the subnet prefix 131.107.176.0, 255.255.240.0. The behavior of the bit-wise logical AND operation between the IPv4 address and the subnet mask is the following:</p>
<ul>
<li>For the bits in the fixed portion of the address (in which the bits in the subnet mask are set to 1), the subnet prefix bits are copied from the IPv4 address, essentially extracting the subnet prefix of the IPv4 address.</li>
<li>For the bits in the variable portion of the address (in which the bits in the subnet mask are set to 0), the subnet prefix bits are set to 0, essentially discarding the host ID portion of the IPv4 address.</li>
</ul>
<p>To summarize, the bit-wise logical AND extracts the subnet prefix portion and discards the host ID portion of an IPv4 address. The result is the subnet prefix.</p>
<p>To determine the subnet prefix of an IPv4 address configuration in subnet mask notation without having to work entirely with binary numbers, use the following method:</p>
<ol>
<li>Create a table with four columns and three rows. In the first row, place the decimal octets of the IPv4 address. In the second row, place the decimal octets of the subnet mask.</li>
<li>For the columns that have 255 in the second row, copy the octet from the first row to the third row. For the columns that have 0 in the second row, place a 0 in the third row.</li>
<li>For the columns that have a number between 255 and 0 in the second row, AND the decimal numbers in the first two rows. You can do this by converting both numbers to binary, performing the AND comparison for all 8 bits in the octet, and then converting the result back to decimal. Alternately, you can use a calculator, such as the Windows Calculator, in scientific mode.</li>
</ol>
<p>For example, for the IPv4 address configuration of 131.107.189.41, 255.255.240.0, construct the following table:</p>
<table>
<tbody>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>131</td>
<td>107</td>
<td>189</td>
<td>41</td>
</tr>
<tr>
<td>255</td>
<td>255</td>
<td>240</td>
<td>0</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>For the first and second octets, copy the octets from the first row. For the last octet, place a 0 in the third row. The table becomes:</p>
<table>
<tbody>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>131</td>
<td>107</td>
<td>189</td>
<td>41</td>
</tr>
<tr>
<td>255</td>
<td>255</td>
<td>240</td>
<td>0</td>
</tr>
<tr>
<td>131</td>
<td>107</td>
<td></td>
<td>0</td>
</tr>
</tbody>
</table>
<p>For the third octet, compute 189 AND 240. In binary, this operation becomes:</p>
<table>
<tbody>
<tr>
<th></th>
</tr>
<tr>
<td>
<pre>      10111101</pre>
</td>
</tr>
<tr>
<td>
<pre>AND   11110000</pre>
</td>
</tr>
<tr>
<td>
<pre>      10110000</pre>
</td>
</tr>
</tbody>
</table>
<p>Converting 10110000 to decimal is 176. Alternately, use the Windows Calculator to compute 189 AND 240, which yields 176.</p>
<p>The table becomes:</p>
<table>
<tbody>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>131</td>
<td>107</td>
<td>189</td>
<td>41</td>
</tr>
<tr>
<td>255</td>
<td>255</td>
<td>240</td>
<td>0</td>
</tr>
<tr>
<td>131</td>
<td>107</td>
<td>176</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>Therefore, the subnet prefix for the IPv4 address configuration 131.107.189.41, 255.255.240.0 is 131.107.176.0, 255.255.240.0.</p>
<h4>Defining a Prefix Length</h4>
<p>The number of variable bits in the subnet prefix determines the maximum number of subnets and hosts on each subnet that you can have.</p>
<p>Before you define a new prefix length based on your subnetting scheme, you should have a good idea of the number of subnets and hosts you will have in the future. If you use more variable bits for the new prefix length than required, you will save the time and administrative difficulty of renumbering your IPv4 network later.</p>
<p>The more variable bits that you use, the more subnets you can have—but with fewer hosts on each subnet. If you make the prefix too long, it will allow for growth in the number of subnets, but it will limit the growth in the number of hosts on each subnet. If you make the prefix too short, it will allow for growth in the number of hosts on each subnet, but it will limit the growth in the number of subnets. Figure 4-3 shows an example of subnetting the third octet.</p>
<p><a id="ctl00_MTCS_main_ctl08" href="Bb726997.subtn403_big%28en-us,TechNet.10%29.gif"><br />
<!--src=[images/subtn403.gif]--><img src="http://i.technet.microsoft.com/Bb726997.subtn403%28en-us,TechNet.10%29.gif" alt="Bb726997.subtn403(en-us,TechNet.10).gif" /></a></p>
<div><strong>Figure 4-3  Tradeoff between number of subnets and number of hosts per subnet</strong></div>
<p>Follow these guidelines to determine the number of bits to use for a new prefix length when subnetting:</p>
<ol>
<li>Determine how many subnets you need now and will need in the future.</li>
<li>Use additional bits for subnetting if:
<ul>
<li>You will never require as many hosts per subnet as allowed by the remaining bits.</li>
<li>The number of subnets will increase, requiring additional bits from the host ID.</li>
</ul>
</li>
</ol>
<p>Defining a new prefix length depends on how many subnets you need. Table 4-2 shows how many subnets you can create by using a particular number of variable bits (up to 16) to specify each subnet.</p>
<table>
<tbody>
<tr>
<th>Number of Subnets</th>
<th>Number of Host Bits</th>
</tr>
<tr>
<td>1-2</td>
<td>1</td>
</tr>
<tr>
<td>3-4</td>
<td>2</td>
</tr>
<tr>
<td>5-8</td>
<td>3</td>
</tr>
<tr>
<td>9-16</td>
<td>4</td>
</tr>
<tr>
<td>17-32</td>
<td>5</td>
</tr>
<tr>
<td>33-64</td>
<td>6</td>
</tr>
<tr>
<td>65-128</td>
<td>7</td>
</tr>
<tr>
<td>129-256</td>
<td>8</td>
</tr>
<tr>
<td>257-512</td>
<td>9</td>
</tr>
<tr>
<td>513-1,024</td>
<td>10</td>
</tr>
<tr>
<td>1,025-2,048</td>
<td>11</td>
</tr>
<tr>
<td>2,049-4,096</td>
<td>12</td>
</tr>
<tr>
<td>4,097-8,192</td>
<td>13</td>
</tr>
<tr>
<td>8,193-16,384</td>
<td>14</td>
</tr>
<tr>
<td>16,385-32,768</td>
<td>15</td>
</tr>
<tr>
<td>32,769-65,536</td>
<td>16</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-2  Number of Required Subnets and Host Bits</strong></p>
<p>The maximum prefix length for unicast IPv4 addresses is 30. With 30 bits for the subnet prefix, the two remaining bits can express up to 4 possible combinations. However, the all-zeros and all-ones host IDs are reserved. Therefore, with two host ID bits, you can express only two usable host IDs (the 01 and 10 combinations).</p>
<p>To determine the maximum number of hosts per subnet for any subnetting scheme:</p>
<ol>
<li>Determine <em>m</em>, the number of bits that remain for the host ID, by subtracting the subnetted prefix length from 32.</li>
<li>Calculate the maximum number of hosts per subnet from 2<span class="sup">m</span> &#8211; 2.</li>
</ol>
<p>Based on the address prefix you are subnetting and the number of bits that you need for subnetting, you can determine whether you are subnetting within an octet or subnetting across an octet boundary. For example, if you start with an 18-bit address prefix and then use 4 bits for subnetting, then you are subnetting within the third octet. (The subnetted prefix length is 22, which is still within the third octet.) However, if you start with a 20-bit address prefix and then use 6 bits for subnetting, then you are subnetting across the third and fourth octets. (The original prefix length is 20, which is within the third octet, and the subnetted prefix length is 26, which is within the fourth octet.)</p>
<p>As the following sections describe, the specific procedures for subnetting within an octet and subnetting across an octet boundary are very different.</p>
<h4>Subnetting Within an Octet</h4>
<p>When you subnet within an octet, the subnetting procedure has two main steps:</p>
<ul>
<li>Defining the subnetted address prefixes</li>
<li>Defining the range of usable IPv4 addresses for each subnetted address prefix</li>
</ul>
<p>The following sections describe these steps.</p>
<h5>Defining the Subnetted Address Prefixes</h5>
<p>You can use two methods to define the set of subnetted address prefixes:</p>
<ul>
<li>Binary</li>
<li>Decimal</li>
</ul>
<p>To create an enumerated list of subnetted address prefixes by using binary, perform the following steps:</p>
<ol>
<li>Based on <em>n</em>, the number of bits chosen for subnetting, create a three-column table with 2<span class="sup">n</span> rows. The first column contains the subnet numbers (starting with 1), the second column contains binary representations of the subnetted address prefixes, and the third column contains dotted decimal representations of the subnetted address prefixes.
<p>For each binary representation, the bits corresponding to the address prefix being subnetted are fixed at their original values, and all host bits are always set to 0. Only the subnet bits vary as you set them to each possible binary value.</li>
<li>In the first row, set the subnet bits to all 0s, and convert the entire subnetted address prefix to dotted decimal notation. The result is the original address prefix with its new prefix length.</li>
<li>In the next row, increment the value within the subnet bits.</li>
<li>Convert the binary result to dotted decimal notation.</li>
<li>Repeat steps 3 and 4 until you complete the table.</li>
</ol>
<p>For example, you can perform a 3-bit subnetting of the private address prefix 192.168.0.0/16. The subnet mask for the new subnetted address prefixes is 255.255.224.0 or /19. Based on <em>n</em> = 3, construct a table with 8 (= 2<span class="sup">3</span>) rows, as Table 4-3 shows. In the row for subnet 1, set all subnet bits (those in bold in the table) to 0, and increment them in each subsequent row.</p>
<table>
<tbody>
<tr>
<th>Subnet</th>
<th>Binary Representation</th>
<th>Subnetted Address Prefix</th>
</tr>
<tr>
<td>1</td>
<td>11000000.10101000.<strong>000</strong>00000.00000000</td>
<td>192.168.0.0/19</td>
</tr>
<tr>
<td>2</td>
<td>11000000.10101000.<strong>001</strong>00000.00000000</td>
<td>192.168.32.0/19</td>
</tr>
<tr>
<td>3</td>
<td>11000000.10101000.<strong>010</strong>00000.00000000</td>
<td>192.168.64.0/19</td>
</tr>
<tr>
<td>4</td>
<td>11000000.10101000.<strong>011</strong>00000.00000000</td>
<td>192.168.96.0/19</td>
</tr>
<tr>
<td>5</td>
<td>11000000.10101000.<strong>100</strong>00000.00000000</td>
<td>192.168.128.0/19</td>
</tr>
<tr>
<td>6</td>
<td>11000000.10101000.<strong>101</strong>00000.00000000</td>
<td>192.168.160.0/19</td>
</tr>
<tr>
<td>7</td>
<td>11000000.10101000.<strong>110</strong>00000.00000000</td>
<td>192.168.192.0/19</td>
</tr>
<tr>
<td>8</td>
<td>11000000.10101000.<strong>111</strong>00000.00000000</td>
<td>192.168.224.0/19</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-3  Binary Subnetting Technique for the 3-bit Subnetting of 192.168.0.0/16</strong></p>
<p><strong>Note</strong> RFCs 950 and 1122 prohibit setting the bits being used for subnetting to all 1s or all 0s (the all-ones and all-zeros subnets). However, RFC 1812 permits this practice.</p>
<p>To create an enumerated list of subnetted address prefixes by working with decimal numbers, perform the following steps:</p>
<ol>
<li>Based on <em>f</em>, the number of bits in the octet that are already fixed, and <em>n</em>, the number of bits you are using for subnetting, compute the subnet increment value, <em>i</em>, based on the following formula: <em>i</em> =  2<span class="sup">(8-f-n)</span>. The result is the incrementing value for each subnet for the octet that you are subnetting.</li>
<li>Based on <em>n</em>, the number of bits you are using for subnetting, create a three-column table with 2<span class="sup">n</span> rows. The first column contains the subnet numbers (starting with 1), the second column contains the decimal representations of the octet being subnetted, and the third column contains the dotted decimal representations of the subnetted address prefixes.</li>
<li>In the first row, set the second column to the starting octet value in the address prefix being subnetted, and set the third column to the original address prefix with its new prefix length.</li>
<li>In the next row, set the second column to the result of incrementing the number from the previous row with <em>i</em>, and set the third column to the subnetted address prefix with the subnetted octet from the second row.</li>
<li>Repeat step 4 until you complete the table.</li>
</ol>
<p>For example, to perform a 3-bit subnet of the private address prefix 192.168.0.0/16, compute the subnet increment from <em>i</em> = 2<span class="sup">(8-f-n)</span>. In this case, <em>f</em>=0 and <em>n</em>=3. Therefore, the subnet increment is 2<span class="sup">(8-0-3)</span> = 2<span class="sup">(5)</span> = 32. The prefix length for the subnetted address prefixes is /19. Based on <em>n</em> = 3, construct a table with 8 (= 2<span class="sup">3</span>) rows as Table 4-4 shows. In the row for subnet 1, place the original address prefix with the new prefix length, and complete the remaining rows by incrementing the subnetted octet by 32.</p>
<table>
<tbody>
<tr>
<th>Subnet</th>
<th>Decimal Value of the Subnetted Octet</th>
<th>Subnetted Address Prefix</th>
</tr>
<tr>
<td>1</td>
<td>0</td>
<td>192.168.0.0/19</td>
</tr>
<tr>
<td>2</td>
<td>32</td>
<td>192.168.32.0/19</td>
</tr>
<tr>
<td>3</td>
<td>64</td>
<td>192.168.64.0/19</td>
</tr>
<tr>
<td>4</td>
<td>96</td>
<td>192.168.96.0/19</td>
</tr>
<tr>
<td>5</td>
<td>128</td>
<td>192.168.128.0/19</td>
</tr>
<tr>
<td>6</td>
<td>160</td>
<td>192.168.160.0/19</td>
</tr>
<tr>
<td>7</td>
<td>192</td>
<td>192.168.192.0/19</td>
</tr>
<tr>
<td>8</td>
<td>224</td>
<td>192.168.224.0/19</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-4  Decimal Subnetting Technique for the 3-bit Subnetting of 192.168.0.0/16</strong></p>
<h5>Defining the Range of IPv4 Addresses for Each Subnet</h5>
<p>You can use two methods to define the range of IPv4 addresses for each subnet:</p>
<ul>
<li>Binary</li>
<li>Decimal</li>
</ul>
<p>To define the possible host IDs within each subnet, you keep the bits in the subnetted address prefix fixed while setting the remaining bits (in the host portion of the IPv4 address) to all possible values except all 1s and all 0s. Recall from Chapter 3, “<a id="ctl00_MTCS_main_ctl10" href="http://technet.microsoft.com/en-us/library/bb726995.aspx">IP Addressing</a>,” that you should use the following standard practice when defining the range of valid IPv4 unicast addresses for a given address prefix:</p>
<ul>
<li>For the first IPv4 unicast address in the range, set all the host bits in the address to 0, except for the lowest-order bit, which you set to 1.</li>
<li>For the last IPv4 unicast address in the range, set all the host bits in the address to 1, except for the lowest-order bit, which you set to 0.</li>
</ul>
<p>The result for each subnetted address prefix is a range of values that describe the possible unicast IPv4 addresses for that subnet.</p>
<p>To define the range of valid IPv4 addresses for a set of subnetted address prefixes using the binary method, perform the following steps:</p>
<ol>
<li>Based on <em>n</em>, the number of host bits chosen for subnetting, create a three-column table with 2<span class="sup">n</span> rows. The first column contains the subnet numbers (starting with 1), the second column contains the binary representations of the first and last IPv4 addresses for the subnetted address prefixes, and the third column contains the dotted decimal representation of the first and last IPv4 addresses of the subnetted address prefixes. Alternately, add two columns to the previous table used for enumerating the subnetted address prefixes using the binary technique.</li>
<li>In the second column of the first row, the first IPv4 address is the address in which all the host bits are set to 0 except for the last host bit. The last IPv4 address is the address in which all the host bits are set to 1 except for the last host bit.</li>
<li>In the third column of the first row, convert the binary representation to dotted decimal notation.</li>
<li>Repeat steps 2 and 3 for each row until you complete the table.</li>
</ol>
<p>For example, Table 4-5 shows the range of IPv4 addresses for the 3-bit subnetting of 192.168.0.0/16 with the host bits in bold.</p>
<table>
<tbody>
<tr>
<th>Subnet</th>
<th>Binary Representation</th>
<th>Range of IPv4 Addresses</th>
</tr>
<tr>
<td>1</td>
<td>11000000.10101000.000<strong>00000.00000001</strong> –11000000.10101000.000<strong>11111.11111110</strong></td>
<td>192.168.0.1 –192.168.31.254</td>
</tr>
<tr>
<td>2</td>
<td>11000000.10101000.001<strong>00000.00000001</strong> –11000000.10101000.001<strong>11111.11111110</strong></td>
<td>192.168.32.1 –192.168.63.254</td>
</tr>
<tr>
<td>3</td>
<td>11000000.10101000.010<strong>00000.00000001</strong> –11000000.10101000.010<strong>11111.11111110</strong></td>
<td>192.168.64.1 –192.168.95.254</td>
</tr>
<tr>
<td>4</td>
<td>11000000.10101000.011<strong>00000.00000001</strong> –11000000.10101000.011<strong>11111.11111110</strong></td>
<td>192.168.96.1 –192.168.127.254</td>
</tr>
<tr>
<td>5</td>
<td>11000000.10101000.100<strong>00000.00000001</strong> –11000000.10101000.100<strong>11111.11111110</strong></td>
<td>192.168.128.1 –192.168.159.254</td>
</tr>
<tr>
<td>6</td>
<td>11000000.10101000.101<strong>00000.00000001</strong> –11000000.10101000.101<strong>11111.11111110</strong></td>
<td>192.168.160.1 –192.168.191.254</td>
</tr>
<tr>
<td>7</td>
<td>11000000.10101000.110<strong>00000.00000001</strong> –11000000.10101000.110<strong>11111.11111110</strong></td>
<td>192.168.192.1 –192.168.223.254</td>
</tr>
<tr>
<td>8</td>
<td>11000000.10101000.111<strong>00000.00000001</strong> –11000000.10101000.111<strong>11111.11111110</strong></td>
<td>192.168.224.1 –192.168.255.254</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-5  Binary Technique for Defining the Ranges of IPv4 Addresses for the 3-bit Subnetting of 192.168.0.0/16</strong></p>
<p>To define the range of valid IPv4 addresses for a set of subnetted address prefixes using the decimal method, perform the following steps:</p>
<ol>
<li>Based on <em>n</em>, the number of host bits chosen for subnetting, create a three-column table with 2<span class="sup">n</span> rows. The first column contains the subnet numbers (starting with 1), the second column contains the dotted decimal representations of the subnetted address prefixes, and the third column contains the dotted decimal representations of the first and last IPv4 addresses of the subnetted address prefix. Alternately, add a column to the previous table used for enumerating the subnetted address prefixes in decimal.</li>
<li>For each row, calculate the first IPv4 address in the range by adding 1 to the last octet of the subnetted address prefix.</li>
<li>For each row except the last, calculate the last IPv4 address in the range using the following formulas:
<ul>
<li>When you subnet within the first octet, the last value for a given subnet is [<em>NextSubnetID</em> - 1].255.255.254 (in which <em>NextSubnetID</em> is the value of the octet that is being subnetted for the next subnetted address prefix).</li>
<li>When you subnet within the second octet, the last value for a given subnet is <em>w</em>.[<em>NextSubnetID</em> - 1].255.254.</li>
<li>When you subnet within the third octet, the last value for a given subnet is <em>w.x</em>.[<em>NextSubnetID</em> - 1].254.</li>
<li>When you subnet within the fourth octet, the last value for a given subnet is <em>w.x.y</em>.[<em>NextSubnetID</em> - 2].</li>
</ul>
</li>
<li>For the last row, calculate the last IPv4 address in the range using the following formulas:
<ul>
<li>When you subnet within the first octet, the last value is [<em>SubnetID</em> + <em>i</em> - 1].255.255.254 (in which <em>SubnetID</em> is the value of the octet that is being subnetted for the current subnetted address prefix and <em>i</em> is the increment value derived when determining the subnetted address prefixes).</li>
<li>When you subnet within the second octet, the last value is <em>w</em>.[<em>SubnetID</em> + <em>i</em> - 1].255.254.</li>
<li>When you subnet within the third octet, the last value is <em>w.x.</em>[<em>SubnetID</em> + <em>i</em> - 1].254.</li>
<li>When you subnet within the fourth octet, the last value is <em>w.x.y</em>.[<em>SubnetID</em> + <em>i</em> - 2].</li>
</ul>
</li>
</ol>
<p>For example, Table 4-6 shows the range of IPv4 addresses for the 3-bit subnetting of 192.168.0.0/16.</p>
<table>
<tbody>
<tr>
<th>Subnet</th>
<th>Subnetted Address Prefix</th>
<th>Range of IPv4 Addresses</th>
</tr>
<tr>
<td>1</td>
<td>192.168.0.0/19</td>
<td>192.168.0.1 –192.168.31.254</td>
</tr>
<tr>
<td>2</td>
<td>192.168.32.0/19</td>
<td>192.168.32.1 –192.168.63.254</td>
</tr>
<tr>
<td>3</td>
<td>192.168.64.0/19</td>
<td>192.168.64.1 –192.168.95.254</td>
</tr>
<tr>
<td>4</td>
<td>192.168.96.0/19</td>
<td>192.168.96.1 –192.168.127.254</td>
</tr>
<tr>
<td>5</td>
<td>192.168.128.0/19</td>
<td>192.168.128.1 –192.168.159.254</td>
</tr>
<tr>
<td>6</td>
<td>192.168.160.0/19</td>
<td>192.168.160.1 –192.168.191.254</td>
</tr>
<tr>
<td>7</td>
<td>192.168.192.0/19</td>
<td>192.168.192.1 –192.168.223.254</td>
</tr>
<tr>
<td>8</td>
<td>192.168.224.0/19</td>
<td>192.168.224.1 –192.168.255.254</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-6  Decimal Technique for Defining the Ranges of IPv4 Addresses for the 3-bit Subnetting of 192.168.0.0/16</strong></p>
<h4>Subnetting Across an Octet Boundary</h4>
<p>Like the procedure for subnetting within an octet, the procedure for subnetting across an octet boundary has two steps:</p>
<ul>
<li>Defining the subnetted address prefixes</li>
<li>Defining the range of usable IPv4 addresses for each subnetted address prefix</li>
</ul>
<p>The following sections describe these steps.</p>
<h5>Defining the Subnetted Address Prefixes</h5>
<p>To subnet across an octet boundary, do the following:</p>
<ol>
<li>Based on <em>n</em>, the number of host bits you are using for subnetting, create a three-column table with 2<span class="sup">n</span> rows. The first column contains the subnet numbers (starting with 1), the second column contains representations of the 32-bit subnetted address prefixes as single decimal numbers, and the third column contains the dotted decimal representations of the subnetted address prefixes.</li>
<li>Convert the address prefix (<em>w.x.y.z</em>) being subnetted from dotted decimal notation to <em>N</em>, a decimal representation of the 32-bit address prefix, using the following formula:
<p><em>N</em> = <em>w</em> x 16777216 + <em>x</em> x 65536 + <em>y</em> x 256 + <em>z</em></li>
<li>Compute the increment value <em>I</em> using <em>I</em> = 2<span class="sup">h</span> where <em>h</em> is the number of host bits remaining.</li>
<li>In the first row, place <em>N</em>, the decimal representation of the subnetted address prefix, in the second column, and place the subnetted address prefix <em>w.x.y.z</em> with its new prefix length in the third column.</li>
<li>In the next row, add <em>I</em> to the previous row’s decimal representation, and place the result in the second column.</li>
<li>Convert the decimal representation of the subnetted address prefix to dotted decimal notation (<em>W.X.Y.Z</em>) using the following formula (where <em>s</em> is the decimal representation of the subnetted address prefix):
<p><em>W</em> = int(<em>s</em>/16777216)</p>
<p><em>X</em> = int((<em>s</em> mod(16777216))/65536)</p>
<p><em>Y</em> = int((<em>s</em> mod(65536))/256)</p>
<p><em>Z</em> = <em>s</em> mod(256)</p>
<p>int( ) denotes integer division, and mod( ) denotes the modulus (the remainder upon division).</li>
<li>Repeat steps 5 and 6 until you complete the table.</li>
</ol>
<p>For example, to perform a 4-bit subnetting of the address prefix 192.168.180.0/22, construct a table with 16 (2<span class="sup">4</span>) rows, as Table 4-7 shows. <em>N</em>, the decimal representation of 192.168.180.0, is 3232281600, which is the result of 192 x 16777216 + 168 x 65536 + 180 x 256. Because 6 host bits remain, the increment <em>I</em> is 2<span class="sup">6</span> = 64. Additional rows in the table are successive increments of 64.</p>
<table>
<tbody>
<tr>
<th>Subnet</th>
<th>Decimal Representation</th>
<th>Subnetted Address Prefix</th>
</tr>
<tr>
<td>1</td>
<td>3232281600</td>
<td>192.168.180.0/26</td>
</tr>
<tr>
<td>2</td>
<td>3232281664</td>
<td>192.168.180.64/26</td>
</tr>
<tr>
<td>3</td>
<td>3232281728</td>
<td>192.168.180.128/26</td>
</tr>
<tr>
<td>4</td>
<td>3232281792</td>
<td>192.168.180.192/26</td>
</tr>
<tr>
<td>5</td>
<td>3232281856</td>
<td>192.168.181.0/26</td>
</tr>
<tr>
<td>6</td>
<td>3232281920</td>
<td>192.168.181.64/26</td>
</tr>
<tr>
<td>7</td>
<td>3232281984</td>
<td>192.168.181.128/26</td>
</tr>
<tr>
<td>8</td>
<td>3232282048</td>
<td>192.168.181.192/26</td>
</tr>
<tr>
<td>9</td>
<td>3232282112</td>
<td>192.168.182.0/26</td>
</tr>
<tr>
<td>10</td>
<td>3232282176</td>
<td>192.168.182.64/26</td>
</tr>
<tr>
<td>11</td>
<td>3232282240</td>
<td>192.168.182.128/26</td>
</tr>
<tr>
<td>12</td>
<td>3232282304</td>
<td>192.168.182.192/26</td>
</tr>
<tr>
<td>13</td>
<td>3232282368</td>
<td>192.168.183.0/26</td>
</tr>
<tr>
<td>14</td>
<td>3232282432</td>
<td>192.168.183.64/26</td>
</tr>
<tr>
<td>15</td>
<td>3232282496</td>
<td>192.168.183.128/26</td>
</tr>
<tr>
<td>16</td>
<td>3232282560</td>
<td>192.168.183.192/26</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-7  Decimal Subnetting Technique for the 4-bit Subnetting of 192.168.180.0/22</strong></p>
<p>This method is a completely general technique for subnetting, and you can also use it within an octet and across multiple octets.</p>
<h5>Defining the Range of IPv4 Addresses for Each Subnet</h5>
<p>To determine the range of usable host IDs for each subnetted address prefix, perform the following steps:</p>
<ol>
<li>Based on <em>n</em>, the number of host bits you are using for subnetting, create a three-column table with 2<span class="sup">n</span> rows. The first column contains the subnet numbers (starting with 1), the second column contains the decimal representation of the first and last IPv4 addresses for the subnetted address prefixes, and the third column contains the dotted decimal representation of the first and last IPv4 addresses of the subnetted address prefixes. Alternately, add two columns to the previous table used for enumerating the subnetted address prefixes using the decimal subnetting technique.</li>
<li>Compute the increment value <em>J</em> based on <em>h</em>, the number of host bits remaining:
<p><em>J</em> = 2<span class="sup">h</span> – 2</li>
<li>The first IPv4 address is <em>N</em> + 1, in which <em>N</em> is the decimal representation of the subnetted address prefix. The last IPv4 address is <em>N</em> + <em>J</em>.</li>
<li>Convert the decimal representation of the first and last IPv4 addresses to dotted decimal notation (<em>W.X.Y.Z</em>) using the following formula (where <em>s</em> is the decimal representation of the first or last IPv4 address):
<p><em>W</em> = int(<em>s</em>/16777216)</p>
<p><em>X</em> = int((<em>s</em> mod(16777216))/65536)</p>
<p><em>Y</em> = int((<em>s</em> mod(65536))/256)</p>
<p><em>Z</em> = <em>s</em> mod(256)</p>
<p>int( ) denotes integer division, and mod( ) denotes the modulus (the remainder upon division).</li>
<li>Repeat steps 3 and 4 for each row of the table.</li>
</ol>
<p>For example, Table 4-8 shows the range of IPv4 addresses for the 4-bit subnetting of 192.168.180.0/22. The increment J is 2<span class="sup">6</span> – 2 = 62.</p>
<table>
<tbody>
<tr>
<th>Subnet</th>
<th>Decimal Representation</th>
<th>Range of IPv4 Addresses</th>
</tr>
<tr>
<td>1</td>
<td>3232281601-3232281662</td>
<td>192.168.180.1-192.168.180.62</td>
</tr>
<tr>
<td>2</td>
<td>3232281665-3232281726</td>
<td>192.168.180.65-192.168.180.126</td>
</tr>
<tr>
<td>3</td>
<td>3232281729-3232281790</td>
<td>192.168.180.129-192.168.180.190</td>
</tr>
<tr>
<td>4</td>
<td>3232281793-3232281854</td>
<td>192.168.180.193-192.168.180.254</td>
</tr>
<tr>
<td>5</td>
<td>3232281857-3232281918</td>
<td>192.168.181.1-192.168.181.62</td>
</tr>
<tr>
<td>6</td>
<td>3232281921-3232281982</td>
<td>192.168.181.65-192.168.181.126</td>
</tr>
<tr>
<td>7</td>
<td>3232281985-3232282046</td>
<td>192.168.181.129-192.168.181.190</td>
</tr>
<tr>
<td>8</td>
<td>3232282049-3232282110</td>
<td>192.168.181.193-192.168.181.254</td>
</tr>
<tr>
<td>9</td>
<td>3232282113-3232282174</td>
<td>192.168.182.1-192.168.182.62</td>
</tr>
<tr>
<td>10</td>
<td>3232282177-3232282238</td>
<td>192.168.182.65-192.168.182.126</td>
</tr>
<tr>
<td>11</td>
<td>3232282241-3232282302</td>
<td>192.168.182.129-192.168.182.190</td>
</tr>
<tr>
<td>12</td>
<td>3232282305-3232282366</td>
<td>192.168.182.193-192.168.182.254</td>
</tr>
<tr>
<td>13</td>
<td>3232282369-3232282430</td>
<td>192.168.183.1-192.168.183.62</td>
</tr>
<tr>
<td>14</td>
<td>3232282433-3232282494</td>
<td>192.168.183.65-192.168.183.126</td>
</tr>
<tr>
<td>15</td>
<td>3232282497-3232282558</td>
<td>192.168.183.129-192.168.183.190</td>
</tr>
<tr>
<td>16</td>
<td>3232282561-3232282622</td>
<td>192.168.183.193-192.168.183.254</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-8  Decimal Enumeration of the Ranges of IPv4 Addresses for the 4-bit Subnetting of 192.168.180.0/22</strong></p>
<h4>Variable Length Subnetting</h4>
<p>One of the original uses for subnetting was to subdivide a class-based address prefix into a series of equal-sized subnets. For example, a 4-bit subnetting of a class B address prefix produces 16 equal-sized subnets. However, subnetting is a general method of using host bits to express subnets and does not require equal-sized subnets.</p>
<p>Subnets of different sizes can exist within a class-based or classless address prefix. This practice is well suited to real-world environments, where networks of an organization contain different numbers of hosts, and you need different-sized subnets to avoid wasting IPv4 addresses. The practice of creating and deploying various-sized subnets from an IPv4 address prefix is known as variable length subnetting, and this technique uses variable prefix lengths, also known as variable length subnet masks (VLSMs).</p>
<p>Variable length subnetting is a technique of allocating subnetted address prefixes that use prefix lengths of different sizes. However, all subnetted address prefixes are unique, and you can distinguish them from each other by their corresponding prefix length.</p>
<p>Variable length subnetting essentially performs subnetting on a previously subnetted address prefix. When you subnet, you keep the fixed address prefix and choose a certain number of host bits to express subnets. With variable length subnetting, the address prefix being subnetted has already been subnetted.</p>
<h5>Variable Length Subnetting Example</h5>
<p>For example, given the address prefix of 157.54.0.0/16, the required configuration is to reserve half the addresses for future use, have 15 address prefixes for sites of the organization with up to 2,000 hosts, and create eight subnets with up to 250 hosts.</p>
<p>To achieve the requirement of reserving half the address space for future use, subnet 1 bit of the class-based address prefix of 157.54.0.0. This subnetting produces 2 subnets, 157.54.0.0/17 and 157.54.128.0/17, dividing the address space in half. You can fulfill the requirement by choosing 157.54.0.0/17 as the address prefix for the reserved portion of the address space.</p>
<p>Table 4-9 shows the reservation of half the address space.</p>
<table>
<tbody>
<tr>
<th>Subnet Number</th>
<th>Address Prefix (Dotted Decimal)</th>
<th>Address Prefix (Prefix Length)</th>
</tr>
<tr>
<td>1</td>
<td>157.54.0.0, 255.255.128.0</td>
<td>157.54.0.0/17</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-9  Reserving Half the Address Space</strong></p>
<p>To fulfill the requirement of 15 address prefixes with approximately 2,000 hosts per prefix, subnet 4 bits of the subnetted address prefix of 157.54.128.0/17. This subnetting produces 16 address prefixes (157.54.128.0/21, 157.54.136.0/21&#8230;157.54.240.0/21, 157.54.248.0/21), allowing up to 2,046 hosts per address prefix. You can fulfill the requirement by choosing the first 15 subnetted address prefixes (157.54.128.0/21 to 157.54.240.0/21) as the address prefixes for other sites.</p>
<p>Table 4-10 illustrates 15 address prefixes with up to 2,046 hosts per subnet.</p>
<table>
<tbody>
<tr>
<th>Subnet Number</th>
<th>Address Prefix (Dotted Decimal)</th>
<th>Address Prefix (Prefix Length)</th>
</tr>
<tr>
<td>1</td>
<td>157.54.128.0, 255.255.248.0</td>
<td>157.54.128.0/21</td>
</tr>
<tr>
<td>2</td>
<td>157.54.136.0, 255.255.248.0</td>
<td>157.54.136.0/21</td>
</tr>
<tr>
<td>3</td>
<td>157.54.144.0, 255.255.248.0</td>
<td>157.54.144.0/21</td>
</tr>
<tr>
<td>4</td>
<td>157.54.152.0, 255.255.248.0</td>
<td>157.54.152.0/21</td>
</tr>
<tr>
<td>5</td>
<td>157.54.160.0, 255.255.248.0</td>
<td>157.54.160.0/21</td>
</tr>
<tr>
<td>6</td>
<td>157.54.168.0, 255.255.248.0</td>
<td>157.54.168.0/21</td>
</tr>
<tr>
<td>7</td>
<td>157.54.176.0, 255.255.248.0</td>
<td>157.54.176.0/21</td>
</tr>
<tr>
<td>8</td>
<td>157.54.184.0, 255.255.248.0</td>
<td>157.54.184.0/21</td>
</tr>
<tr>
<td>9</td>
<td>157.54.192.0, 255.255.248.0</td>
<td>157.54.192.0/21</td>
</tr>
<tr>
<td>10</td>
<td>157.54.200.0, 255.255.248.0</td>
<td>157.54.200.0/21</td>
</tr>
<tr>
<td>11</td>
<td>157.54.208.0, 255.255.248.0</td>
<td>157.54.208.0/21</td>
</tr>
<tr>
<td>12</td>
<td>157.54.216.0, 255.255.248.0</td>
<td>157.54.216.0/21</td>
</tr>
<tr>
<td>13</td>
<td>157.54.224.0, 255.255.248.0</td>
<td>157.54.224.0/21</td>
</tr>
<tr>
<td>14</td>
<td>157.54.232.0, 255.255.248.0</td>
<td>157.54.232.0/21</td>
</tr>
<tr>
<td>15</td>
<td>157.54.240.0, 255.255.248.0</td>
<td>157.54.240.0/21</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-10  Fifteen Address Prefixes with up to 2,046 Hosts</strong></p>
<p>To achieve the requirement of eight subnets with up to 250 hosts, subnet 3 bits of the subnetted address prefix of 157.54.248.0/21. This subnetting produces eight subnets (157.54.248.0/24, 157.54.249.0/24&#8230;157.54.254.0/24, 157.54.255.0/24) and allows up to 254 hosts per subnet. You can fulfill the requirement by choosing all eight subnetted address prefixes (157.54.248.0/24 through 157.54.255.0/24) as the address prefixes to assign to individual subnets.</p>
<p>Table 4-11 illustrates eight subnets with 254 hosts per subnet.</p>
<table>
<tbody>
<tr>
<th>Subnet Number</th>
<th>Address Prefix (Dotted Decimal)</th>
<th>Address Prefix (Prefix Length)</th>
</tr>
<tr>
<td>1</td>
<td>157.54.248.0, 255.255.255.0</td>
<td>157.54.248.0/24</td>
</tr>
<tr>
<td>2</td>
<td>157.54.249.0, 255.255.255.0</td>
<td>157.54.249.0/24</td>
</tr>
<tr>
<td>3</td>
<td>157.54.250.0, 255.255.255.0</td>
<td>157.54.250.0/24</td>
</tr>
<tr>
<td>4</td>
<td>157.54.251.0, 255.255.255.0</td>
<td>157.54.251.0/24</td>
</tr>
<tr>
<td>5</td>
<td>157.54.252.0, 255.255.255.0</td>
<td>157.54.252.0/24</td>
</tr>
<tr>
<td>6</td>
<td>157.54.253.0, 255.255.255.0</td>
<td>157.54.253.0/24</td>
</tr>
<tr>
<td>7</td>
<td>157.54.254.0, 255.255.255.0</td>
<td>157.54.254.0/24</td>
</tr>
<tr>
<td>8</td>
<td>157.54.255.0, 255.255.255.0</td>
<td>157.54.255.0/24</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-11  Eight Subnets with up to 254 Hosts</strong></p>
<p>Figure 4-4 shows the variable length subnetting of 157.54.0.0/16.</p>
<p><a id="ctl00_MTCS_main_ctl11" href="Bb726997.subtn404_big%28en-us,TechNet.10%29.gif"><br />
<!--src=[images/subtn404.gif]--><img src="http://i.technet.microsoft.com/Bb726997.subtn404%28en-us,TechNet.10%29.gif" alt="Bb726997.subtn404(en-us,TechNet.10).gif" /></a></p>
<div><strong>Figure 4-4  Variable length subnetting of 157.54.0.0/16</strong></div>
<h5>Variable Length Subnetting and Routing</h5>
<p>In dynamic routing environments, you can deploy variable length subnetting only where the prefix length is advertised along with the address prefix. Routing Information Protocol (RIP) for IP version 1 does not support variable length subnetting, but RIP for IP version 2, Open Shortest Path First (OSPF), and Border Gateway Protocol version 4 (BGPv4) do. For more information about these routing protocols, see Chapter 5, &#8220;<a id="ctl00_MTCS_main_ctl13" href="http://technet.microsoft.com/en-us/library/bb727001.aspx">IP Routing</a>.&#8221;</p>
<div><a href="#mainSection"></a><br />
<a href="#mainSection">Top of page</a></p>
</div>
<h3 id="ECAA">Subnetting for IPv6</h3>
<p>To subnet the IPv6 address space, you use subnetting techniques to divide the 16-bit Subnet ID field for a 48-bit global or unique local address prefix in a manner that allows for route summarization and delegation of the remaining address space to different portions of an IPv6 intranet.</p>
<p>You need not subnet in any specific fashion. The subnetting technique described here assumes that you subnet by dividing the variable portions of the address space of the Subnet ID field using its high-order bits. Although this method promotes hierarchical addressing and routing, it is not required. For example, in a small organization with a small number of subnets, you can also easily create a flat addressing space for global addresses by numbering the subnets starting from 0.</p>
<h4>Subnetting a Global Address Prefix</h4>
<p>For global addresses, Internet Assigned Numbers Authority (IANA) or an ISP assigns an IPv6 address prefix in which the first 48 bits are fixed. Subnetting the Subnet ID field for a 48-bit global address prefix requires a two-step procedure:</p>
<ol>
<li>Determine the number of bits to be used for the subnetting.</li>
<li>Enumerate the new subnetted address prefixes.</li>
</ol>
<h5>Determining the Number of Subnetting Bits</h5>
<p>The number of bits that you use for subnetting determines the possible number of new subnetted address prefixes that you can allocate to portions of your network based on geographical or departmental divisions. In a hierarchical routing infrastructure, you must determine how many address prefixes, and therefore how many bits, you need at each level in the hierarchy. The more bits you choose for the various levels of the hierarchy, the fewer bits you have to enumerate individual subnets in the last level of the hierarchy.</p>
<p>For example, you could decide to implement a two-level hierarchy reflecting a geographical/departmental structure and use 4 bits for the geographical level and 6 bits for the departmental level. This scheme allows for 16 geographical regions, and each department in each region has only 6 bits of subnetting space left (16 &#8211; 6 &#8211; 4), or only 64 (=2<span class="sup">6</span>) subnets per department.</p>
<p>On any given level in the hierarchy, a number of bits are already fixed by the previous level in the hierarchy (<em>f</em>), a number of bits are used for subnetting at the current level in the hierarchy (<em>s</em>), and a number of bits remain for the next level down in the hierarchy (<em>r</em>). At all times, <em>f</em>+<em>s</em>+<em>r</em> = 16. Figure 4-5 shows this relationship.</p>
<p><a id="ctl00_MTCS_main_ctl14" href="Bb726997.subtn405_big%28en-us,TechNet.10%29.gif"><br />
<!--src=[images/subtn405.gif]--><img src="http://i.technet.microsoft.com/Bb726997.subtn405%28en-us,TechNet.10%29.gif" alt="Bb726997.subtn405(en-us,TechNet.10).gif" /></a></p>
<div><strong>Figure 4-5  Subnetting the Subnet ID field of a global IPv6 address</strong></div>
<h5>Enumerating Subnetted Address Prefixes</h5>
<p>Based on the number of bits used for subnetting, you must list the new subnetted address prefixes, and you can use either of two main approaches:</p>
<ul>
<li>Enumerate the new subnetted address prefixes by using hexadecimal representations of the subnet ID and increment.</li>
<li>Enumerate the new subnetted address prefixes by using decimal representations of the subnet ID and increment.</li>
</ul>
<p>Both methods produce the same result: an enumerated list of subnetted address prefixes.</p>
<p>To create the enumerated list of subnetted address prefixes using the hexadecimal method, perform the following steps:</p>
<ol>
<li>Based on <em>s</em>, the number of bits chosen for subnetting, and <em>m</em>, the prefix length of the address prefix being subnetted, calculate the following:
<p><em>f</em> = <em>m</em> &#8211; 48</p>
<p><em>f</em> is the number of bits within the subnet ID that are already fixed.</p>
<p><em>n</em> = 2<span class="sup">s</span></p>
<p><em>n</em> is the number of address prefixes that you will obtain.</p>
<p><em>i</em> = 2<span class="sup">16-(f+s)</span></p>
<p><em>i</em> is the incremental value between each successive subnet ID expressed in hexadecimal.</p>
<p><em>P</em> =<em> m+s</em></p>
<p><em>P</em> is the prefix length of the new subnetted address prefixes.</li>
<li>Create a two-column table with <em>n</em> rows. The first column contains the address prefix numbers (starting with 1), and the second column contains the new subnetted address prefixes.</li>
<li>In the first row, place the original address prefix with the new prefix length in the second column. For example, based on <em>F</em>, the hexadecimal value of the subnet ID being subnetted, the subnetted address prefix is [48-bit prefix]:<em>F</em>::/<em>P</em>.</li>
<li>In the next row, increment the value within the subnet ID portion of the site-local or global address by <em>i</em>, and place the result in the second column. For example, in the second row, the subnetted prefix is [48-bit prefix]:<em>F</em>+<em>i</em>::/<em>P</em>.</li>
<li>Repeat step 4 until you complete the table.</li>
</ol>
<p>For example, to perform a 3-bit subnetting of the global address prefix 2001:DB8:0:C000::/51, first calculate the values of the number of prefixes, the increment, and the new prefix length. Your starting values are <em>F</em>=0xC000, <em>s</em>=3, <em>m</em>=51, and therefore <em>f</em>=51-48=3. The number of prefixes is 8 (<em>n</em>=2<span class="sup">3</span>). The increment is 0&#215;400 (<em>i</em>=2<span class="sup">16-(3+3)</span>=1024=0&#215;400). The new prefix length is 54 (<em>P</em>=51+3).</p>
<p>Next, you construct a table with eight rows, as shown in Table 4-12. In the row for the address prefix 1, place 2001:DB8:0:C000::/54 in the second column, and complete the remaining rows by incrementing the Subnet ID portion of the address prefix by 0&#215;400.</p>
<table>
<tbody>
<tr>
<th>Address Prefix</th>
<th>Subnetted Address Prefix</th>
</tr>
<tr>
<td>1</td>
<td>2001:DB8:0:C000::/54</td>
</tr>
<tr>
<td>2</td>
<td>2001:DB8:0:C400::/54</td>
</tr>
<tr>
<td>3</td>
<td>2001:DB8:0:C800::/54</td>
</tr>
<tr>
<td>4</td>
<td>2001:DB8:0:CC00::/54</td>
</tr>
<tr>
<td>5</td>
<td>2001:DB8:0:D000::/54</td>
</tr>
<tr>
<td>6</td>
<td>2001:DB8:0:D400::/54</td>
</tr>
<tr>
<td>7</td>
<td>2001:DB8:0:D800::/54</td>
</tr>
<tr>
<td>8</td>
<td>2001:DB8:0:DC00::/54</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-12   Hexadecimal Technique for the 3-bit Subnetting of 2001:DB8:0:C000::/51</strong></p>
<p>To create the enumerated list of subnetted address prefixes using the decimal method, do the following:</p>
<ol>
<li>Based on <em>s</em>, the number of bits you are using for subnetting, <em>m</em>, the prefix length of the address prefix being subnetted, and <em>F</em>, the hexadecimal value of the subnet ID being subnetted, calculate the following:
<p><em>f</em> = <em>m</em> &#8211; 48</p>
<p><em>f</em> is the number of bits within the Subnet ID that are already fixed.</p>
<p><em>n</em> = 2<span class="sup">s</span></p>
<p><em>n</em> is the number of address prefixes that you will obtain.</p>
<p><em>i</em> = 2<span class="sup">16-(f+s)</span></p>
<p><em>i</em> is the incremental value between each successive subnet ID.</p>
<p><em>P</em> = <em>m</em>+<em>s</em></p>
<p><em>P</em> is the prefix length of the new subnetted address prefixes.</p>
<p><em>D</em> = decimal representation of <em>F</em></li>
<li>Create a three-column table with <em>n</em> rows. The first column contains the address prefix numbers (starting with 1), the second column contains the decimal representations of the Subnet ID portions of the new subnetted address prefixes, and the third column contains the new subnetted address prefixes.</li>
<li>In the first row, place the decimal representation of the subnet ID (<em>D</em>) in the first column, and place the subnetted prefix, [48-bit prefix]:<em>F</em>::/<em>P</em>, in the second column.</li>
<li>In the next row, increase the value of the decimal representation of the subnet ID by <em>i</em>, and place the result in the second column. For example, in the second row, the decimal representation of the subnet ID is <em>D</em>+<em>i</em>.</li>
<li>In the third column, convert the decimal representation of the subnet ID to hexadecimal, and construct the prefix from [48-bit prefix]:[<em>SubnetID</em>]::/<em>P</em>. For example, in the second row, the subnetted address prefix is [48-bit prefix]:[<em>D</em>+<em>i</em> (converted to hexadecimal)]::/<em>P</em>.</li>
<li>Repeat steps 4 and 5 until you complete the table.</li>
</ol>
<p>For example, to perform a 3-bit subnetting of the site-local address prefix 2001:DB8:0:C000::/51, first calculate the values of the number of prefixes, the increment, the new prefix length, and the decimal representation of the starting subnet ID. Our starting values are <em>F</em>=0xC000, <em>s</em>=3, <em>m</em>=51, and therefore <em>f</em>=51-48=3. The number of prefixes is 8 (<em>n</em>=2<span class="sup">3</span>). The increment is 1024 (<em>i</em>=2<span class="sup">16-(3+3)</span>). The new prefix length is 54 (<em>P</em>=51+3). The decimal representation of the starting subnet ID is 49152 (D=0xC000=49152).</p>
<p>Next, construct a table with 8 rows as Table 4-13 shows. In the row for the address prefix 1, place 49152 in the first column and 2001:DB8:0:C000::/54 in the second column. In the remaining rows, increment the subnet ID portion of the address prefix (the fourth hexadecimal block) by 1024 and convert to hexadecimal.</p>
<table>
<tbody>
<tr>
<th>Address Prefix</th>
<th>Decimal Representation of Subnet ID</th>
<th>Subnetted Address Prefix</th>
</tr>
<tr>
<td>1</td>
<td>49152</td>
<td>2001:DB8:0:C000::/54</td>
</tr>
<tr>
<td>2</td>
<td>50176</td>
<td>2001:DB8:0:C400::/54</td>
</tr>
<tr>
<td>3</td>
<td>51200</td>
<td>2001:DB8:0:C800::/54</td>
</tr>
<tr>
<td>4</td>
<td>52224</td>
<td>2001:DB8:0:CC00::/54</td>
</tr>
<tr>
<td>5</td>
<td>53248</td>
<td>2001:DB8:0:D000::/54</td>
</tr>
<tr>
<td>6</td>
<td>54272</td>
<td>2001:DB8:0:D400::/54</td>
</tr>
<tr>
<td>7</td>
<td>55296</td>
<td>2001:DB8:0:D800::/54</td>
</tr>
<tr>
<td>8</td>
<td>56320</td>
<td>2001:DB8:0:DC00::/54</td>
</tr>
</tbody>
</table>
<p><strong>Table 4-13  Decimal Technique for the 3-bit Subnetting of 2001:DB8:0:C000::/51</strong></p>
<h4>Variable Length Subnetting</h4>
<p>Just as in IPv4, you can subnet IPv6 address prefixes recursively, up to the 64 bits that define the address prefix for an individual subnet, to provide route summarization at various levels of an organization intranet. Unlike IPv4, you cannot use variable-length subnetting to create different sized subnets because all IPv6 subnets use a 64-bit subnet prefix and a 64-bit interface ID.</p>
<div><a href="#mainSection"></a><br />
<a href="#mainSection">Top of page</a></p>
</div>
<h3 id="EBAA">Chapter Summary</h3>
<p>The key information in this chapter is the following:</p>
<ul>
<li>Subnetting is a set of techniques that you can use to efficiently allocate the address space of one or more unicast address prefixes among the subnets of an organization network.</li>
<li>To determine the subnet prefix of an IPv4 address configuration in prefix length notation (<em>w.x.y.z</em>/<em>n</em>), retain the <em>n</em> high-order bits, set all the remaining bits to 0, and then convert the result to dotted decimal notation. To determine the subnet prefix of an IPv4 address configuration in subnet mask notation, perform a bit-wise logical AND between the IPv4 address and its subnet mask.</li>
<li>When determining the number of host ID bits in an IPv4 address prefix to use for subnetting, choose more subnets over more hosts per subnet if you have more possible host IDs than are practical to use on a given subnet.</li>
<li>To subnet an IPv4 address prefix, use either binary or decimal methods as described in this chapter to enumerate the subnetted address prefixes and the ranges of usable IPv4 addresses for each subnet.</li>
<li>Variable length subnetting is a technique of creating subnetted IPv4 address prefixes that use prefix lengths of different sizes.</li>
<li>To subnet an IPv6 global address prefix, use either hexadecimal or decimal methods as described in this chapter to enumerate the subnetted address prefixes.</li>
</ul>
<div><a href="#mainSection"></a><br />
<a href="#mainSection">Top of page</a></p>
</div>
<h3 id="EAAA">Chapter Glossary</h3>
<p>subnetting – The act of subdividing the address space of an IPv4 or IPv6 address prefix.</p>
<p>subnetted address prefix – Either a new IPv4 address prefix that is the result of subnetting an IPv4 address prefix or a new IPv6 address prefix that is the result of subnetting an IPv6 address prefix.</p>
<p>variable length subnet masks (VLSMs) – The use of different subnet masks to produce subnets of different sizes.</p>
<p>variable length subnetting – The practice of using variable length subnet masks.</p>
<div><a href="#mainSection"></a><br />
<a href="#mainSection">Top of page</a></p>
</div>
</div>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/242/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=242&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2010/08/09/technet-tcpip-chapter-4-subnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Bb726997.subtn401%28en-us,TechNet.10%29.gif" medium="image">
			<media:title type="html">Bb726997.subtn401(en-us,TechNet.10).gif</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Bb726997.subtn402%28en-us,TechNet.10%29.gif" medium="image">
			<media:title type="html">Bb726997.subtn402(en-us,TechNet.10).gif</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Bb726997.subtn403%28en-us,TechNet.10%29.gif" medium="image">
			<media:title type="html">Bb726997.subtn403(en-us,TechNet.10).gif</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Bb726997.subtn404%28en-us,TechNet.10%29.gif" medium="image">
			<media:title type="html">Bb726997.subtn404(en-us,TechNet.10).gif</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Bb726997.subtn405%28en-us,TechNet.10%29.gif" medium="image">
			<media:title type="html">Bb726997.subtn405(en-us,TechNet.10).gif</media:title>
		</media:content>
	</item>
		<item>
		<title>quick awk man</title>
		<link>http://ncong.wordpress.com/2010/08/09/quick-awk-man/</link>
		<comments>http://ncong.wordpress.com/2010/08/09/quick-awk-man/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 21:14:19 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[awk]]></category>
		<category><![CDATA[SysOps]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=237</guid>
		<description><![CDATA[Why awk? The Awk text-processing programming language and is a useful tool for manipulating text. Awk recognizes the concepts of &#8220;file&#8221;, &#8220;record&#8221;, and &#8220;field&#8221;. A file consists of records, which by default are the lines of the file. One line becomes one record. Awk operates on one record at a time. A record consists of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=237&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td width="50%" valign="top">
<h3>Why awk?</h3>
<p>The Awk text-processing programming language and  is a useful  tool for manipulating text.</p>
<li>Awk recognizes the concepts of &#8220;file&#8221;, &#8220;record&#8221;, and &#8220;field&#8221;.</li>
<li>A file consists of records, which by default are the lines of the file. One line becomes one record.</li>
<li>Awk operates on one record at a time.</li>
<li>A record consists of fields, which by default are separated by any number of spaces or tabs.</li>
<li>Field number 1 is accessed with $1, field 2 with $2, and so forth. $0 refers to the whole record.
<pre class="indent">[awkuser@p3nlh096 ~]$ awk -help
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options:          GNU long options:
        -f progfile             --file=progfile
        -F fs                   --field-separator=fs
        -v var=val              --assign=var=val
        -m[fr] val
        -W compat               --compat
        -W copyleft             --copyleft
        -W copyright            --copyright
        -W dump-variables[=file]        --dump-variables[=file]
        -W exec=file            --exec=file
        -W gen-po               --gen-po
        -W help                 --help
        -W lint[=fatal]         --lint[=fatal]
        -W lint-old             --lint-old
        -W non-decimal-data     --non-decimal-data
        -W profile[=file]       --profile[=file]
        -W posix                --posix
        -W re-interval          --re-interval
        -W source=program-text  --source=program-text
        -W traditional          --traditional
        -W usage                --usage
        -W version              --version

To report bugs, see node `Bugs' in `gawk.info', which is
section `Reporting Problems and Bugs' in the printed version.

gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.

Examples:
        gawk '{ sum += $1 }; END { print sum }' file
        gawk -F: '{ print $1 }' /etc/passwd
</pre>
<p>Now, for an explanation of the { print } code block. In awk, curly braces are used to group blocks of code together, similar to C. Inside our block of code, we have a single print command. In awk, when a print command appears by itself, the full contents of the current line are printed.</p>
<pre class="indent">$ awk '{ print $0 }' /etc/passwd

output
-------
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
...
</pre>
<p>In awk, the $0 variable represents the entire current line, so print and print $0 do exactly the same thing.</p>
<pre class="indent">$ awk '{ print "" }' /etc/passwd
</pre>
<pre class="indent">$ awk '{ print "hello" }' /etc/passwd
</pre>
<p>Running this script will fill your screen with hello&#8217;s.</p>
<h3>AWK Variables</h3>
<p>awk variables are initialized to either zero or the empty string the first time they are used.</p>
<p><strong>Variables</strong></li>
<li>Variable declaration is not required</li>
<li>May contain any type of data, their data type may change over the life of the program</li>
<li>Must begin with a letter and continuing with letters, digits and underscores</li>
<li>Are case senstive</li>
<li>Some of the commonly used built-in variables are:
<ul>
<li> NR &#8212; The current line&#8217;s sequential number</li>
<li> NF &#8212; The number of fields in the current line</li>
<li> FS &#8212; The input field separator; defaults to whitespace and is reset by the -F command line parameter</li>
</ul>
<pre class="indent">/test$ cat calc
3 56
567 89
/test$ awk '{d=($2-($1-4));s=($2+$1);print d/sqrt(s),d*d/s }' calc
7.42077 55.0678
-18.5066 342.494
/test$
</pre>
<p>in above example we have a file calc with two rows and two columns.<br />
Note that the final statement, a &#8220;print&#8221; in this case, does not need a semicolon. It doesn&#8217;t hurt to put it in, though.</p>
<p>Integer variables can be used to refer to fields. If one field contains information about which other field is important, this script will print only the important field:</p>
<pre class="indent">$ awk '{imp=$1; print $imp }' calc
</pre>
<p>The special variable NF tells you how many fields are in this record. This script prints the first and last field from each record, regardless of how many fields there are:</p>
<p>if now calc file is</p>
<pre class="indent">3 56 abd
567 89 xyz
</pre>
<pre class="indent">$ awk '{print $1,$NF }' calc
3 abd
567 xyz
</pre>
<h3>Begin and End</h3>
<p>Any action associated with the BEGIN pattern will happen before any line-by-line processing is done.<br />
Actions with the END pattern will happen after all lines are processed.</p>
<pre class="indent">1.One is to just mash them together, like so:
&gt;

awk 'BEGIN{print"fee"} $1=="foo"{print"fi"}
     END{print"fo fum"}' filename
</pre>
<h3>AWK Arrays</h3>
<p>awk has arrays, but they are only indexed by strings. This can be very useful, but it can also be annoying. For example, we can count the frequency of words in a document (ignoring the icky part about printing them out):</p>
<pre class="indent">$ awk '{for(i=1;i &lt;=NF;i++) freq[$i]++ }' filename
</pre>
<p>The array will hold an integer value for each word that occurred in the file. Unfortunately, this treats &#8220;foo&#8221;, &#8220;Foo&#8221;, and &#8220;foo,&#8221; as different words. Oh well. How do we print out these frequencies? awk has a special &#8220;for&#8221; construct that loops over the values in an array. This script is longer than most command lines, so it will be expressed as an executable script:</p>
<pre class="indent">#!/usr/bin/awk -f
{for(i=1;i &lt;=NF;i++) freq[$i]++ }
END{for(word in freq) print word, freq[word]
}
</pre>
<h3>AWK Regular expressions and blocks</h3>
<pre class="indent">awk '/pattern_to_match/ {actions}' input_file

awk '/foo/ { print }' abc.txt

cat abc.txt|awk '/[0-9]+.[0-9]*/ { print }'
</pre>
<p><strong> Expressions and blocks</strong></p>
<p>fredprint</p>
<p>$1 == &#8220;fred&#8221; { print $3 }</p>
<p>root</p>
<p>$5 ~ /root/ { print $3 }</p>
<p><strong>AWK Conditional statements</strong></p>
<pre class="indent">awk '{
   if ( $1 ~ /root/ )
  {
   print $1
  }
}' /etc/passwd
</pre>
<p>Both scripts function identically. In the first example, the boolean expression is placed outside the block, while in the second example, the block is executed for every input line, and we selectively perform the print command by using an if statement. Both methods are available, and you can choose the one that best meshes with the other parts of your script.</p>
<pre class="indent">if
{
	if ( $1 == "foo" ) {
		if ( $2 == "foo" ) {
			print "uno"
		} else {
			print "one"
		}
	} else if ($1 == "bar" ) {
		print "two"
	} else {
		print "three"
	}
}

if
! /matchme/ { print $1 $3 $4 }
{
	if ( $0 !~ /matchme/ ) {
		print $1 $3 $4
	}
}
</pre>
<p>Both scripts will output only those lines that don&#8217;t contain a matchme character sequence. Again, you can choose the method that works best for your code. They both do the same thing.</p>
<p>( $1 == &#8220;foo&#8221; ) &amp;&amp; ( $2 == &#8220;bar&#8221; ) { print }</p>
<p>This example will print only those lines where field one equals foo and field two equals bar.</li>
</td>
<td width="50%" valign="top"><strong>Examples</strong></p>
<hr /><strong>Print every line after erasing the 2nd field</strong></p>
<pre class="indent1">awk '{$2 = ""; print}' file
</pre>
<p><strong>Print hi 48 times</strong></p>
<pre class="indent1">yes | head -48 | awk '{ print "hi" }'
</pre>
<p><strong>Print hi.0010 to hi.0099</strong></p>
<pre class="indent1">yes | head -90 | awk '{printf("hi00%2.0f n", NR+9)}'
</pre>
<p><strong>print when column 3 is &lt; 1900 (in myfile.txt). If a value is not numeric, it doesn&#8217;t complain<br />
</strong></p>
<pre class="indent1"><strong>cat myfile.txt| awk '{if ($3 &lt; 1900) print $3, " ",$5,$7,$8}'
</strong></pre>
<p><strong><strong>Count number of lines where col 3 &gt; col 1 </strong><br />
</strong></p>
<pre class="indent1"><strong>awk '$3 &gt; $1 {print i + "1"; i++}' file</strong></pre>
<p><strong> <strong>print only lines of less than 65 characters</strong><br />
</strong></p>
<pre class="indent1"><strong>awk 'length &lt; 64'</strong>
 
</pre>
</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/237/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=237&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2010/08/09/quick-awk-man/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>certmatrics support</title>
		<link>http://ncong.wordpress.com/2010/07/30/certmatrics-support/</link>
		<comments>http://ncong.wordpress.com/2010/07/30/certmatrics-support/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 14:58:52 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=233</guid>
		<description><![CDATA[In order to research your missing scores we will need you to submit a complete copy (all pages) of the missing exam score report in question, along with a legal I.D. (drivers license or passport). You can either scan or fax this information to us. Please subject your submittal: ATTENTION: Skills Certification – Missing Exam.  If you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=233&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In order to research your missing scores we will need you to submit a complete copy (all pages) of the missing exam score report in question, along with a legal I.D. (drivers license or passport).</p>
<p>You can either scan or fax this information to us. Please subject your submittal: <strong>ATTENTION: Skills Certification – Missing Exam</strong>.  If you want to scan your document please use the Submit a Ticket feature and attach your scanned score report of the missing exam (all pages) to the ticket. If you wish to fax your score report please fax your score report (all pages) to: <strong>1-630-268-9071</strong>.  Please include a daytime phone and email address.</p>
<p>The Skills Certification Data Department will investigate your submission. Please allow a minimum of 7 business days for review. Based on our findings, your record will be updated and/or corrected to reflect the determination. You will be notified via email when the investigation has been completed.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/233/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=233&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2010/07/30/certmatrics-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>metricsthatmatter.com</title>
		<link>http://ncong.wordpress.com/2010/07/28/metricsthatmatter-com/</link>
		<comments>http://ncong.wordpress.com/2010/07/28/metricsthatmatter-com/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 21:05:03 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[SysOps]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=230</guid>
		<description><![CDATA[2969685 &#8211; cnguyen<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=230&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>2969685 &#8211; cnguyen</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/230/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=230&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2010/07/28/metricsthatmatter-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>Old DC Bookmark</title>
		<link>http://ncong.wordpress.com/2010/07/28/old-dc-bookmark/</link>
		<comments>http://ncong.wordpress.com/2010/07/28/old-dc-bookmark/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 18:30:31 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[SysOps]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=227</guid>
		<description><![CDATA[DC Info &#38; Tools Dell&#8217;s Microsoft Internal Website EEMS Portal.NET reboot tool Extranet Security Document Center Home &#8211; GTS Client Engagement Site Home &#8211; GTS Morning Ops Call Home &#8211; Service Support Group Home &#8211; TK MCSS http&#8211;eismetrics-MSInsight-default.asp HW Stds Procesess Infopaq IPAK Scheduler IT Resource Center &#8211; warranty check ITG Service Pack for Windows [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=227&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>DC Info &amp; Tools</h3>
<dl>
<dt><a href="http://dellhelp/">Dell&#8217;s Microsoft Internal Website</a> </dt>
<dt><a href="http://nsmtools/portal/">EEMS Portal.NET reboot tool</a> </dt>
<dt><a href="http://extranetweb/security">Extranet Security Document Center</a></dt>
<dt><a href="http://team/sites/gtsweb/default.aspx">Home &#8211; GTS Client Engagement Site</a> </dt>
<dt><a href="http://team/sites/MorningOpsCall/default.aspx">Home &#8211; GTS Morning Ops Call</a> </dt>
<dt><a href="http://team/sites/SSG/default.aspx">Home &#8211; Service Support Group</a> </dt>
<dt><a href="http://teams/sites/MCSS/TUK/default.aspx">Home &#8211; TK MCSS</a> </dt>
<dt><a href="http://eismetrics/MSInsight/default.asp">http&#8211;eismetrics-MSInsight-default.asp</a> </dt>
<dt><a href="http://cseweb/hweng/processes/processes.asp">HW Stds Procesess</a></dt>
<dt><a href="http://infopaq/">Infopaq</a> </dt>
<dt><a href="http://cseweb/ipak/sched/">IPAK Scheduler</a> </dt>
<dt><a href="http://www4.itrc.hp.com/service/ewarranty/warrantyInput.do?admit=-938907319+1100018198733+28353475">IT Resource Center &#8211; warranty check</a> </dt>
<dt><a href="http://cseweb/ipak/">ITG Service Pack for Windows</a> </dt>
<dt><a href="http://itlabs/">ITLabs</a> </dt>
<dt><a href="http://nmtools/net/maciphunt/maciphunt.aspx">MAC or IP Hunt Tool</a></dt>
<dt><a href="http://msapps/">Microsoft Application Portfolio System (MS Apps Home)</a> </dt>
<dt><a href="http://mitvipnet/">MITVIPNET</a> </dt>
<dt><a href="http://ontarget/">MS OnTARGET</a> </dt>
<dt><a href="http://nmtools/net/deviceImpact/deviceImpact.aspx">Network Switch Impact Tool</a> </dt>
<dt><a href="http://b11netconf/">OurBrook Configuration Manager</a> </dt>
<dt><a href="http://nmtools/net/portshut/portshutresults.aspx">Port Shut Results</a></dt>
<dt><a href="http://cseweb/ipak/hotfix/postreleasehotfixes.asp">Post Core Hotfixes and Security Fixes</a> </dt>
<dt><a href="http://dccmove/">Puget Sound Migration Project</a> </dt>
<dt><a href="http://rainier/default.aspx">Rainier &#8211; Home</a> </dt>
<dt><a href="http://spmstatus/">Security Patch Status OTG GTS Manageability Services</a> </dt>
<dt><a href="http://nmtools/cgi-bin/catinfoCorp.pl">Switch Port Info</a> </dt>
<dt><a href="http://h20000.www2.hp.com/bizsupport/TechSupport/WarrantySingleLookup.jsp">warranty lookup &#8211; HP Business Support Center</a></dt>
</dl>
<dt></dt>
<h3>Links</h3>
<dl>
<dt><a href="http://www.620kpoj.com/listen/index.php">.. AM 620 KPOJ &#8212; Progressive Talk ..</a> </dt>
<dt><a href="http://www.am1090seattle.com/">AM 1090 Progressive Talk Seattle</a> </dt>
<dt><a href="http://www.big-boys.com/">Big-Boys.com &#8211; Funny Pics, Hot Chicks, and Cool Flicks</a> </dt>
<dt><a href="http://www.microsoft.com/isapi/redir.dll?prd=ie&amp;pver=6&amp;ar=CLinks">Customize Links</a></dt>
<dt><a href="http://www.ebaumsworld.com/forumfun.html">Forum Fun &#8211; ebaumsworld.com</a> </dt>
<dt><a href="http://www.microsoft.com/isapi/redir.dll?prd=ie&amp;ar=hotmail">Free Hotmail</a> </dt>
<dt><a href="http://www.americanprogress.org/site/pp.asp?c=biJRJ8OVF&amp;b=8473">Home &#8211; Center for American Progress</a> </dt>
<dt><a href="http://www.firsttechcu.com/">Home &#8211; First Tech Credit Union</a> </dt>
<dt><a href="http://moneycentral.msn.com/articles/invest/jubak/fifty.asp">Jubak&#8217;s Journal &#8212; Jubak&#8217;s 50 best stocks in the world &#8211; MSN Money</a> </dt>
<dt><a href="http://shows.airamericaradio.com/listen">Listen Live Air America Radio</a></dt>
<dt><a href="https://shop.ecompanystore.com/microsoft/MIC_adfs_Login.aspx">Microsoft Company Store</a> </dt>
<dt><a href="http://www.redcoat.net/pics/miniputt.swf">Mini Putt-Putt Golf</a> </dt>
<dt><a href="http://moneycentral.msn.com/home.asp">MSN Money &#8211; Personal finance, money, online banking, retirement planning, taxes, message boards</a> </dt>
<dt><a href="http://www.microsoft.com/isapi/redir.dll?prd=ie&amp;pver=6&amp;ar=IStart">MSN.com</a> </dt>
<dt><a href="http://www.zeronews-fr.com/flash/pandapang.php">Panda Pang &#8211; Jeux flash</a> </dt>
<dt><a href="http://www.microsoft.com/isapi/redir.dll?prd=windows&amp;sbp=mediaplayer&amp;plcid=&amp;pver=6.1&amp;os=&amp;over=&amp;olcid=&amp;clcid=&amp;ar=Media&amp;sba=RadioBar&amp;o1=&amp;o2=&amp;o3=">Radio Station Guide</a></dt>
<dt><a href="http://www.ringoffireradio.com/default1.asp">Ring of Fire with Robert F. Kennedy Jr. and Mike Papantonio</a> </dt>
<dt><a href="http://www.1240talkcity.com/">Talk City 1240 AM</a> </dt>
<dt><a href="http://www.themic921.com/main.html">The MIC 92.1</a> </dt>
<dt><a href="http://www.tompaine.com/">TomPaine.com &#8211; Home</a> </dt>
<dt><a href="http://www.scottrade.com/">Welcome to Scottrade</a> </dt>
<dt><a href="http://go.microsoft.com/fwlink/?LinkId=30857&amp;clcid=0x409">Windows Marketplace</a></dt>
<dt><a href="http://www.microsoft.com/isapi/redir.dll?prd=ie&amp;ar=windowsmedia">Windows Media</a> </dt>
<dt><a href="http://www.microsoft.com/isapi/redir.dll?prd=ie&amp;ar=windows">Windows</a> </dt>
<dt><a href="http://www.wsdot.wa.gov/PugetSoundTraffic/cameras/">WSDOT Puget Sound Area Traffic Cameras</a> </dt>
</dl>
<dt></dt>
<h3>Longhorn</h3>
<dl>
<dt></dt>
<h3>Web Feeds</h3>
<dl>
<dt><a href="http://go.microsoft.com/fwlink/?LinkId=44392">Community Articles</a> </dt>
<dt><a href="http://go.microsoft.com/fwlink/?LinkId=44393">IE Add-ons</a> </dt>
<dt><a href="http://go.microsoft.com/fwlink/?LinkId=44402">IE Team Blog</a> </dt>
</dl>
<dt><a href="http://windows/sites/drivers911/default.aspx">Home &#8211; Drivers 911</a> </dt>
<dt><a href="http://team/sites/drivers/default.aspx">Home &#8211; Drivers</a></dt>
<dt><a href="http://go.microsoft.com/fwlink/?LinkId=47900&amp;clcid=0x409">IE Add-on site</a> </dt>
<dt><a href="http://msdn.microsoft.com/windowsvista/">Microsoft Windows Vista Developer Center</a> </dt>
<dt><a href="http://windowsvista/">Microsoft Windows Vista</a> </dt>
<dt><a href="http://go.microsoft.com/fwlink/?linkid=47898&amp;clcid=0x409">MSDN IE</a> </dt>
<dt><a href="http://mspkd/">MSPKD</a> </dt>
<dt><a href="http://go.microsoft.com/fwlink/?LinkId=47901&amp;clcid=0x409">See what&#8217;s new in IE7</a></dt>
<dt><a href="http://go.microsoft.com/fwlink/?LinkId=47899&amp;clcid=0x409">TechNet IE</a> </dt>
<dt><a href="http://go.microsoft.com/fwlink/?linkid=47813&amp;clcid=0x409">Windows Update</a> </dt>
</dl>
<dt></dt>
<h3>SKUs &amp; Exceptions</h3>
<dl>
<dt><a href="http://cseweb/hweng/">CSE Hardware Technology</a></dt>
<dt><a href="http://gtsweb/default.aspx">Home &#8211; GTS Client Engagement Site</a> </dt>
<dt><a href="http://itexceptions/ipakx/default.aspx">Home &#8211; IPAKX</a> </dt>
<dt><a href="http://cseweb/hweng/processes/processes.asp#EOL">HW Stds Procesess &#8211; EOL</a> </dt>
<dt><a href="http://utileng/hw/pages/Hardware%20Standards.aspx">IT Utilities Services Engineering &#8211; Hardware</a> </dt>
</dl>
<dt></dt>
<h3>techinfo</h3>
<dl>
<dt><a href="http://bugcheck/">Bugcheck</a> </dt>
<dt><a href="http://www.carlosag.net/Tools/CodeTranslator/Default.aspx">CodeTranslator Free Code Translation From VB.NET &#8211; C#</a> </dt>
<dt><a href="http://dbg/">Debugger Team</a> </dt>
<dt><a href="http://docs.hp.com/en/hw.html">Enterprise Servers, Workstations and Systems Hardware</a> </dt>
<dt><a href="http://cseweb/hweng/Entstor/entstor.asp">Enterprise Storage Solutions</a></dt>
<dt><a href="http://winsediag/sites/moads/default.aspx">Home &#8211; Windows Diagnostic Portal</a> </dt>
<dt><a href="http://docs.hp.com/en/hw.html">HPQ Enterprise Servers, Workstations and Systems Hardware</a> </dt>
<dt><a href="http://www.intel.com/technology/hyperthread/">Hyper-Threading Technology</a> </dt>
<dt><a href="http://infopaq/">Infopaq</a> </dt>
<dt><a href="http://www.intel.com/business/bss/products/hyperthreading/server/demo/index.htm">Intel® Hyper-Threading Technology (HT Technology) Demo for Servers</a> </dt>
<dt><a href="http://visualkb/express/">Microsoft Knowledge Express 2.0</a></dt>
<dt><a href="http://utileng/Storage/pages/Storage%20Standards.aspx">MS-IT Utility Services Engineering &#8211; Data Storage</a> </dt>
<dt><a href="http://www.computerperformance.co.uk/HealthCheck/Server_Health_Check.htm">Performance Monitoring for Windows Server 2003 and 2000</a> </dt>
<dt><a href="http://t10.org/">T10 Technical Committee</a> </dt>
<dt><a href="http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.windows.server.scripting&amp;mid=cd276b41-b7c0-4c01-93c5-627bbf6607f6">TechNet Discussion Groups Home</a> </dt>
<dt><a href="http://www.cisco.com/univercd/cc/td/doc/cisintwk/ics/cs009.htm">Using HSRP for Fault-Tolerant IP Routing</a> </dt>
<dt><a href="http://vkbus/VKB2Web/">Visual KB 2.0</a></dt>
<dt><a href="http://www.microsoft.com/technet/scriptcenter/default.mspx">Welcome to Script Center</a> </dt>
<dt><a href="http://clustering/">Windows Clustering Technologies Web Site</a> </dt>
<dt><a href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/clustering/nlbbp.mspx">Windows Network Load Balancing Configuration &#8211; Best Practices</a> </dt>
<dt><a href="http://www.microsoft.com/windowsserver2003/technologies/ipv6/default.mspx">Windows Server 2003 Microsoft Internet Protocol Version 6 (IPv6)</a> </dt>
<dt><a href="http://www.microsoft.com/windowsserver2003/techinfo/overview/default.mspx">Windows Server 2003 Technical Overviews</a> </dt>
<dt><a href="http://www.microsoft.com/windowsserver2003/technologies/default.mspx">Windows Server 2003 Technology Centers</a></dt>
<dt><a href="http://www.microsoft.com/technet/itsolutions/wssra/raguide/default.mspx">Windows Server System Reference Architecture</a> </dt>
<dt><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting06112002.asp">WMI Scripting Primer Part 1</a> </dt>
<dt><a href="http://support.microsoft.com/servicedesks/webcasts/seminar/shared/asp/view.asp?url=/servicedesks/webcasts/en/wc072402/manifest.xml&amp;WMPVer=10.0.0.3646">WMIC A New Approach to Managing Windows Infrastructure from a Command Line</a> </dt>
</dl>
<dt></dt>
<h3>training</h3>
<dl>
<dt><a href="http://bldweb/">BLDWEB Training HOME Page</a></dt>
<dt><a href="http://mcweb/Dev/debugging/default.asp">Debugging</a> </dt>
<dt><a href="http://medweb/edg/training/offerings.asp?offeringTypeId=1&amp;offeringid=3115">EDG Training Course Registration</a> </dt>
<dt><a href="http://hrsites/mycoach/employee+coach">Employee Coach</a> </dt>
<dt><a href="http://cap.cpqidea.com/CAP/extranet/login.asp?cmd=logout&amp;u=/CAP/default.asp&amp;d=/CAP/default.asp&amp;s=http://cap.cpqidea.com">For HP Certified Professionals</a> </dt>
<dt><a href="http://mcse/examinfo/freefaq.htm#Register">Free MCP Exam FAQ</a> </dt>
<dt><a href="http://learn/">Global Learning Services</a></dt>
<dt><a href="http://teams/sites/MCSS/training/default.aspx">Home &#8211; MCSS Training</a> </dt>
<dt><a href="http://team/sites/StorEng/Training/default.aspx">Home &#8211; SAN Training Page</a> </dt>
<dt><a href="http://www.microsoft.com/traincert/default.asp">Microsoft Training &amp; Certification</a> </dt>
<dt><a href="//traincert/lrn/NonLRN/CCI_PhI/2073/CourseFiles/viewer.htm">Programming a SQL Server 2000 DB</a> </dt>
<dt><a href="http://www.microsoft.com/technet/scriptcenter/webcasts/archive.mspx">Scripting Guys&#8217; Webcasts</a></dt>
<dt><a href="http://www.snia.org/education/certification/">SNIA &#8211; Storage Networking Industry Association Certification</a> </dt>
<dt><a href="//traincert/lrn/NonLRN/CCI_PhI/2072/CourseFiles/viewer.htm">SQL Server 2000 Administration</a> </dt>
<dt><a href="http://learn07/portal/mainpage.asp">The Learning Portal</a> </dt>
<dt><a href="http://tms/?orgld=2&amp;sPage=ticket&amp;tabs=no&amp;id=6385&amp;critera=no&amp;daterange=1&amp;begin=yes">TMS Registration 1.6</a> </dt>
</dl>
<dt><a href="https://tkmcssutla01:50000/">Compaq Insight Manager 7 Login</a></dt>
<dt><a href="http://asddtesc/">Home &#8211; ASDDT Escalation Tools</a> </dt>
<dt><a href="http://team/sites/asddt/default.aspx">Home &#8211; ASDDT</a> </dt>
<dt><a href="http://team/sites/MorningOpsCall/default.aspx">Home &#8211; GTS Morning Ops Call</a> </dt>
<dt><a href="http://utileng/hw/pages/Hardware%20Platform%20Lifecycle.aspx">IT Utilities Services Engineering &#8211; Hardware</a> </dt>
<dt><a href="http://itchange/">ITChange</a> </dt>
<dt><a href="https://itconfig/">ITConfig</a></dt>
<dt><a href="https://shop.ecompanystore.com/microsoft/MIC_adfs_Login.aspx">Microsoft Company Store</a> </dt>
<dt><a href="https://tkmseiis2/en/start.swe?SWECmd=Login&amp;SWEPL=1&amp;_sn=mxFCK2vXPSCBNxyqasOL3YnPrLNpzgAcry5aDqRjzMY_&amp;SWETS=">Microsoft Service Enterprise &#8211; Backup</a> </dt>
<dt><a href="https://mse/en/start.swe">Microsoft Service Enterprise</a> </dt>
<dt><a href="http://csamweb/smartcards/MSFTcsp/MSSetup.asp">Microsoft Solution &#8211; CSP Set Up Instructions</a> </dt>
<dt><a href="https://mse/en/start.swe?SWECmd=Start">MSE</a> </dt>
<dt><a href="https://mail.microsoft.com/exchange">OWA Redmond (RED)</a></dt>
<dt><a href="http://rainier/default.aspx">Rainier &#8211; Home</a></dt>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/227/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=227&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2010/07/28/old-dc-bookmark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
		<item>
		<title>Search Provider XML</title>
		<link>http://ncong.wordpress.com/2010/07/27/search-provider-xml/</link>
		<comments>http://ncong.wordpress.com/2010/07/27/search-provider-xml/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 22:04:28 +0000</pubDate>
		<dc:creator>ncong</dc:creator>
				<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://ncong.wordpress.com/?p=223</guid>
		<description><![CDATA[&#60;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&#62; &#60;OpenSearchDescription xmlns=&#8221;http://a9.com/-/spec/opensearch/1.1/&#8220;&#62;     &#60;ShortName&#62;AOL Search&#60;/ShortName&#62;     &#60;Description&#62;Search the Web with AOL&#60;/Description&#62;     &#60;Url type=&#8221;text/html&#8221; template=&#8221;http://search.aol.com/aolcom/search?query={searchTerms}&#38;amp;invocationType=msie70a&#8221; /&#62; &#60;/OpenSearchDescription&#62; _____________________________________________________________________________________________________ &#60;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&#62; &#60;OpenSearchDescription xmlns=&#8221;http://a9.com/-/spec/opensearch/1.1/&#8220;&#62;     &#60;ShortName&#62;Ask.com&#60;/ShortName&#62;     &#60;Description&#62;Better search tools for better results &#60;/Description&#62;     &#60;Url type=&#8221;text/html&#8221; template=&#8221;http://www.ask.com/web?q={searchTerms}&#38;amp;qsrc=0&#38;amp;o=0&#38;amp;l=dir &#8221; /&#62; &#60;/OpenSearchDescription&#62; _____________________________________________________________________________________________________ &#60;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&#62; &#60;OpenSearchDescription xmlns=&#8221;http://a9.com/-/spec/opensearch/1.1/&#8220;&#62;     &#60;ShortName&#62;Bing&#60;/ShortName&#62;     [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=223&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;AOL Search&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search the Web with AOL&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://search.aol.com/aolcom/search?query={searchTerms}&amp;amp;invocationType=msie70a">http://search.aol.com/aolcom/search?query={searchTerms}&amp;amp;invocationType=msie70a</a>&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Ask.com&lt;/ShortName&gt;<br />
    &lt;Description&gt;Better search tools for better results &lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.ask.com/web?q={searchTerms}&amp;amp;qsrc=0&amp;amp;o=0&amp;amp;l=dir">http://www.ask.com/web?q={searchTerms}&amp;amp;qsrc=0&amp;amp;o=0&amp;amp;l=dir</a> &#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;</p>
<p>_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Bing&lt;/ShortName&gt;<br />
    &lt;Tags&gt;Bing&lt;/Tags&gt;<br />
    &lt;Description&gt;Bing. Search by Microsoft.&lt;/Description&gt;<br />
    &lt;Contact&gt;msosa@microsoft.com&lt;/Contact&gt;<br />
    &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;<br />
    &lt;SyndicationRight&gt;limited&lt;/SyndicationRight&gt;<br />
    &lt;Image width=&#8221;16&#8243; height=&#8221;16&#8243; type=&#8221;image/x-icon&#8221;&gt;http://www.bing.com/favicon.ico&lt;/Image&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.bing.com/search?q={searchTerms}&amp;amp;form=IE8SRC&amp;amp;src=IE-SearchBox">http://www.bing.com/search?q={searchTerms}&amp;amp;form=IE8SRC&amp;amp;src=IE-SearchBox</a>&#8221; /&gt;<br />
    &lt;Url type=&#8221;application/x-suggestions+xml&#8221; template=&#8221;<a href="http://api.bing.com/qsml.aspx?query={searchTerms}&amp;amp;market={Language}&amp;amp;form=IE8SSC&amp;amp;maxwidth={ie:maxWidth}&amp;amp;rowheight={ie:rowHeight}&amp;amp;sectionHeight={ie:sectionHeight">http://api.bing.com/qsml.aspx?query={searchTerms}&amp;amp;market={Language}&amp;amp;form=IE8SSC&amp;amp;maxwidth={ie:maxWidth}&amp;amp;rowheight={ie:rowHeight}&amp;amp;sectionHeight={ie:sectionHeight</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;</p>
<p>_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Google&lt;/ShortName&gt;<br />
    &lt;Description&gt;Google Web Search&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.google.com/search?q={searchTerms}&amp;amp;rls=com.microsoft:{language}&amp;amp;ie={inputEncoding}&amp;amp;oe={outputEncoding}&amp;amp;startIndex={startIndex?}&amp;amp;startPage={startPage">http://www.google.com/search?q={searchTerms}&amp;amp;rls=com.microsoft:{language}&amp;amp;ie={inputEncoding}&amp;amp;oe={outputEncoding}&amp;amp;startIndex={startIndex?}&amp;amp;startPage={startPage</a>}&#8221; /&gt;<br />
 &lt;Url type=&#8221;application/x-suggestions+json&#8221; template=&#8221;<a href="http://suggestqueries.google.com/complete/search?output=firefox&amp;amp;client=IE8&amp;amp;qu={searchTerms">http://suggestqueries.google.com/complete/search?output=firefox&amp;amp;client=IE8&amp;amp;qu={searchTerms</a>}&#8221; /&gt;<br />
 &lt;Url type=&#8221;application/x-suggestions+xml&#8221; template=&#8221;<a href="http://clients5.google.com/complete/search?hl={language}&amp;amp;q={searchTerms}&amp;amp;client=ie8&amp;amp;inputencoding={inputEncoding}&amp;amp;outputencoding={outputEncoding">http://clients5.google.com/complete/search?hl={language}&amp;amp;q={searchTerms}&amp;amp;client=ie8&amp;amp;inputencoding={inputEncoding}&amp;amp;outputencoding={outputEncoding</a>}&#8221; /&gt;<br />
    &lt;Image height=&#8221;16&#8243; width=&#8221;16&#8243; type=&#8221;image/icon&#8221;&gt;http://www.google.com/favicon.ico&lt;/Image&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
  &lt;ShortName&gt;Lycos&lt;/ShortName&gt;<br />
  &lt;Description&gt;Use Lycos.com to search the Web.&lt;/Description&gt;<br />
  &lt;Tags&gt;lycos search&lt;/Tags&gt;<br />
  &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://search.lycos.com/setup.php?src=ie&amp;amp;query={searchTerms}&quot;/">http://search.lycos.com/setup.php?src=ie&amp;amp;query={searchTerms}&#8221;/</a>&gt;<br />
&lt;/OpenSearchDescription&gt;</p>
<p>_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Yahoo! Search&lt;/ShortName&gt;<br />
    &lt;Description&gt;Yahoo! Web Search&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://search.yahoo.com/search?p={searchTerms}&amp;amp;ei=utf-8&amp;amp;fr=b2ie7">http://search.yahoo.com/search?p={searchTerms}&amp;amp;ei=utf-8&amp;amp;fr=b2ie7</a>&#8221; /&gt;<br />
 &lt;Url type=&#8221;application/x-suggestions+xml&#8221; template=&#8221;<a href="http://ie.search.yahoo.com/os?command={SearchTerms}&quot;/">http://ie.search.yahoo.com/os?command={SearchTerms}&#8221;/</a>&gt;<br />
   &lt;Image height=&#8221;16&#8243; width=&#8221;16&#8243; type=&#8221;image/icon&#8221;&gt;http://search.yahoo.com/favicon.ico&lt;/Image&gt;<br />
 &lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;About.com&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search for information at About.com&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://search.about.com/fullsearch.htm?terms={searchTerms">http://search.about.com/fullsearch.htm?terms={searchTerms</a>}&#8221; /&gt;<br />
 &lt;Image height=&#8221;16&#8243; width=&#8221;16&#8243; type=&#8221;image/vnd.microsoft.icon&#8221;&gt;http://www.about.com/favicon.ico&lt;/Image&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Amazon.com&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search Amazon&#8217;s online stores&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.amazon.com/gp/search?ie=UTF8&amp;amp;tag=ie8search-20&amp;amp;index=blended&amp;amp;linkCode=qs&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;keywords={searchTerms">http://www.amazon.com/gp/search?ie=UTF8&amp;amp;tag=ie8search-20&amp;amp;index=blended&amp;amp;linkCode=qs&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;keywords={searchTerms</a>}&#8221; /&gt;<br />
 &lt;Url type=&#8221;application/x-suggestions+xml&#8221; template=&#8221;<a href="http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&amp;amp;Version=2008-06-26&amp;amp;Operation=ItemSearch&amp;amp;AWSAccessKeyId=15HRV3AZSMPK0GXTY102&amp;amp;AssociateTag=ie8suggestion-20&amp;amp;ResponseGroup=ItemAttributes,OfferListings,Reviews,Images&amp;amp;MerchantId=FeaturedBuyBoxMerchant&amp;amp;SearchIndex=All&amp;amp;Keywords={searchTerms}&amp;amp;Style=http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2FAssociates%2FApps%2FIE8Search%2FOpenSearchDescription.xml&quot;/">http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&amp;amp;Version=2008-06-26&amp;amp;Operation=ItemSearch&amp;amp;AWSAccessKeyId=15HRV3AZSMPK0GXTY102&amp;amp;AssociateTag=ie8suggestion-20&amp;amp;ResponseGroup=ItemAttributes,OfferListings,Reviews,Images&amp;amp;MerchantId=FeaturedBuyBoxMerchant&amp;amp;SearchIndex=All&amp;amp;Keywords={searchTerms}&amp;amp;Style=http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2FAssociates%2FApps%2FIE8Search%2FOpenSearchDescription.xml&#8221;/</a>&gt;</p>
<p>&lt;/OpenSearchDescription&gt;&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
            &lt;ShortName&gt;BestBuy.com&lt;/ShortName&gt;<br />
            &lt;Description&gt;BestBuy.com provider&lt;/Description&gt;</p>
<p>            &lt;Url type=&#8221;text/html&#8221;<br />
                   template=&#8221;<a href="http://www.bestbuy.com/site/olspage.jsp?_dyncharset=ISO-8859-1&amp;amp;id=pcat17071&amp;amp;type=page&amp;amp;st={searchTerms}&amp;amp;sc=Global&amp;amp;cp=1&amp;amp;nrp=15&amp;amp;sp=&amp;amp;qp=&amp;amp;list=n&amp;amp;iht=y&amp;amp;usc=All+Categories&quot;/">http://www.bestbuy.com/site/olspage.jsp?_dyncharset=ISO-8859-1&amp;amp;id=pcat17071&amp;amp;type=page&amp;amp;st={searchTerms}&amp;amp;sc=Global&amp;amp;cp=1&amp;amp;nrp=15&amp;amp;sp=&amp;amp;qp=&amp;amp;list=n&amp;amp;iht=y&amp;amp;usc=All+Categories&#8221;/</a>&gt; <br />
&lt;/OpenSearchDescription&gt;</p>
<p>_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;cnet&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search tech news, reviews &amp;amp; downloads&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://cnet.search.com/search?chkpt=astg.cnet.fd.search.cnet&amp;amp;q={searchTerms}&amp;amp;tag=srch">http://cnet.search.com/search?chkpt=astg.cnet.fd.search.cnet&amp;amp;q={searchTerms}&amp;amp;tag=srch</a>&#8221; /&gt;<br />
    &lt;Image height=&#8221;16&#8243; width=&#8221;16&#8243; type=&#8221;image/vnd.microsoft.icon&#8221;&gt;http://www.cnet.com/favicon.ico&lt;/Image&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;eBay&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search Online Auctions&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://rover.ebay.com/rover/1/711-43047-14818-1/4?satitle={searchTerms">http://rover.ebay.com/rover/1/711-43047-14818-1/4?satitle={searchTerms</a>}&#8221; /&gt;<br />
 &lt;Url type=&#8221;application/x-suggestions+xml&#8221; template=&#8221;<a href="http://ie8.ebay.com/open-search/output-xml.php?q={searchTerms}&amp;amp;c=0&quot;/">http://ie8.ebay.com/open-search/output-xml.php?q={searchTerms}&amp;amp;c=0&#8243;/</a>&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;ESPN&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search ESPN&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://search.espn.go.com/keyword/search?searchString={searchTerms">http://search.espn.go.com/keyword/search?searchString={searchTerms</a>}&#8221; /&gt;<br />
&lt;Image height=&#8221;16&#8243; width=&#8221;16&#8243; type=&#8221;image/vnd.microsoft.icon&#8221;&gt;http://espn.go.com/favicon.ico&lt;/Image&gt;<br />
&lt;/OpenSearchDescription&gt;&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
  &lt;ShortName&gt;Expedia Search&lt;/ShortName&gt;<br />
  &lt;Description&gt;Search Expedia.com for travel.&lt;/Description&gt;<br />
  &lt;SyndicationRight&gt;limited&lt;/SyndicationRight&gt;<br />
  &lt;Tags&gt;expedia travel hotels flights cruises cars&lt;/Tags&gt;<br />
  &lt;Query role=&#8221;example&#8221; searchTerms=&#8221;lax to nyc&#8221; /&gt;<br />
  &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.expedia.com/daily/exl/search.asp?q={searchTerms}&amp;amp;source=ie7&quot;/">http://www.expedia.com/daily/exl/search.asp?q={searchTerms}&amp;amp;source=ie7&#8243;/</a>&gt;<br />
&lt;/OpenSearchDescription&gt;&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;<br />
                       xmlns:moz=&#8221;<a href="http://www.mozilla.org/2006/browser/search/">http://www.mozilla.org/2006/browser/search/</a>&#8220;&gt;<br />
  &lt;ShortName&gt;Facebook&lt;/ShortName&gt;<br />
  &lt;Description&gt;Search Facebook&lt;/Description&gt;<br />
  &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;<br />
  &lt;Image height=&#8221;16&#8243; width=&#8221;16&#8243; type=&#8221;image/x-icon&#8221;&gt;http://www.facebook.com/favicon.ico&lt;/Image&gt;<br />
  &lt;Url type=&#8221;text/html&#8221; method=&#8221;get&#8221; template=&#8221;<a href="http://www.facebook.com/search/?src=os&amp;amp;q={searchTerms}&quot;/">http://www.facebook.com/search/?src=os&amp;amp;q={searchTerms}&#8221;/</a>&gt;<br />
  &lt;Url type=&#8221;application/x-suggestions+xml&#8221; template=&#8221;<a href="http://www.facebook.com/search/opensearch_typeahead.php?format=xml&amp;amp;q={searchTerms}&quot;/">http://www.facebook.com/search/opensearch_typeahead.php?format=xml&amp;amp;q={searchTerms}&#8221;/</a>&gt;<br />
  &lt;Url type=&#8221;application/opensearchdescription+xml&#8221; rel=&#8221;self&#8221; template=&#8221;<a href="http://www.facebook.com/opensearch_desc.xml%22/">http://www.facebook.com/opensearch_desc.xml&#8221;/</a>&gt;<br />
  &lt;moz:SearchForm&gt;http://www.facebook.com/search/&lt;/moz:SearchForm&gt;<br />
&lt;/OpenSearchDescription&gt;</p>
<p>_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Microsoft.com Search&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search Microsoft.com&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://search.microsoft.com/results.aspx?mkt=en-US&amp;amp;setlang=en-US&amp;amp;q={searchTerms">http://search.microsoft.com/results.aspx?mkt=en-US&amp;amp;setlang=en-US&amp;amp;q={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Monster&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search for jobs online&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://jobsearch.monster.com/jobsearch.asp?q={searchTerms}&amp;amp;fn=&amp;amp;lid=&amp;amp;re=104&amp;amp;cy=us&amp;amp;x=52&amp;amp;y=10">http://jobsearch.monster.com/jobsearch.asp?q={searchTerms}&amp;amp;fn=&amp;amp;lid=&amp;amp;re=104&amp;amp;cy=us&amp;amp;x=52&amp;amp;y=10</a>&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;MTV.com&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search Music, Videos and TV Shows&lt;/Description&gt;<br />
    &lt;Tags&gt;Amazon.com Search&lt;/Tags&gt;     <br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.mtv.com/search/index.jhtml?searchterm={searchTerms}&amp;amp;searchtype=all">http://www.mtv.com/search/index.jhtml?searchterm={searchTerms}&amp;amp;searchtype=all</a>&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
&lt;ShortName&gt;MySpace&lt;/ShortName&gt;<br />
&lt;Description&gt;Search for friends, bands, video and more. &lt;/Description&gt;<br />
&lt;Image width=&#8221;16&#8243; height=&#8221;16&#8243;&gt;http://www.myspace.com/favicon.ico&lt;/Image&gt;<br />
&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;<br />
&lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://sads.myspace.com/Modules/Search/Pages/Search.aspx?fuseaction=advancedFind.results&amp;amp;searchtarget=tms&amp;amp;searchtype=myspace&amp;amp;t=tms&amp;amp;get=1&amp;amp;websearch=1&amp;amp;searchBoxID=HeaderWebResults&amp;amp;searchString={searchTerms}&amp;amp;q={searchTerms">http://sads.myspace.com/Modules/Search/Pages/Search.aspx?fuseaction=advancedFind.results&amp;amp;searchtarget=tms&amp;amp;searchtype=myspace&amp;amp;t=tms&amp;amp;get=1&amp;amp;websearch=1&amp;amp;searchBoxID=HeaderWebResults&amp;amp;searchString={searchTerms}&amp;amp;q={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Strict//EN&#8221; &#8220;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>&#8220;&gt;<br />
&lt;html xmlns=&#8221;<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>&#8220;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=iso-8859-1&#8243;/&gt;<br />
&lt;title&gt;404 &#8211; File or directory not found.&lt;/title&gt;<br />
&lt;style type=&#8221;text/css&#8221;&gt;<br />
&lt;!&#8211;<br />
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}<br />
fieldset{padding:0 15px 10px 15px;}<br />
h1{font-size:2.4em;margin:0;color:#FFF;}<br />
h2{font-size:1.7em;margin:0;color:#CC0000;}<br />
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}<br />
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:&#8221;trebuchet MS&#8221;, Verdana, sans-serif;color:#FFF;<br />
background-color:#555555;}<br />
#content{margin:0 0 0 2%;position:relative;}<br />
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}<br />
&#8211;&gt;<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id=&#8221;header&#8221;&gt;&lt;h1&gt;Server Error&lt;/h1&gt;&lt;/div&gt;<br />
&lt;div id=&#8221;content&#8221;&gt;<br />
 &lt;div&gt;&lt;fieldset&gt;<br />
  &lt;h2&gt;404 &#8211; File or directory not found.&lt;/h2&gt;<br />
  &lt;h3&gt;The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.&lt;/h3&gt;<br />
 &lt;/fieldset&gt;&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Shopzilla&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search for products at the right price&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.shopzilla.com/buy/superfind.xpml?search_box=1&amp;amp;sfsk=0&amp;amp;cat_id=1&amp;amp;keyword={searchTerms">http://www.shopzilla.com/buy/superfind.xpml?search_box=1&amp;amp;sfsk=0&amp;amp;cat_id=1&amp;amp;keyword={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;﻿<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;SuperPages.com&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search for U.S. Businesses in Verizon’s Online Yellow Pages &lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://yellowpages.superpages.com/searchbar/search?SRC=spbar-msn&amp;amp;C={searchTerms">http://yellowpages.superpages.com/searchbar/search?SRC=spbar-msn&amp;amp;C={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Target&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search and shop Target.com&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.target.com/gp/search.html?field-keywords={searchTerms">http://www.target.com/gp/search.html?field-keywords={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;USATODAY.com&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search news online&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://asp.usatoday.com/search/yahoo/search.aspx?qt=both&amp;amp;nr=5&amp;amp;kw={searchTerms">http://asp.usatoday.com/search/yahoo/search.aspx?qt=both&amp;amp;nr=5&amp;amp;kw={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Walmart&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search Walmart&#8217;s Always Low Prices&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.walmart.com/catalog/search-ng.gsp?search_constraint=0&amp;amp;search_query={searchTerms">http://www.walmart.com/catalog/search-ng.gsp?search_constraint=0&amp;amp;search_query={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
_____________________________________________________________________________________________________<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; ?&gt;<br />
&lt;OpenSearchDescription xmlns=&#8221;<a href="http://a9.com/-/spec/opensearch/1.1/">http://a9.com/-/spec/opensearch/1.1/</a>&#8220;&gt;<br />
    &lt;ShortName&gt;Weather Channel&lt;/ShortName&gt;<br />
    &lt;Description&gt;Search for weather information&lt;/Description&gt;<br />
    &lt;Url type=&#8221;text/html&#8221; template=&#8221;<a href="http://www.weather.com/search/enhanced?where={searchTerms">http://www.weather.com/search/enhanced?where={searchTerms</a>}&#8221; /&gt;<br />
&lt;/OpenSearchDescription&gt;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ncong.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ncong.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ncong.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ncong.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ncong.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ncong.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ncong.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ncong.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ncong.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ncong.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ncong.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ncong.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ncong.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ncong.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ncong.wordpress.com&amp;blog=11091738&amp;post=223&amp;subd=ncong&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ncong.wordpress.com/2010/07/27/search-provider-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc8d7914d79f4cc703a9e0927257b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncong</media:title>
		</media:content>
	</item>
	</channel>
</rss>
