<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>I Can Has Linux?</title>
	
	<link>http://icanhaslinux.com</link>
	<description>Invisible Patent Infringement!</description>
	<lastBuildDate>Mon, 08 Mar 2010 16:36:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ICanHasLinux" /><feedburner:info uri="icanhaslinux" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>fsck on a 1TB UFS volume, guess how long it takes?</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/COQulUvISAc/</link>
		<comments>http://icanhaslinux.com/2010/03/08/fsck-on-a-1tb-ufs-volume-guess-how-long-it-takes/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 15:04:08 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=99</guid>
		<description><![CDATA[Started fsck Thursday at 1:30pm
Still running&#8230;
Might have to newfs this one and say screw it.
-Lightningcrash
]]></description>
			<content:encoded><![CDATA[<p>Started fsck Thursday at 1:30pm</p>
<p>Still running&#8230;</p>
<p>Might have to newfs this one and say screw it.</p>
<p>-Lightningcrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2010/03/08/fsck-on-a-1tb-ufs-volume-guess-how-long-it-takes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2010/03/08/fsck-on-a-1tb-ufs-volume-guess-how-long-it-takes/</feedburner:origLink></item>
		<item>
		<title>T-minus 8 days until baby</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/BmhRGlqYpx8/</link>
		<comments>http://icanhaslinux.com/2010/03/08/t-minus-8-days-until-baby/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:45:03 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=96</guid>
		<description><![CDATA[LC&#8217;s Horde member #3 is due to be delivered in 8 days.
Now if they only made baby clothes with Quake logos&#8230;
-LightningCrash
]]></description>
			<content:encoded><![CDATA[<p>LC&#8217;s Horde member #3 is due to be delivered in 8 days.</p>
<p>Now if they only made baby clothes with Quake logos&#8230;</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2010/03/08/t-minus-8-days-until-baby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2010/03/08/t-minus-8-days-until-baby/</feedburner:origLink></item>
		<item>
		<title>Hot deals, second edition</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/4DZUVyKacf0/</link>
		<comments>http://icanhaslinux.com/2010/03/08/hot-deals-second-edition/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:39:34 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=94</guid>
		<description><![CDATA[So I was given a Gigabyte GA-P965-DS3 by a friend. I had hooked him up with my old, old ass watercooling equipment a little while back. When he heard I needed a C2D board, he volunteered his old board.
So I get everything in the board. I use a spring-screw heatsink mounting system that I bought. [...]]]></description>
			<content:encoded><![CDATA[<p>So I was given a Gigabyte GA-P965-DS3 by a friend. I had hooked him up with my old, old ass watercooling equipment a little while back. When he heard I needed a C2D board, he volunteered his old board.</p>
<p>So I get everything in the board. I use a spring-screw heatsink mounting system that I bought. It works great.</p>
<p>Now I lay my computer down and just set the board on top of the chassis, supported by the motherboard box. I move the power cables over. I move the GT 220 over and plug the HDMI in. I use some RAM of mine I had extra (part of the 8GB DDR2-800 I got for $90 back in the day)</p>
<p>I hit the power button with a screwdriver&#8230;. Fans spin up, C&amp;Q is bumping the CPU fan, but&#8230;.      nothing.</p>
<p>So at this point I&#8217;m guessing the E7200 is the problem.</p>
<p>I have made arrangements with a [H]ard|Forum member to purchase his E6750, I will soon try that and report back. I have taken some Ibuprofen for the headache.   <img src='http://icanhaslinux.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Until next time!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2010/03/08/hot-deals-second-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2010/03/08/hot-deals-second-edition/</feedburner:origLink></item>
		<item>
		<title>Some hot deals are the beginning of headaches…</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/Y1BLQ-h6ctQ/</link>
		<comments>http://icanhaslinux.com/2009/12/15/some-hot-deals-are-the-beginning-of-headaches/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 14:51:17 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pushpinssuck]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=87</guid>
		<description><![CDATA[So I scored a Core 2 Duo E7200 processor for $30.
I place the chip  in my D975XBX, and the system doesn&#8217;t boot.
I put my old processor back in, and two pushpins on my heatsink break.
So I bundle up the wife and kids and run out to buy a new heatsink at Bestbuy. The heatsink [...]]]></description>
			<content:encoded><![CDATA[<p>So I scored a Core 2 Duo E7200 processor for $30.</p>
<p>I place the chip  in my D975XBX, and the system doesn&#8217;t boot.</p>
<p>I put my old processor back in, and two pushpins on my heatsink break.</p>
<p>So I bundle up the wife and kids and run out to buy a new heatsink at Bestbuy. The heatsink does not make contact with the chip when attached. I don&#8217;t know what the crap was wrong with it, I tried it several different times, different directions until I finally realized it uses the same pin setup as my old heatsink.</p>
<p>So I pull two pushpins from the new heatsink to replace the broken ones on the old heatsink.  One more pushpin is on its way to breaking, so I replace it too. I plop down on my laptop and look up my board revision&#8217;s C2D support. Well, I&#8217;m at revision 302 and I need 303 or 304 to be C2D-compatible at all. Even then, only the E6xxx series seem to work (and some E4xxx series). Definitely no E7200.</p>
<p>So I put the old CPU (a Pentium D 950) back into the unit and get it all seated. System boots up and I&#8217;m back up.</p>
<p>At least I&#8217;m right back where I started, and it only cost me $60 to not go anywhere.</p>
<p> <img src='http://icanhaslinux.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/12/15/some-hot-deals-are-the-beginning-of-headaches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/12/15/some-hot-deals-are-the-beginning-of-headaches/</feedburner:origLink></item>
		<item>
		<title>Forking in xargs</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/QowmepuWKB4/</link>
		<comments>http://icanhaslinux.com/2009/12/15/effing-xargs/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 14:22:26 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[multithreaded]]></category>
		<category><![CDATA[xargs]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=83</guid>
		<description><![CDATA[xargs is probably one of the most useful CLI tools in Unix/Linux.
Many people just forget that xargs can fork processes, to multithread an otherwise slow operation.
If you have a directory full of WAV files you want to encode and a quad core, fork that.
ls *.wav&#124;xargs -n1 -P4 -i lame -h {} {}.mp3
rename &#8217;s/\.wav//g&#8217; *.mp3
The -P [...]]]></description>
			<content:encoded><![CDATA[<p>xargs is probably one of the most useful CLI tools in Unix/Linux.</p>
<p>Many people just forget that xargs can fork processes, to multithread an otherwise slow operation.</p>
<p>If you have a directory full of WAV files you want to encode and a quad core, fork that.</p>
<p><code>ls *.wav|xargs -n1 -P4 -i lame -h {} {}.mp3</code></p>
<p>rename &#8217;s/\.wav//g&#8217; *.mp3</p>
<p>The -P option is for the maximum number of processes. The -n option is to limit to 1 argument per xargs call.  The -i option gives us the {} substitution. Xargs will substitute the filename for {}. This means we get an output file called blah.wav.mp3, so I added the Perl utils rename step.</p>
<p>xargs has many uses with forking, and you could probably even use a VAAPI-enabled mencoder to transcode a whole directory of files this way.</p>
<p>Just don&#8217;t fork yourself or you&#8217;ll go blind.</p>
<p>Until next time!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/12/15/effing-xargs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/12/15/effing-xargs/</feedburner:origLink></item>
		<item>
		<title>GPS Phones and Telco Logging Infrastructure</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/dyag0SXE6a0/</link>
		<comments>http://icanhaslinux.com/2009/12/15/gps-phones-and-telco-logging-infrastructure/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 13:43:19 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bigbrother]]></category>
		<category><![CDATA[cryptome]]></category>
		<category><![CDATA[FISA]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=79</guid>
		<description><![CDATA[This is an extension of a post I made on a gun forum. Someone had asked the feasibility of the infrastructure required to store iPhone user's GPS coordinates. They threw out the number of 30M iPhones.]]></description>
			<content:encoded><![CDATA[<p>This is an extension of a post I made on a gun forum. Someone had asked the feasibility of the infrastructure required to store iPhone user&#8217;s GPS coordinates. They threw out the number of 30M iPhones.</p>
<p>It would really be the next logical step in police data collection. Take a warrant for arrest, pull phone records for $30, intercept the guy on his way home from his dealer&#8217;s house.<br />
This wouldn&#8217;t be a burden placed upon the police, or even the NSA.  It would be a money-maker for the telcos.<br />
Lat/Lon can be packed as a 32-bit integer, unix timestamp is a 32-bit signed integer. Add in the telephone number and we&#8217;ll just call it 128 bits per reading.<br />
Minutes in a day, 1440, so 1440&#215;128 = 184,320 bits. 23,040 bytes per day.<br />
As you can see, data warehousing for this is next to nothing. An 8GB disk could hold 372,827 days worth of GPS readings.<br />
A day&#8217;s worth of GPS data for 30M users would be 675GB raw, before decompression and deduplication.<br />
That would be a pretty tall order for a small business, but if you add in a few hundred legal spying data purchases every day, it would pay for itself pretty quickly.</p>
<p>You&#8217;d need a small cluster of servers and you would likely need good SAN hardware. They already store more information than this about the calls that you make. They already have the infrastructure in place.</p>
<p>So is it feasible? Yes, without a doubt.</p>
<p>Until next time!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/12/15/gps-phones-and-telco-logging-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/12/15/gps-phones-and-telco-logging-infrastructure/</feedburner:origLink></item>
		<item>
		<title>batch rename with regexps, an addendum</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/GHN6367Bu1I/</link>
		<comments>http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 15:49:59 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[batch rename]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[regexps]]></category>
		<category><![CDATA[rename]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/</guid>
		<description><![CDATA[You may have read my post on batch rename with perl&#8217;s &#8216;rename&#8217; script, but I recently discovered that it is helpful to read the man page.
I had a folder full of files that I wanted to rename, but I wanted to test things out first. I had settled for making a temporary directory and just [...]]]></description>
			<content:encoded><![CDATA[<p>You may have read my post on <a href="http://icanhaslinux.com/2007/09/13/batch-rename-with-regexps/">batch rename</a> with perl&#8217;s &#8216;rename&#8217; script, but I recently discovered that it is helpful to read the man page.</p>
<p>I had a folder full of files that I wanted to rename, but I wanted to test things out first. I had settled for making a temporary directory and just symlinking to the files that I wanted to modify. I would run my tests, look at the link names, then delete and recreate the links.</p>
<p>Well, that is no more. `rename` has an option -n, for &#8220;No Act&#8221;, that will not actually rename the files. Instead, it will just print the filenames that matched and what they would have been renamed to.</p>
<p>Perfect!</p>
<p>Anyway, as the old saying goes, RTFM!<br />
-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/</feedburner:origLink></item>
		<item>
		<title>Where’s LC?</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/v0O8b5H2rbk/</link>
		<comments>http://icanhaslinux.com/2009/11/12/wheres-lc/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 19:40:24 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=74</guid>
		<description><![CDATA[Between work, my wife and my kids, I have been a busy man!
I hope to get a few more articles up soon, including finishing the series on find-fu.
Peace!
-LightningCrash
]]></description>
			<content:encoded><![CDATA[<p>Between work, my wife and my kids, I have been a busy man!</p>
<p>I hope to get a few more articles up soon, including finishing the series on find-fu.</p>
<p>Peace!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/11/12/wheres-lc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/11/12/wheres-lc/</feedburner:origLink></item>
		<item>
		<title>8 Steps to Becoming A `find` Fu Master — Pt 2</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/Ca_gCnYJP_I/</link>
		<comments>http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 16:35:06 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[find]]></category>
		<category><![CDATA[findutils]]></category>
		<category><![CDATA[gnu]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/</guid>
		<description><![CDATA[(This is the second part in a three part series. Review the Introduction Here)
Now for the second installment of your `find` fu mastery! We are going to cover four principles today:

Learning to use object types
 Using command execution
Using `find` to delete files
Limiting search depth

With no further ado,
1. Using object types in `find`
In the Linux/Unix filesystems [...]]]></description>
			<content:encoded><![CDATA[<p><em>(This is the second part in a three part series. <a href="http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/">Review the Introduction Here</a>)</em></p>
<p>Now for the second installment of your `find` fu mastery! We are going to cover four principles today:</p>
<ol>
<li>Learning to use object types</li>
<li> Using command execution</li>
<li>Using `find` to delete files</li>
<li>Limiting search depth</li>
</ol>
<p>With no further ado,</p>
<p><strong>1. Using object types in `find`</strong></p>
<p>In the Linux/Unix filesystems there are more things than plain old regular files. Among then are symbolic links, directories, named pipes, block devices, character devices, and sockets. `find` will let you specify these items.</p>
<p>For instance, if I am looking for the baseq3 directory of my Quake3 installation, I can do the following:</p>
<p><code>find / -type d -name 'baseq3'</code></p>
<p>If I am looking for all symbolic links in a directory, I can do the following:</p>
<p><code>find . -type s</code></p>
<p>If I am looking for only files, I can specify &#8216;-type f&#8217;. This is handy by itself, but becomes more useful as you are executing commands for each of your search results. Which brings us to&#8230;</p>
<p><strong>2. Using Command Execution</strong></p>
<p>This is probably one of the most useful things that `find` has to offer. This is also one of the easiest ways to screw up your system and/or your day&#8217;s work. You have to be careful with this. Fortunately, `find` puts options in to help with that. We&#8217;ll cover those in a moment after we give some basics of command execution in `find`.</p>
<p>I have a directory full of PHP source code and I want to issue a find/replace on every file in the entire hierarchy to change a setting. The setting&#8217;s value is 12345 and I want to change it to 67890. You use the -exec option , put your command in, substitute the filename with {}, and put \; to denote the end of the command. Let&#8217;s take a look:</p>
<p><code>find ./ -type f -exec perl -pi -e 's/12345/67890/g' {} \;</code></p>
<p>This works great, except how do I know I&#8217;m not executing something that I don&#8217;t want to? Well,`find` has this covered with the &#8216;ok&#8217; option.</p>
<p><code>find ./ -type f -ok perl -pi -e 's/12345/67890/g' {} \;</code></p>
<p>This will now prompt you to OK everything that is done, line by line. Useful for if you&#8217;re going to do something where you&#8217;d like to know which files it&#8217;s operating on. However, `find` will truncate part of the command if it&#8217;s too long, so you don&#8217;t get to see exactly what it&#8217;s doing. You can always put an echo in front of your commands to see them in their entirety before you execute them.</p>
<p>`find` also has an -execdir and -okdir command, which operate in a different manner. -execdir operates as if you `cd` into the directory and then run the command. This can be handy if you don&#8217;t want to do the filename substitution with {}, maybe you want to run something inside every directory. If you have a directory full of source called src, and maybe you want to run the `make` command to compile everything, you could issue a `find` statement like so:</p>
<p><code>find ./src -type d -execdir make all \;</code></p>
<p>This is a bit messy but it illustrates my point.</p>
<p><strong> 3. Using `find` to delete files</strong></p>
<p>Speaking of dangerous operations, here&#8217;s another one you need to be very, very careful with.</p>
<p>But the easiest way to illustrate this would be to say maybe you downloaded a package for installation that contained a number of files that you do not want at all. Some shared packages come with .nfo files, .txt, .installs, .sfx, .subs, all sorts of unwanted garbage that you rarely want. Let&#8217;s allow `find` to delete that garbage, shall we?</p>
<p>I&#8217;m going to make these .sfx files disappear&#8230;</p>
<p><code>cd ~/Downloads/package/<br />
</code></p>
<p><code> find ./ -type f -name '*.sfx' -delete</code></p>
<p>Ta-da!</p>
<p>:jokerface:</p>
<p><strong>4. Limiting Search Depth</strong></p>
<p>So maybe you want to only go one directory deep. Maybe you don&#8217;t want to descend into any directories with your search. Maybe you want to search a filesystem without having `find` hop onto other drives in its search. `find` has got you covered like a fire team.</p>
<p>Descend only one directory:</p>
<p><code>find ./ -maxdepth 1</code></p>
<p>Don&#8217;t descend at all:</p>
<p><code>find ./ -maxdepth 0</code></p>
<p>Don&#8217;t search on filesystems or drives other than the current one:</p>
<p><code>find ./ -xdev</code></p>
<p>The above is particularly useful if you have a jump drive of some sort mounting in an inappropriate place.</p>
<p><strong>Wrapping up</strong>.</p>
<p>Can you snatch the pebble from your filesystem&#8217;s hand?</p>
<p>We train again later, grasshopper.</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/</feedburner:origLink></item>
		<item>
		<title>8 Steps to Becoming A `find` Fu Master — Introduction</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/7yHi79XYhlU/</link>
		<comments>http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 13:52:51 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[find]]></category>
		<category><![CDATA[findutils]]></category>
		<category><![CDATA[gnu]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/</guid>
		<description><![CDATA[(This is the first part in a three part series. Read part two here.)
Introduction:
Among the tools you will use on a Linux system, few are more valuable than the find utility from findutils. Forget search bars: This is a more highly tailored search system that can help you find exactly what you&#8217;re looking for with [...]]]></description>
			<content:encoded><![CDATA[<p><em>(This is the first part in a three part series. Read <a href="http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/">part two here.</a>)</em></p>
<p><strong>Introduction:</strong></p>
<p>Among the tools you will use on a Linux system, few are more valuable than the find utility from findutils. Forget search bars: This is a more highly tailored search system that can help you find exactly what you&#8217;re looking for with great ease. It will also permit you to perform operations upon the files that you find, delete them, or just list them. If you do more than just browse the Internet with your Linux box, you need some sort of proficiency with find.</p>
<p><strong>Basics:</strong><br />
Find, at its simplest, will list everything in the filesystem beneath your current directory. This includes files, directories, symbolic links, FIFOs, sockets, and more other crap than you probably care to know about. Over 95% of your usage is going to be finding files and directories, so we&#8217;ll focus there.<br />
If you open up a terminal and type<br />
<code>cd<br />
find</code><br />
You&#8217;ll receive a list of everything in the filesystem below your current directory.<br />
Let&#8217;s limit that some. Let&#8217;s search for files that end in mp3.<br />
<code>find -name '*.mp3'</code></p>
<p>But wait, I know I had a file that ended in .MP3, why didn&#8217;t it show up? Well, the -name test is case sensitive. -iname is not. Let&#8217;s do the same thing with iname.</p>
<p><code>find -iname '*.mp3'</code></p>
<p>Ahh, there it is.<br />
I want to search my videos directory for the video of my friend&#8217;s birthday party. I know it was named Fred-something. Now I can introduce a directory in the search.</p>
<p><code>find ~/Videos/ -name '*Fred*'</code></p>
<p>Hah. Fred is silly.</p>
<p>Well, that&#8217;s the most basic that you&#8217;ll get with find, grasshopper. Now you must prove your skills to the sensei!</p>
<p>Well, sort of. You just have to wait for the next part of the series.</p>
<p>-LightningCrash</p>
<p><em>(This is the first part in a three part series. Read <a href="http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/">part two here.</a>)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/</feedburner:origLink></item>
	</channel>
</rss>
