<?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/"
	>

<channel>
	<title>RootAdmin.co.uk &#187; Linux</title>
	<atom:link href="http://rootadmin.co.uk/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://rootadmin.co.uk</link>
	<description>The Blog of Liam Somerville</description>
	<lastBuildDate>Sun, 25 Jul 2010 02:15:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Linux : Automatically send logs daily</title>
		<link>http://rootadmin.co.uk/2009/12/09/linux-automatically-send-logs-daily/</link>
		<comments>http://rootadmin.co.uk/2009/12/09/linux-automatically-send-logs-daily/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 00:50:50 +0000</pubDate>
		<dc:creator>Rootadmin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[attach syslog email]]></category>
		<category><![CDATA[liam]]></category>
		<category><![CDATA[Liam Somerville]]></category>
		<category><![CDATA[messages]]></category>
		<category><![CDATA[mutt]]></category>
		<category><![CDATA[OPENVPN]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[rootadmin]]></category>
		<category><![CDATA[rootadmin.co.uk]]></category>
		<category><![CDATA[send logs daily]]></category>
		<category><![CDATA[send logs email]]></category>
		<category><![CDATA[send syslog email]]></category>
		<category><![CDATA[somerville]]></category>
		<category><![CDATA[Syslog]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ufw]]></category>
		<category><![CDATA[uncomplicated firewall]]></category>
		<category><![CDATA[vsftp]]></category>

		<guid isPermaLink="false">http://rootadmin.co.uk/?p=251</guid>
		<description><![CDATA[Well below is my first attempt at a shell script, firstly understand I am no programmer! Before we look at it, my server is running OPENVPN and Uncomplicated Firewall(I&#8217;m running Ubuntu Server) So how does it work? Firstly we declare that we are using the bash shell using #!/bin/bash Next we&#8217;re setup some vairables, the [...]]]></description>
			<content:encoded><![CDATA[<p>Well below is my first attempt at a shell script, firstly understand I am no programmer!</p>
<p>Before we look at it, my server is running OPENVPN and Uncomplicated Firewall(I&#8217;m running Ubuntu Server)</p>
<p>So how does it work?</p>
<p>Firstly we declare that we are using the bash shell using<br />
#!/bin/bash</p>
<p>Next we&#8217;re setup some vairables, the first is simply formating the date and calling itself TODAYSDATE,<br />
next we set todays archive to be archive.TODAYSDATE and call its self TODAYS_ARCHIVE</p>
<p>Next we create a directory called archive.TODAYSDATE</p>
<p>Now to the best bit, we start processing the logs<br />
- We extract todays logs out of syslog<br />
- From the extracted logs we extract the firewall (Uncomplicated Firewal/ UFW) logs to a seperate file<br />
- Now extract todays messages log<br />
- From todays extracted logs extract all OPENVPN related logs to a seperate log file<br />
- Extract todays apache access.log and error.log<br />
- Provide us with the currently running processes<br />
- Zip it all up to the /archive/ folder<br />
- back back up a directory level and delete the folder called archive.TODAYSDATE<br />
- Now use mutt to attach the zip file to a email and send it</p>
<p>Now for the script &#8211; PLEASE FEEL FREE TO USE</p>
<p>#!/bin/bash<br />
# Script By Liam Somerville, www.rootadmin.co.uk<br />
# Use freely</p>
<p>#####################################################################<br />
#                        Set up the variables<br />
#####################################################################<br />
#Set todays date<br />
TODAYSDATE=`date +&#8221;%d-%b-%Y&#8221;`</p>
<p>#Format Archive<br />
TODAYS_ARCHIVE=archive.$TODAYSDATE</p>
<p>#####################################################################<br />
#                    Finished setting up Variables<br />
#<br />
#                   Now start processing the log files<br />
#####################################################################</p>
<p># Make a directory called archive with todays date and change to that direcory<br />
mkdir $TODAYS_ARCHIVE<br />
cd $TODAYS_ARCHIVE</p>
<p>#Write the log files<br />
#Archive todays Syslog, extract all firewall related logs to firewall, then<br />
# extract messages<br />
cat /var/log/syslog | grep &#8220;`date +&#8221;%b %e&#8221; `&#8221; &gt; syslog.$TODAYSDATE<br />
cat syslog.$TODAYSDATE | grep UFW &gt; firewall_log.$TODAYSDATE<br />
cat /var/log/messages | grep &#8220;`date +&#8221;%b %e&#8221; `&#8221; &gt; messages.$TODAYSDATE<br />
#Process the OPEN VPN Server logs<br />
cat syslog.$TODAYSDATE | grep &#8220;ovpn-server&#8221; &gt; vpn_server_log.$TODAYSDATE<br />
#<br />
#Proceess Apache Logs<br />
cat /var/log/apache2/error.log | grep &#8220;`date +&#8221;%b %d&#8221; `&#8221; &gt; apache_error_log.$TODAYSDATE<br />
cat /var/log/apache2/access.log | grep &#8220;`date +&#8221;%d/%b&#8221; `&#8221; &gt; apache_access_log.$TODAYSDATE<br />
#<br />
#Process FTP Logs<br />
cat /var/log/vsftpd.log | grep &#8220;`date +&#8221;%b %e&#8221; `&#8221; &gt; ftp_log.$TODAYSDATE<br />
#<br />
# Get a list of currently running process<br />
ps aux &gt; Processes.$TODAYSDATE</p>
<p># Zip up all the logs and delete todays log<br />
zip /archive/$TODAYS_ARCHIVE.zip *<br />
cd ..<br />
rm -r $TODAYS_ARCHIVE</p>
<p>####################################################################<br />
#                     Now email the zip file<br />
###################################################################<br />
echo | mutt -a /archive/$TODAYS_ARCHIVE.zip -s &#8220;Event logs for $TODAYSDATE&#8221; you@your.email.address.com</p>
]]></content:encoded>
			<wfw:commentRss>http://rootadmin.co.uk/2009/12/09/linux-automatically-send-logs-daily/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploit capable of attacking fully patched linux kernel</title>
		<link>http://rootadmin.co.uk/2009/07/18/exploit-capable-attacking-fully-patched-linux-kernel/</link>
		<comments>http://rootadmin.co.uk/2009/07/18/exploit-capable-attacking-fully-patched-linux-kernel/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 07:23:13 +0000</pubDate>
		<dc:creator>Rootadmin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cheddar_bay]]></category>
		<category><![CDATA[Exploit]]></category>
		<category><![CDATA[fully patched]]></category>
		<category><![CDATA[grsecurity]]></category>
		<category><![CDATA[Liam Somerville]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[rootadmin]]></category>
		<category><![CDATA[rootadmin.co.uk]]></category>

		<guid isPermaLink="false">http://rootadmin.co.uk/?p=175</guid>
		<description><![CDATA[A recently published attack exploiting newer versions of the Linux kernel is getting plenty of notice because it works even when security enhancements are running and the bug is virtually impossible to detect in source code reviews. The exploit code was released Friday by Brad Spengler of grsecurity, a developer of applications that enhance the [...]]]></description>
			<content:encoded><![CDATA[<p>A recently published attack exploiting newer versions of the Linux kernel is getting plenty of notice because it works even when security enhancements are running and the bug is virtually impossible to detect in source code reviews.</p>
<p>The exploit code was released Friday by Brad Spengler of grsecurity, a developer of applications that enhance the security of the open-source OS. While it targets Linux versions that have yet to be adopted by most vendors, the bug has captured the attention of security researchers, who say it exposes overlooked weaknesses.</p>
<p>Linux developers &#8220;tried to protect against it and what this exploit shows is that even with all the protections turned to super max, it&#8217;s still possible for an attacker to figure out ways around this system,&#8221; said Bas Alberts, senior security researcher at Immunity. &#8220;The interesting angle here is the actual thing that made it exploitable, the whole class of vulnerabilities, which is a very serious thing.&#8221;</p>
<p>The vulnerability is located in several parts of Linux, including one that implements functions known as net/tun. Although the code correctly checks to make sure the tun variable doesn&#8217;t point to NULL, the compiler removes the lines responsible for that inspection during optimization routines. The result: When the variable points to zero, the kernel tries to access forbidden pieces of memory, leading to a compromise of the box running the OS.</p>
<p>The &#8220;NULL pointer dereference&#8221; bug has been confirmed in versions 2.6.30 and 2.6.30.1 of the Linux kernel, which Spengler said has been incorporated into only one vendor build: version 5 of Red Hat Enterprise Linux that&#8217;s used in test environments. The exploit works only when a security extension knows as SELinux, or Security-Enhanced Linux, is enabled. Conversely, it also works when audio software known as PulseAudio is installed.</p>
<p>An exploitation scenario would most likely involve the attack being used to escalate user privileges, when combined with the exploitation of another component &#8211; say, a PHP application. By itself, Spengler&#8217;s exploit does not work remotely.</p>
<p>With all the hoops to jump through, the exploit requires a fair amount of effort to be successful. Still, Spengler said it took him less than four hours to write a fully weaponized exploit that works on 32- and 64-bit versions of Linux, including the build offered by Red Hat. He told The Register he published the exploit after it became clear Linus Torvalds and other developers responsible for the Linux kernel didn&#8217;t regard the bug as a security risk.</p>
<p>&#8220;By the time I wrote the exploit, there was a fix floating around, but it didn&#8217;t look like it was going to be going into any of the stable releases,&#8221; he said. &#8220;It was just a trivial &#8216;oops&#8217; instead of something that could give you arbitrary code execution in the kernel.&#8221;</p>
<p>Comments that accompany Spengler&#8217;s exploit code go on to detail statements Torvalds and other developers are said to have made in group emails discussing the bug.</p>
<p>&#8220;That does not look like a kernel problem to me at all,&#8221; Torvalds is quoted as saying in one message. &#8220;He&#8217;s running a setuid program that allows the user to specify its own modules. And then you people are surprised he gets local root?&#8221;</p>
<p>On that front, at least one security researcher agreed with the Linux team.</p>
<p>&#8220;Setuid is well-known as a chronic security hole,&#8221; Rob Graham, CEO of Errata Security wrote in an email. &#8220;Torvalds is right, it&#8217;s not a kernel issue, but it is a design &#8216;flaw&#8217; that is inherited from Unix. There is no easy solution to the problem, though, so it&#8217;s going to be with us for many years to come.&#8221;</p>
<p>The larger point, Spengler said, is that the Linux developers are putting users at risk by failing to clearly disclose when security vulnerabilities have been discovered.</p>
<p>&#8220;Why is it that whenever there is an exploitable vulnerability in Linux, it&#8217;s described as a denial of service?&#8221; he said. &#8220;It kind of makes the vendors think the security is better than it actually is.&#8221;</p>
<p>Wherever the fault may lie, the potential damage is very real.</p>
<p>&#8220;It&#8217;s not going to light the world on fire, but it is a very subtle bug and solid exploit,&#8221; said Ed Skoudis, founder and senior security consultant for InGuardians. &#8220;The real story here is how subtle it is, and that the compiler itself introduced it during code optimization.&#8221;</p>
<p>So far, Torvalds and company have yet to respond to the disclosure. We&#8217;ll be sure to update this story if they do. ®<br />
- Dan Goodin in San Francisco, 17th July 2009 22:32 GMT<br />
- http://www.theregister.co.uk/2009/07/17/linux_kernel_exploit/</p>
<p>Exploit Code<br />
- http://grsecurity.net/~spender/cheddar_bay.tgz</p>
]]></content:encoded>
			<wfw:commentRss>http://rootadmin.co.uk/2009/07/18/exploit-capable-attacking-fully-patched-linux-kernel/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Learn the Linux shell &#8211; Part 1&#8230;</title>
		<link>http://rootadmin.co.uk/2009/06/15/learn-linux-shell-part-1/</link>
		<comments>http://rootadmin.co.uk/2009/06/15/learn-linux-shell-part-1/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 23:06:18 +0000</pubDate>
		<dc:creator>Rootadmin</dc:creator>
				<category><![CDATA[Linux tutorial]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bash tutorial]]></category>
		<category><![CDATA[cd]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[leanr linu]]></category>
		<category><![CDATA[learn]]></category>
		<category><![CDATA[learn shell]]></category>
		<category><![CDATA[liam]]></category>
		<category><![CDATA[Liam Somerville]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux bash]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[linux shell commands]]></category>
		<category><![CDATA[linux shell tutorial]]></category>
		<category><![CDATA[llearn bash]]></category>
		<category><![CDATA[mkdir]]></category>
		<category><![CDATA[passwd]]></category>
		<category><![CDATA[print working directory]]></category>
		<category><![CDATA[pwd]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[rootadmin]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shell commands]]></category>
		<category><![CDATA[shell tutorial]]></category>
		<category><![CDATA[somerville]]></category>

		<guid isPermaLink="false">http://rootadmin.co.uk/?p=121</guid>
		<description><![CDATA[Learn the Linux shell &#8211; Part 1&#8230; Well I am no master in Linux by no stretch of the imagination, I can get my way around a Linux shell, perhaps slowly, but I get there. As many people have taught me some of their knowledge and helped me along in life even if they could [...]]]></description>
			<content:encoded><![CDATA[<p><!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	mso-themecolor:hyperlink; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:36.0pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:36.0pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:595.3pt 841.9pt; 	margin:72.0pt 72.0pt 72.0pt 72.0pt; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1320496634; 	mso-list-type:hybrid; 	mso-list-template-ids:382607280 134807553 134807555 134807557 134807553 134807555 134807557 134807553 134807555 134807557;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:?; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:37.5pt; 	text-indent:-18.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-GB</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">Learn the Linux shell &#8211; Part 1&#8230;</p>
<p class="MsoNormal">Well I am no master in Linux by no stretch of the imagination, I can get my way around a Linux shell, perhaps slowly, but I get there. As many people have taught me some of their knowledge and helped me along in life even if they could not really afford the time, I am a big believer in helping people where I can. I start with the these rules,</p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: 37.5pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->No one is stupid, and they just need some help and</p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 37.5pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->There’s no such thing as a stupid question, you won’t believe how often the answer to one question just clicks multiple other questions and answers into place</p>
<p class="MsoListParagraphCxSpLast" style="margin-left: 37.5pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]-->No one is ever too old to learn</p>
<p class="MsoNormal">Learning is a fantastic thing and so different for each person, if you enjoy learning about learning you should look up a guy called <a href="http://www.marcprensky.com/">Marc Prensky</a> – “Marc Prensky is an internationally acclaimed speaker, writer, consultant, and designer in the critical areas of education and learning”. In particular his articles about <a href="http://www.marcprensky.com/writing/Prensky%20-%20Digital%20Natives,%20Digital%20Immigrants%20-%20Part1.pdf">Digital Immigrants and Digital Natives</a></p>
<p class="MsoNormal">Anyway&#8230;.. Back to class.</p>
<p class="MsoNormal">I will presume in this article you have just installed Linux and have no prior experience of Linux and are sitting in a terminal window.</p>
<p class="MsoNormal">The Linux shell is a command line utility designed to allow the user to interact with the operating system, it passes any valid command (either from a user or from a file) to the Linux kernel.</p>
<p class="MsoNormal">There are different versions of the Linux shell; all have slight small differences from each other.</p>
<p class="MsoNormal">You can easily find out which version of the shell you are running by typing:</p>
<p class="MsoNormal" style="text-indent: 36pt;"><strong><span style="font-family: &quot;Courier New&quot;;">echo $SHELL.</span></strong></p>
<p class="MsoNormal"><span>I use bash as this is the default for Ubuntu.</span></p>
<p class="MsoNormal" style="text-indent: 36pt;"><strong>NOTE: Bash is with most shells is case sensitive</strong></p>
<p class="MsoNormal">We may at a later date need the date and time to be set up correctly, might as well do it now.</p>
<p class="MsoNormal">Ok, so let’s start with the basics, lets ensure your clock is correctly set. From the shell type</p>
<p class="MsoNormal"><span> </span><span> </span><strong><span style="font-family: &quot;Courier New&quot;;">Date</span></strong></p>
<p class="MsoNormal">Ok so first rule to Linux, never run as root. Ok so you have probably come from a windows background and can’t possibly imagine running all day long without admin rights but i promise you in Linux, you really don’t want to or need to. I’ll explain more later.</p>
<p class="MsoNormal">For now let’s find out which user we are currently logged in as. At the shell type</p>
<p class="MsoNormal"><span> </span><strong><span style="font-family: &quot;Courier New&quot;;">Whoami.</span></strong></p>
<p class="MsoNormal"><span>Ok so now lets change your password, at the shell type </span></p>
<p class="MsoNormal"><strong><span style="font-family: &quot;Courier New&quot;;">Passwd</span></strong></p>
<p class="MsoNormal"><span><strong></strong></span></p>
<p class="MsoNormal"><span>Enter your current password, your new password and confirm your new password.</span></p>
<p class="MsoNormal"><span>Let’s move on</span></p>
<p class="MsoNormal"><strong><span>File structure</span></strong></p>
<p class="MsoNormal"><span>The files on a Linux system are stored in what’s called a hierarchical directory structure, whats a hierarchical directory structure when it’s at home? Simply put this means that files are organised in a tree like pattern of directories (or folders) which may contain more directories or files. The very first folder of the Linux file system is called the root directory. This contains multiple other directories (referred to as sub directories) and files which also contain multiple other sub directories.</span></p>
<p class="MsoNormal"><span>Linux does not use the idea of drive letters or splitting the file system up like that and creating multiple tree structures, instead everything comes off of one tree structure.</span></p>
<p class="MsoNormal"><span>So, when you log in to you linux box (box is just another name for a system), the working directory is set to be your home directory. This is where you put your files, alot like “My Documents”<span> </span>on a windows box. In most cases your home directory is simply /home/your_user_name, but this may have been changed by a system administrator (if you haven’t set up the linux box). So let’s find out.</span></p>
<p class="MsoNormal"><span>To view your current working directory you type the command</span></p>
<p class="MsoNormal" style="text-indent: 36pt;"><strong><span style="font-family: &quot;Courier New&quot;;">Pwd</span></strong></p>
<p class="MsoNormal"><span>Pwd is short for “print working directory”</span></p>
<p class="MsoNormal">Now let’s see what files and directories we have in our home directory. To do this type</p>
<p class="MsoNormal"><strong><span style="font-family: &quot;Courier New&quot;;">ls</span></strong></p>
<p class="MsoNormal"><span>ls simple lists the contents of the working directory.</span></p>
<p class="MsoNormal">
<p class="MsoNormal"><span>Ls is a very powerful tool as it has lots of extra options available to it. We will look at more of ls in another article</span></p>
<p class="MsoNormal"><span>For now let’s create a new directory for us to play with, let’s call this folder stuff, to create a new directory we use the command </span></p>
<p class="MsoNormal" style="text-indent: 36pt;"><strong><span style="font-family: &quot;Courier New&quot;;">mkdir folder_name</span></strong></p>
<p class="MsoNormal"><span>mkdir as in make directory. So lets make our directory by typing </span></p>
<p class="MsoNormal"><span>mkdir stuff</span></p>
<p class="MsoNormal"><span>now if we type </span><strong><span style="font-family: &quot;Courier New&quot;;">ls</span></strong><span> we should see a new directory that wasn’t there before, ok so lets go into that folder. To navigate to a new directory (by which i mean a different directory from that of the working directory) we type </span></p>
<p class="MsoNormal" style="text-indent: 36pt;"><strong><span style="font-family: &quot;Courier New&quot;;">cd folder_name</span></strong></p>
<p class="MsoNormal"><span>cd simply means change directory, so to get into our “stuff” directory we type</span></p>
<p class="MsoNormal"><strong><span style="font-family: &quot;Courier New&quot;;">cd stuff</span></strong></p>
<p class="MsoNormal"><span>Whilst on the subject of cd I will show you how to move back up the directory tree one folder at a time, so in this example our current shell prompt looks something like</span></p>
<p class="MsoNormal"><strong><span style="font-family: &quot;Courier New&quot;;">liam@linux: ~/stuff</span></strong></p>
<p class="MsoNormal"><span>Now if we type the command </span><strong><span style="font-family: &quot;Courier New&quot;;">cd ..</span></strong><strong></strong></p>
<p class="MsoNormal"><span>We can move backup the directory one folder at a time</span></p>
<p class="MsoNormal"><span>I think we have learnt enough for one small lesson, so we will leave it there and return to learn some more linux shortly</span></p>
]]></content:encoded>
			<wfw:commentRss>http://rootadmin.co.uk/2009/06/15/learn-linux-shell-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
