<?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>The Linux Daily</title>
	<atom:link href="http://www.thelinuxdaily.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thelinuxdaily.com</link>
	<description>Tutorials, Guides, Tips, and Tricks from Everyday Experiences</description>
	<lastBuildDate>Thu, 29 Jul 2010 16:24:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Use perldoc to View Perl Manual/Documentation</title>
		<link>http://www.thelinuxdaily.com/2010/07/use-perldoc-to-view-perl-manualdocumentation/</link>
		<comments>http://www.thelinuxdaily.com/2010/07/use-perldoc-to-view-perl-manualdocumentation/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 14:00:47 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[doc]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1978</guid>
		<description><![CDATA[Simply put, perldoc is the man page of perl applications. Use it and use it often when dealing with perl utilities. For example: perldoc open Reveals&#8230; System::Library::Perl:User.Contributed PeSystem::Library::Perl::5.8.8::open(3) NAME open − perl pragma to set default PerlIO layers for input and output SYNOPSIS use open IN =&#62; &#34;:crlf&#34;, OUT =&#62; &#34;:bytes&#34;; use open OUT =&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Simply put, <code>perldoc</code> is the <code>man</code> page of perl applications.  Use it and use it often when dealing with perl utilities.  For example:</p>
<pre class="brush: bash;">perldoc open</pre>
<p>Reveals&#8230;</p>
<pre class="brush: plain;">
System::Library::Perl:User.Contributed PeSystem::Library::Perl::5.8.8::open(3)

NAME
       open − perl pragma to set default PerlIO layers for input and output

SYNOPSIS
           use open IN  =&gt; &quot;:crlf&quot;, OUT =&gt; &quot;:bytes&quot;;
           use open OUT =&gt; ’:utf8’;
           use open IO  =&gt; &quot;:encoding(iso−8859−7)&quot;;

           use open IO  =&gt; ’:locale’;

           use open ’:utf8’;
           use open ’:locale’;
           use open ’:encoding(iso−8859−7)’;

           use open ’:std’;

DESCRIPTION
       Full‐fledged support for I/O layers is now implemented provided Perl is
       configured to use PerlIO as its IO system (which is now the default).
       ...
       ...
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/07/use-perldoc-to-view-perl-manualdocumentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get Weather Report from Terminal</title>
		<link>http://www.thelinuxdaily.com/2010/07/get-weather-report-from-terminal/</link>
		<comments>http://www.thelinuxdaily.com/2010/07/get-weather-report-from-terminal/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 14:00:12 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[weather]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1971</guid>
		<description><![CDATA[I&#8217;ve been on a kick recently about doing everything in the terminal and I became excited about the possibility of doing it through the terminal. I was excited until my little research on the subject revealed that this horse has been beaten left and right and up and down and diagonally. There were so many [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been on a kick recently about doing everything in the terminal and I became excited about the possibility of doing it through the terminal.  I was excited until my little research on the subject revealed that this horse has been beaten left and right and up and down and diagonally.  There were so many different ways of doing it, I sorta lost the urge to create a post about it.  Well, here I am anyways listing the ones I found to be the most interesting.  Check &#8216;em out if you&#8217;re interested&#8230;</p>
<p><a href="http://fungi.yuggoth.org/weather/">http://fungi.yuggoth.org/weather/</a><br />
<a href="http://linuxshellaccount.blogspot.com/2008/09/bash-script-to-get-weather-forecasts.html">http://linuxshellaccount.blogspot.com/2008/09/bash-script-to-get-weather-forecasts.html</a></p>
<pre class="brush: bash;">telnet rainmaker.wunderground.com</pre>
<pre class="brush: bash;">curl http://weather.noaa.gov/pub/data/forecasts/city/state/city.txt</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/07/get-weather-report-from-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting Network Connection with &#8216;tcpdump&#8217; and &#8216;arp&#8217;</title>
		<link>http://www.thelinuxdaily.com/2010/07/troubleshooting-network-connection-with-tcpdump-and-arp/</link>
		<comments>http://www.thelinuxdaily.com/2010/07/troubleshooting-network-connection-with-tcpdump-and-arp/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 14:00:13 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[arp]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[tcpdump]]></category>
		<category><![CDATA[troubleshoot]]></category>
		<category><![CDATA[usage]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1982</guid>
		<description><![CDATA[A quick and easy way to troubleshoot network connections in an embedded Linux environment is to use the ping, tcpdump, and arp commands. This will allow you to see what might be happening with the traffic on your network at the packet level. Once scenario would be that you&#8217;re not getting a successful ping between [...]]]></description>
			<content:encoded><![CDATA[<p>A quick and easy way to troubleshoot network connections in an embedded Linux environment is to use the <code>ping</code>, <code><a href="http://linux.die.net/man/8/tcpdump">tcpdump</a></code>, and <code><a href="http://linux.die.net/man/8/arp">arp</a></code> commands.  This will allow you to see what might be happening with the traffic on your network at the packet level.  Once scenario would be that you&#8217;re not getting a successful ping between two computers on the network.  All reason tells you that it should be working, but maybe there&#8217;s something wrong at the driver level?  To start troubleshooting, fire up <code>tcpdump</code> on the box being pinged (ip: 192.168.1.100) and specify the network interface and IP address of the machine doing the pinging (ip: 192.168.1.101):</p>
<pre class="brush: bash;">tcpdump -i eth0 host 192.168.1.101</pre>
<p>Now, run the ping test:</p>
<pre class="brush: bash;">ping 192.168.1.100</pre>
<p>At this point, if you get an output from <code>tcpdump</code>, you&#8217;ll know that the packet has made its way to the target machine (192.168.1.100).  The next step would be to see if you ever received an acknowledgment from the target machine.  Run <code>arp</code> on the machine doing the pinging (192.168.1.101): </p>
<pre class="brush: bash;">arp -an</pre>
<p>If you see something like <code>? (192.168.1.112) at (incomplete) on en1 [ethernet]</code>, that means you never got an acknowledgment back from the target machine (192.168.1.100).</p>
<p>At this point in this scenario, we would start to dive into what could be wrong.  In this particular situation, it was a driver issue with assigning a MAC address to the interface.</p>
<p>This is just one scenario to get you familiar with how to use <code>tcpdump</code> and <code>arp</code> and gather information about the networking issue.  Please refer to the utility man pages for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/07/troubleshooting-network-connection-with-tcpdump-and-arp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools Worth a Gander: expect and pexpect</title>
		<link>http://www.thelinuxdaily.com/2010/07/pexpect-python-tool/</link>
		<comments>http://www.thelinuxdaily.com/2010/07/pexpect-python-tool/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 14:00:38 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[dialogue]]></category>
		<category><![CDATA[expect]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1969</guid>
		<description><![CDATA[For those of you interested in programming a dialogue (simulating user actions) for an interactive program take a look at expect (pexpect if you&#8217;re into python). The tools are useful if you&#8217;re in an environment that needs a lot of test automation. Here&#8217;s an article that goes into a bit more detail: http://www.noah.org/wiki/Pexpect#Description_of_Pexpect]]></description>
			<content:encoded><![CDATA[<p>For those of you interested in programming a dialogue (simulating user actions) for an interactive program take a look at <a href="http://www.manpagez.com/man/1/expect/">expect</a> (<a href="http://www.noah.org/wiki/Pexpect">pexpect</a> if you&#8217;re into python).  The tools are useful if you&#8217;re in an environment that needs a lot of test automation.  Here&#8217;s an article that goes into a bit more detail:<br />
<a href="http://www.noah.org/wiki/Pexpect#Description_of_Pexpect">http://www.noah.org/wiki/Pexpect#Description_of_Pexpect</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/07/pexpect-python-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View Configuration File Used to Build Currently Running Kernel</title>
		<link>http://www.thelinuxdaily.com/2010/07/view-configuration-file-used-to-build-currently-running-kernel/</link>
		<comments>http://www.thelinuxdaily.com/2010/07/view-configuration-file-used-to-build-currently-running-kernel/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 14:00:06 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Kernel]]></category>
		<category><![CDATA[compiled]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1959</guid>
		<description><![CDATA[If enabled as an option in the pre-compiled kernel configuration, the file /proc/config.gz can inform you of what options your currently running kernel was compiled with. The writers over at Linux Insight have gone into a bit more detail about doing this. You can read up on it here: http://www.linuxinsight.com/proc_config.gz.html]]></description>
			<content:encoded><![CDATA[<p>If enabled as an option in the pre-compiled kernel configuration, the file <em>/proc/config.gz</em> can inform you of what options your currently running kernel was compiled with.  The writers over at Linux Insight have gone into a bit more detail about doing this.  You can read up on it here:<br />
<a href="http://www.linuxinsight.com/proc_config.gz.html">http://www.linuxinsight.com/proc_config.gz.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/07/view-configuration-file-used-to-build-currently-running-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Great Countdown Script Example</title>
		<link>http://www.thelinuxdaily.com/2010/06/a-great-countdown-script-example/</link>
		<comments>http://www.thelinuxdaily.com/2010/06/a-great-countdown-script-example/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 14:00:40 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[countdown]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1955</guid>
		<description><![CDATA[Somebody over at the linuxconfig.org website posted a really good countdown script that I&#8217;d like to share with you. Specify a date and time and the script will start and display the countdown. Take a look here: http://www.linuxconfig.org/time-countdown-bash-script-example]]></description>
			<content:encoded><![CDATA[<p>Somebody over at the linuxconfig.org website posted a really good countdown script that I&#8217;d like to share with you.  Specify a date and time and the script will start and display the countdown.  Take a look here:<br />
<a href="http://www.linuxconfig.org/time-countdown-bash-script-example">http://www.linuxconfig.org/time-countdown-bash-script-example</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/06/a-great-countdown-script-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Check For Empty Directories Using &#8216;find&#8217; Shell Command</title>
		<link>http://www.thelinuxdaily.com/2010/06/check-for-empty-directories-using-find-shell-command/</link>
		<comments>http://www.thelinuxdaily.com/2010/06/check-for-empty-directories-using-find-shell-command/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 14:00:55 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[empty]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[zero]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1947</guid>
		<description><![CDATA[find /path/to/directory -type d -empty -exec echo {} \; I think it&#8217;s easy to get the idea based on the example above, but just in case you need inspiration, you could automatically remove these empty directories with the following (Careful! This uses &#8216;-rf&#8217; flag which shows no warnings or mercy!): find /path/to/directory -type d -empty [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: bash;">
find /path/to/directory -type d -empty -exec echo {} \;
</pre>
<p>I think it&#8217;s easy to get the idea based on the example above, but just in case you need inspiration, you could automatically remove these empty directories with the following (Careful!  This uses &#8216;-rf&#8217; flag which shows no warnings or mercy!):</p>
<pre class="brush: bash;">
find /path/to/directory -type d -empty -exec rm -rf {} \;
</pre>
<p>Check out some additional methods here:</p>
<p>http://www.cyberciti.biz/faq/linux-unix-shell-check-if-directory-empty/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/06/check-for-empty-directories-using-find-shell-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking it Easy on Monday with Technobabble</title>
		<link>http://www.thelinuxdaily.com/2010/06/taking-it-easy-on-monday-with-technobabble/</link>
		<comments>http://www.thelinuxdaily.com/2010/06/taking-it-easy-on-monday-with-technobabble/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 14:48:14 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[monday]]></category>
		<category><![CDATA[Retro Encabulator]]></category>
		<category><![CDATA[rockwell automotion]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1948</guid>
		<description><![CDATA[I ran across this video the other day and wanted to share with everyone. Think of it as a light way to start off your week without having to think. Enjoy!]]></description>
			<content:encoded><![CDATA[<p>I ran across this video the other day and wanted to share with everyone.  Think of it as a light way to start off your week without having to think.  Enjoy!<br />
<p><a href="http://www.thelinuxdaily.com/2010/06/taking-it-easy-on-monday-with-technobabble/"><em>Click here to view the embedded video.</em></a></p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/06/taking-it-easy-on-monday-with-technobabble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: Add a &#8220;Press Any Key to Continue&#8221; Message to a Script</title>
		<link>http://www.thelinuxdaily.com/2010/06/how-to-add-a-press-any-key-to-continue-message-to-a-script/</link>
		<comments>http://www.thelinuxdaily.com/2010/06/how-to-add-a-press-any-key-to-continue-message-to-a-script/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:00:15 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[pause]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1938</guid>
		<description><![CDATA[Adding a &#8220;Press any key to continue&#8221; message to a script is actually quite easy because it&#8217;s already built into the read command. Here&#8217;s a couple examples of how to use it: #!/bin/sh echo &#34;A First Method&#34; read -s -n 1 -p &#34;Press any key to continue...&#34; # insert echo here for cleaner output echo [...]]]></description>
			<content:encoded><![CDATA[<p>Adding a &#8220;Press any key to continue&#8221; message to a script is actually quite easy because it&#8217;s already built into the <a href="http://ss64.com/bash/read.html"><code>read</code></a> command.  Here&#8217;s a couple examples of how to use it:</p>
<pre class="brush: bash;">
#!/bin/sh

echo &quot;A First Method&quot;
read -s -n 1 -p &quot;Press any key to continue...&quot;

# insert echo here for cleaner output
echo

echo &quot;A Second Method&quot;
echo &quot;Press any key to continue...&quot;
read -s -n 1 any_key
echo &quot;Now exiting&quot;
exit 0
</pre>
<p>Note: &#8220;any_key&#8221; was simply a made up name.  It can be anything.  As always, be sure to take a look at the <a href="http://ss64.com/bash/read.html">man page</a> for more information!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/06/how-to-add-a-press-any-key-to-continue-message-to-a-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Most Dangerous Linux Command</title>
		<link>http://www.thelinuxdaily.com/2010/06/the-most-dangerous-linux-command/</link>
		<comments>http://www.thelinuxdaily.com/2010/06/the-most-dangerous-linux-command/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 14:00:26 +0000</pubDate>
		<dc:creator>Derek@TheDailyLinux</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[dangerous]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[top]]></category>

		<guid isPermaLink="false">http://www.thelinuxdaily.com/?p=1935</guid>
		<description><![CDATA[James over at http://dazzle.cs.mcgill.ca has come across a humorous, and frightening, Linux command. It&#8217;s been dubbed &#8220;The Most Dangerous Command&#8221;. Take a look! It makes rm -rf / seem like a PG rated horror film&#8230; http://dazzle.cs.mcgill.ca/wordpress/?p=36]]></description>
			<content:encoded><![CDATA[<p>James over at http://dazzle.cs.mcgill.ca has come across a humorous, and frightening, Linux command.  It&#8217;s been dubbed &#8220;The Most Dangerous Command&#8221;.  Take a look!  It makes <code>rm -rf /</code> seem like a PG rated horror film&#8230;<br />
<a href="http://dazzle.cs.mcgill.ca/wordpress/?p=36">http://dazzle.cs.mcgill.ca/wordpress/?p=36</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelinuxdaily.com/2010/06/the-most-dangerous-linux-command/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
