<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4580321781834803857</id><updated>2012-02-13T00:05:45.168+05:30</updated><category term='flash'/><category term='Fedora'/><category term='block'/><category term='inittab'/><category term='rsync'/><category term='synaptics'/><category term='dd'/><category term='ARP'/><category term='Spoofing'/><category term='bashrc'/><category term='tsocks'/><category term='ping'/><category term='ps'/><category term='Kernel'/><category term='mencoder'/><category term='pipe'/><category term='date'/><category term='service'/><category term='RSA'/><category term='Masquerade'/><category term='sed'/><category term='Man-inMiddle'/><category term='awk'/><category term='runlevel'/><category term='yum'/><category term='lsof'/><category term='elinks'/><category term='grep'/><category term='Mac'/><category term='installer'/><category term='top'/><category term='scp'/><category term='vim'/><category term='Status Message'/><category term='meminfo'/><category term='bzip'/><category term='fstab'/><category term='Acrobat Reader'/><category term='crontab'/><category term='cpu'/><category term='sort'/><category term='backup'/><category term='patch'/><category term='while'/><category term='Fortune'/><category term='group by'/><category term='wlan0'/><category term='Nokia'/><category term='mms'/><category term='apt'/><category term='Perl'/><category term='diff'/><category term='bash'/><category term='OSX'/><category term='pdf'/><category term='c'/><category term='NAT'/><category term='resume'/><category term='bandwidth'/><category term='noclobber'/><category term='html'/><category term='stdout'/><category term='mp3'/><category term='network'/><category term='D-Bus'/><category term='run-level'/><category term='tarball'/><category term='amarok'/><category term='cpuinfo'/><category term='ls'/><category term='DHCP'/><category term='suid'/><category term='Python'/><category term='Unix'/><category term='linuc'/><category term='pty'/><category term='eth0'/><category term='gparted'/><category term='passwordless'/><category term='ACPI'/><category term='fuser'/><category term='iso'/><category term='xargs'/><category term='ifcfg-eth0'/><category term='gzip'/><category term='kill'/><category term='espeak'/><category term='mplayer'/><category term='sync'/><category term='GRUB'/><category term='find'/><category term='for'/><category term='sound'/><category term='shell'/><category term='telnet'/><category term='script'/><category term='bc'/><category term='windows'/><category term='imagemagick'/><category term='DVD'/><category term='chmod'/><category term='head'/><category term='stderr'/><category term='port'/><category term='pts'/><category term='Yahoo'/><category term='ifconfig'/><category term='IM'/><category term='repository'/><category term='alias'/><category term='linux'/><category term='hub'/><category term='messenger'/><category term='hack'/><category term='hibernate'/><category term='init'/><category term='non-free'/><category term='boot'/><category term='last'/><category term='Ethernet'/><category term='Debian'/><category term='convert'/><category term='mount'/><category term='pomme'/><category term='Pidgin'/><category term='ssh'/><category term='Shortcuts'/><category term='issue'/><category term='swapon'/><category term='tar'/><category term='time'/><category term='xorg'/><category term='sources.list'/><category term='tunnel'/><category term='swap'/><category term='samba'/><category term='DoS'/><category term='Ubuntu'/><title type='text'>Linux Tips</title><subtitle type='html'>Useful Tips for GNU/Linux Operating System</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8871822288782265755</id><published>2012-02-13T00:03:00.001+05:30</published><updated>2012-02-13T00:05:45.190+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mencoder'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Video Cutter V2: Video Cutting Using Mencoder</title><content type='html'>I have upgraded the &lt;a href="http://miteshj-linux-tips.blogspot.com/2011/06/video-cutter-video-cutting-using.html"&gt;Video Cutter&lt;/a&gt; program. Now it has 2 more features:&lt;br /&gt;1. Strict Mode (&lt;b&gt;-s&lt;/b&gt; flag): In this mode, strict monotonously increasing order of times must be given in the configuration (default: &lt;i&gt;video_cutter.conf&lt;/i&gt;) file. &lt;br /&gt;2. Joining Split Videos (&lt;b&gt;-j&lt;/b&gt; flag): When this flag is given with the command, it does join the split video files into a single video file.&lt;br /&gt;&lt;br /&gt;Here is the updated version of the &lt;a href="http://miteshjlinuxtips.wordpress.com/2011/06/26/video-cutter-video-cutting-using-mencoder/"&gt;earlier perl script&lt;/a&gt;: &lt;br /&gt;&lt;pre style='color:#000000;background-color:#ffffff;'&gt;&lt;br /&gt;&lt;b&gt;#!/usr/bin/perl -w&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#===============================================================================&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#         FILE:  video_cutter.pl&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#        USAGE:  ./video_cutter.pl [options] &amp;lt;input_video_file&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#  DESCRIPTION:  &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#      OPTIONS:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;# REQUIREMENTS:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#         BUGS:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#        NOTES:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#       AUTHOR:  Mitesh Singh Jat (mitesh), &amp;lt;mitesh[at]yahoo-inc[dot]com&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#      VERSION:  2.0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#      CREATED:  02/12/2011 03:57:55 PM IST&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style='color:#808080;'&gt;#===============================================================================&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;b&gt;strict&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;b&gt;warnings&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;span style='color:#000080;'&gt;Getopt::Std&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sub &lt;/b&gt;&lt;span style='color:#000080;'&gt;usage&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;USAGE: &lt;/span&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; [options] &amp;lt;input_video_file&amp;gt;&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;          -c &amp;lt;conf_file&amp;gt;    default  /base_dir/input_video_file/video_cutter.conf&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;                            Start_time(hh:mm:ss),End_time(hh:mm:ss)&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;          -o &amp;lt;out_dir&amp;gt;      default  /base_dir/input_video_file/&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;          -s                strict format check for conf files     [default: no checking]&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;          -j                Join output splits into one video file [default: no joining]&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sub &lt;/b&gt;&lt;span style='color:#000080;'&gt;hms_to_seconds&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$h&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$m&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$s&lt;/span&gt;) = &lt;span style='color:#000080;'&gt;split&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#008000;'&gt;:&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;, &lt;span style='color:#c00000;'&gt;$_&lt;/span&gt;[&lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;]);&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$s&lt;/span&gt; = &lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$s&lt;/span&gt;) ? &lt;span style='color:#800000;'&gt;$s&lt;/span&gt; : &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt; += &lt;span style='color:#800000;'&gt;$s&lt;/span&gt;;&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$m&lt;/span&gt; = &lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$m&lt;/span&gt;) ? &lt;span style='color:#800000;'&gt;$m&lt;/span&gt; : &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt; += (&lt;span style='color:#0000ff;'&gt;60&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;*&lt;/span&gt;&lt;/b&gt; &lt;span style='color:#800000;'&gt;$m&lt;/span&gt;);&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$h&lt;/span&gt; = &lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$h&lt;/span&gt;) ? &lt;span style='color:#800000;'&gt;$h&lt;/span&gt; : &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt; += (&lt;span style='color:#0000ff;'&gt;60&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;*&lt;/span&gt;&lt;/b&gt; &lt;span style='color:#0000ff;'&gt;60&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;*&lt;/span&gt;&lt;/b&gt; &lt;span style='color:#800000;'&gt;$h&lt;/span&gt;);&lt;br /&gt;    &lt;b&gt;return&lt;/b&gt;(&lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sub &lt;/b&gt;&lt;span style='color:#000080;'&gt;check_times_in_file&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt; = &lt;span style='color:#c00000;'&gt;$_&lt;/span&gt;[&lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;];&lt;br /&gt;    &lt;span style='color:#000080;'&gt;open&lt;/span&gt;(FH, &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;) &lt;b&gt;&lt;span style='color:#008000;'&gt;or&lt;/span&gt;&lt;/b&gt; &lt;span style='color:#000080;'&gt;die&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: Cannot open '&lt;/span&gt;&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$line&lt;/span&gt;;&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$nline&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$prev_end_sec&lt;/span&gt; = -&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;;&lt;br /&gt;    &lt;b&gt;while&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$line&lt;/span&gt; = &lt;b&gt;&amp;lt;FH&amp;gt;&lt;/b&gt;)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;chomp&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$line&lt;/span&gt;);&lt;br /&gt;        ++&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;;&lt;br /&gt;        &lt;b&gt;next&lt;/b&gt; &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$line&lt;/span&gt; =~ &lt;b&gt;&lt;span style='color:#008000;'&gt;m/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;^&lt;/span&gt;&lt;span style='color:#008000;'&gt;#&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;        &lt;b&gt;my&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$start_time&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;) = &lt;span style='color:#000080;'&gt;split&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#008000;'&gt;,&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;, &lt;span style='color:#800000;'&gt;$line&lt;/span&gt;);&lt;br /&gt;        &lt;b&gt;if&lt;/b&gt; (!&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;))&lt;br /&gt;        {&lt;br /&gt;            &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: End time(HH:MM:SS) is not present in line no &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$line&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;            &lt;span style='color:#000080;'&gt;close&lt;/span&gt;(CFH);&lt;br /&gt;            &lt;b&gt;return&lt;/b&gt;;&lt;br /&gt;        }&lt;br /&gt;        &lt;b&gt;my&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$h&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$m&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$s&lt;/span&gt;) = &lt;span style='color:#000080;'&gt;split&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#008000;'&gt;:&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;, &lt;span style='color:#800000;'&gt;$start_time&lt;/span&gt;);&lt;br /&gt;        &lt;b&gt;if&lt;/b&gt; (!&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$s&lt;/span&gt;))&lt;br /&gt;        {&lt;br /&gt;            &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: Start time is not in format (HH:MM:SS) line no &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$line&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;            &lt;span style='color:#000080;'&gt;close&lt;/span&gt;(CFH);&lt;br /&gt;            &lt;b&gt;return&lt;/b&gt;;&lt;br /&gt;        }&lt;br /&gt;        (&lt;span style='color:#800000;'&gt;$h&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$m&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$s&lt;/span&gt;) = &lt;span style='color:#000080;'&gt;split&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#008000;'&gt;:&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;, &lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;);&lt;br /&gt;        &lt;b&gt;if&lt;/b&gt; (!&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$s&lt;/span&gt;))&lt;br /&gt;        {&lt;br /&gt;            &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: End time is not in format (HH:MM:SS) line no &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$line&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;            &lt;span style='color:#000080;'&gt;close&lt;/span&gt;(CFH);&lt;br /&gt;            &lt;b&gt;return&lt;/b&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt; = &amp;amp;hms_to_seconds(&lt;span style='color:#800000;'&gt;$start_time&lt;/span&gt;);&lt;br /&gt;        &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt; = &amp;amp;hms_to_seconds(&lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;);&lt;br /&gt;        &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt; &amp;gt;= &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt;)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; &amp;gt;= &lt;/span&gt;&lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; in line no &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$line&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;            &lt;span style='color:#000080;'&gt;close&lt;/span&gt;(CFH);&lt;br /&gt;            &lt;b&gt;return&lt;/b&gt;;&lt;br /&gt;        }&lt;br /&gt;        &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$prev_end_sec&lt;/span&gt; &amp;gt;= &lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt;)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$prev_end_sec&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; &amp;gt;= &lt;/span&gt;&lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; in line no &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$line&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; and prev line&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;            &lt;span style='color:#000080;'&gt;close&lt;/span&gt;(CFH);&lt;br /&gt;            &lt;b&gt;return&lt;/b&gt;;&lt;br /&gt;        }&lt;br /&gt;        &lt;span style='color:#800000;'&gt;$prev_end_sec&lt;/span&gt; = &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style='color:#000080;'&gt;close&lt;/span&gt;(FH);&lt;br /&gt;    &lt;b&gt;return&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;%opts&lt;/span&gt;;&lt;br /&gt;getopt(&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff6c6c;'&gt;o:c:&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;, \&lt;span style='color:#800000;'&gt;%opts&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;b&gt;foreach&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$opt&lt;/span&gt; (&lt;span style='color:#000080;'&gt;sort&lt;/span&gt; &lt;span style='color:#000080;'&gt;keys&lt;/span&gt; &lt;span style='color:#800000;'&gt;%opts&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;b&gt;if&lt;/b&gt; (!&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$opts&lt;/span&gt;{&lt;span style='color:#800000;'&gt;$opt&lt;/span&gt;}))&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: Requires value for option '&lt;/span&gt;&lt;span style='color:#800000;'&gt;$opt&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &amp;amp;usage();&lt;br /&gt;        &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#c00000;'&gt;@ARGV&lt;/span&gt; != &lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    &amp;amp;usage();&lt;br /&gt;    &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$input_video_file&lt;/span&gt; = &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$ARGV&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;[0]&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt; = &lt;b&gt;&lt;span style='color:#008000;'&gt;`&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;dirname &lt;/span&gt;&lt;span style='color:#800000;'&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;`&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;span style='color:#000080;'&gt;chomp&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;);&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt; = &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;/video_cutter.conf&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$strict_checking&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$join_outputs&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$out_video_files&lt;/span&gt; = &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;c&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;}))&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt; = &lt;span style='color:#800000;'&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;c&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;};&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;o&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;}))&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt; = &lt;span style='color:#800000;'&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;o&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;};&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;s&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;}))&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$strict_checking&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;j&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;}))&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$join_outputs&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style='color:#008000;'&gt;-f&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: Input video file '&lt;/span&gt;&lt;span style='color:#800000;'&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt; is not present&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style='color:#008000;'&gt;-f&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: split conf file '&lt;/span&gt;&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt; is not present&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style='color:#008000;'&gt;-d&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: out dir '&lt;/span&gt;&lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt; is not present&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style='color:#008000;'&gt;-w&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: out dir '&lt;/span&gt;&lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt; is not writable&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$mencoder&lt;/span&gt; = &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;/usr/local/bin/mencoder&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style='color:#008000;'&gt;-x&lt;/span&gt;&lt;/b&gt; &lt;span style='color:#800000;'&gt;$mencoder&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$mencoder&lt;/span&gt; = &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;/usr/bin/mencoder&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style='color:#008000;'&gt;-x&lt;/span&gt;&lt;/b&gt; &lt;span style='color:#800000;'&gt;$mencoder&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: please install mencoder&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;sudo apt-get install mencoder&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#000080;'&gt;open&lt;/span&gt;(CFH, &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;) &lt;b&gt;&lt;span style='color:#008000;'&gt;or&lt;/span&gt;&lt;/b&gt; &lt;span style='color:#000080;'&gt;die&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: Cannot open '&lt;/span&gt;&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$line&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$nline&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$split_name&lt;/span&gt; = &lt;b&gt;&lt;span style='color:#008000;'&gt;`&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;basename &lt;/span&gt;&lt;span style='color:#800000;'&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;`&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;span style='color:#000080;'&gt;chomp&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$split_name&lt;/span&gt;);&lt;br /&gt;&lt;span style='color:#800000;'&gt;$split_name&lt;/span&gt; =~ &lt;b&gt;&lt;span style='color:#008000;'&gt;s/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#008000;'&gt;\.&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;[^&lt;/span&gt;&lt;span style='color:#008080;'&gt;.&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;]*$&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;//&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$split_ext&lt;/span&gt; = &lt;span style='color:#800000;'&gt;$input_video_file&lt;/span&gt;;&lt;br /&gt;&lt;span style='color:#800000;'&gt;$split_ext&lt;/span&gt; =~ &lt;b&gt;&lt;span style='color:#008000;'&gt;s/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#008000;'&gt;.&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;*&lt;/span&gt;&lt;span style='color:#008000;'&gt;\.&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;([^&lt;/span&gt;&lt;span style='color:#008080;'&gt;.&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;]*)$&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$1&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$success&lt;/span&gt; = &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$strict_checking&lt;/span&gt; == &lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;Strict Mode&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$retval&lt;/span&gt; = &amp;amp;check_times_in_file(&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;);&lt;br /&gt;    &lt;b&gt;if&lt;/b&gt; (!&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$retval&lt;/span&gt;))&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: Problem in conf file \&amp;quot;&lt;/span&gt;&lt;span style='color:#800000;'&gt;$conf_file&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;\&amp;quot;&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;while&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$line&lt;/span&gt; = &lt;b&gt;&amp;lt;CFH&amp;gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style='color:#000080;'&gt;chomp&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$line&lt;/span&gt;);&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;++;&lt;br /&gt;    &lt;b&gt;next&lt;/b&gt; &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$line&lt;/span&gt; =~ &lt;b&gt;&lt;span style='color:#008000;'&gt;m/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;^&lt;/span&gt;&lt;span style='color:#008000;'&gt;#&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$start_time&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;) = &lt;span style='color:#000080;'&gt;split&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#008000;'&gt;,&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;/&lt;/span&gt;&lt;/b&gt;, &lt;span style='color:#800000;'&gt;$line&lt;/span&gt;);&lt;br /&gt;    &lt;b&gt;next&lt;/b&gt; &lt;b&gt;if&lt;/b&gt; (!&lt;span style='color:#000080;'&gt;defined&lt;/span&gt;(&lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;));&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt; = &amp;amp;hms_to_seconds(&lt;span style='color:#800000;'&gt;$start_time&lt;/span&gt;);&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt; = &amp;amp;hms_to_seconds(&lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;);&lt;br /&gt;    &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt; &amp;gt;= &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt;)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: &lt;/span&gt;&lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; &amp;gt;= &lt;/span&gt;&lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;    &lt;/span&gt;&lt;span style='color:#800000;'&gt;$start_time&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; &amp;gt;= &lt;/span&gt;&lt;span style='color:#800000;'&gt;$end_time&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; ... skipping for line no &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; ...&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &lt;b&gt;next&lt;/b&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt; -= &lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt;;&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt; = &lt;span style='color:#000080;'&gt;sprintf&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; -ss &lt;/span&gt;&lt;span style='color:#800000;'&gt;%d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; -endpos &lt;/span&gt;&lt;span style='color:#800000;'&gt;%d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; -ovc copy -oac copy -o &lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;/&lt;/span&gt;&lt;span style='color:#800000;'&gt;%s_%03d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;.&lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; &lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;, &lt;br /&gt;            &lt;span style='color:#800000;'&gt;$mencoder&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$start_sec&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$end_sec&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$split_name&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt;,&lt;br /&gt;            &lt;span style='color:#800000;'&gt;$split_ext&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$input_video_file&lt;/span&gt;);&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;-&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt; x &lt;span style='color:#0000ff;'&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;system&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;    &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#c00000;'&gt;$?&lt;/span&gt; != &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: failed to create &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; split for line no &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\t&lt;/span&gt;&lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;b&gt;else&lt;/b&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDOUT &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;Created &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; split for line &lt;/span&gt;&lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &lt;span style='color:#800000;'&gt;$out_video_files&lt;/span&gt; .= &lt;span style='color:#000080;'&gt;sprintf&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt; &lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;/&lt;/span&gt;&lt;span style='color:#800000;'&gt;%s_%03d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;.&lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;, &lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$split_name&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$split_ext&lt;/span&gt;);&lt;br /&gt;        &lt;span style='color:#800000;'&gt;$success&lt;/span&gt;++;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;-&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt; x &lt;span style='color:#0000ff;'&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;    &lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt;++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#000080;'&gt;close&lt;/span&gt;(CFH);&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt; x &lt;span style='color:#0000ff;'&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;&lt;span style='color:#000080;'&gt;printf&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;Total lines = &lt;/span&gt;&lt;span style='color:#800000;'&gt;%d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;,   Success = &lt;/span&gt;&lt;span style='color:#800000;'&gt;%d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;/&lt;/span&gt;&lt;span style='color:#800000;'&gt;%d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;,  Failure = &lt;/span&gt;&lt;span style='color:#800000;'&gt;%d&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;/&lt;/span&gt;&lt;span style='color:#800000;'&gt;%d&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;,&lt;br /&gt;        &lt;span style='color:#800000;'&gt;$nline&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$success&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt;,&lt;br /&gt;        &lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt; - &lt;span style='color:#800000;'&gt;$success&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$nsplit&lt;/span&gt;);&lt;br /&gt;&lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt; x &lt;span style='color:#0000ff;'&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$join_outputs&lt;/span&gt; == &lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#800000;'&gt;$success&lt;/span&gt; &amp;lt; &lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: failed to join video files.&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(-&lt;span style='color:#0000ff;'&gt;1&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$joined_video_file&lt;/span&gt; = &lt;span style='color:#000080;'&gt;sprintf&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;/&lt;/span&gt;&lt;span style='color:#800000;'&gt;%s_joined&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;.&lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;, &lt;span style='color:#800000;'&gt;$out_dir&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$split_name&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$split_ext&lt;/span&gt;);&lt;br /&gt;    &lt;b&gt;my&lt;/b&gt; &lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt; = &lt;span style='color:#000080;'&gt;sprintf&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; -ovc copy -oac copy -o &lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;span style='color:#dd0000;'&gt; &lt;/span&gt;&lt;span style='color:#800000;'&gt;%s&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;, &lt;br /&gt;            &lt;span style='color:#800000;'&gt;$mencoder&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$joined_video_file&lt;/span&gt;, &lt;span style='color:#800000;'&gt;$out_video_files&lt;/span&gt;);&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;-&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt; x &lt;span style='color:#0000ff;'&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;Joining Video Files into &lt;/span&gt;&lt;span style='color:#800000;'&gt;$joined_video_file&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;-&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt; x &lt;span style='color:#0000ff;'&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    &lt;span style='color:#000080;'&gt;system&lt;/span&gt;(&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;    &lt;b&gt;if&lt;/b&gt; (&lt;span style='color:#c00000;'&gt;$?&lt;/span&gt; != &lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#c00000;'&gt;$0&lt;/span&gt;&lt;span style='color:#dd0000;'&gt;: failed to create joined video file &lt;/span&gt;&lt;span style='color:#800000;'&gt;$joined_video_file&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\t&lt;/span&gt;&lt;span style='color:#800000;'&gt;$cmd&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;b&gt;else&lt;/b&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;span style='color:#000080;'&gt;print&lt;/span&gt; STDOUT &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;Created joined video file &lt;/span&gt;&lt;span style='color:#800000;'&gt;$joined_video_file&lt;/span&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style='color:#000080;'&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#dd0000;'&gt;-&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt; x &lt;span style='color:#0000ff;'&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;&lt;span style='color:#ff00ff;'&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style='color:#008000;'&gt;&amp;quot;&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#000080;'&gt;exit&lt;/span&gt;(&lt;span style='color:#0000ff;'&gt;0&lt;/span&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8871822288782265755?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8871822288782265755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8871822288782265755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8871822288782265755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8871822288782265755'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2012/02/video-cutter-v2-video-cutting-using.html' title='Video Cutter V2: Video Cutting Using Mencoder'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3682231352101819123</id><published>2011-06-27T00:07:00.004+05:30</published><updated>2011-06-28T18:22:22.217+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mencoder'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Video Cutter: Video Cutting using Mencoder</title><content type='html'>I have written a perl script, then can split/cut parts from a video file.&lt;br /&gt;&lt;br /&gt;&lt;pre style="color:#000000;background-color:#ffffff;"&gt;&lt;b&gt;#!/usr/bin/perl -w&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#===============================================================================&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#         FILE:  video_cutter.pl&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#        USAGE:  ./video_cutter.pl [options] &amp;lt;input_video_file&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#  DESCRIPTION:  &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#      OPTIONS:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;# REQUIREMENTS:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#         BUGS:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#        NOTES:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#       AUTHOR:  Mitesh Singh Jat (mitesh), &amp;lt;mitesh[at]yahoo-inc[dot]com&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#      VERSION:  1.0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#      CREATED:  06/26/2011 03:57:55 PM IST&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#     REVISION:  ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#===============================================================================&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;b&gt;strict&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;b&gt;warnings&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;span style="color:#000080;"&gt;Getopt::Std&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sub &lt;/b&gt;&lt;span style="color:#000080;"&gt;usage&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;USAGE: &lt;/span&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; [options] &amp;lt;input_video_file&amp;gt;&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;          -c &amp;lt;conf_file&amp;gt;    default  /base_dir/input_video_file/video_cutter.conf&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;                            Start_time(hh:mm:ss),End_time(hh:mm:ss)&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;          -o &amp;lt;out_dir&amp;gt;      default  /base_dir/input_video_file/&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sub &lt;/b&gt;&lt;span style="color:#000080;"&gt;hms_to_seconds&lt;/span&gt;()&lt;br /&gt;{&lt;br /&gt;   &lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;br /&gt;   &lt;b&gt;my&lt;/b&gt; (&lt;span style="color:#800000;"&gt;$h&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$m&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$s&lt;/span&gt;) = &lt;span style="color:#000080;"&gt;split&lt;/span&gt;(&lt;b&gt;&lt;span style="color:#008000;"&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#008000;"&gt;:&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;/&lt;/span&gt;&lt;/b&gt;, &lt;span style="color:#c00000;"&gt;$_&lt;/span&gt;[&lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;]);&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$s&lt;/span&gt; = &lt;span style="color:#000080;"&gt;defined&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$s&lt;/span&gt;) ? &lt;span style="color:#800000;"&gt;$s&lt;/span&gt; : &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt; += &lt;span style="color:#800000;"&gt;$s&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$m&lt;/span&gt; = &lt;span style="color:#000080;"&gt;defined&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$m&lt;/span&gt;) ? &lt;span style="color:#800000;"&gt;$m&lt;/span&gt; : &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt; += (&lt;span style="color:#0000ff;"&gt;60&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;*&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#800000;"&gt;$m&lt;/span&gt;);&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$h&lt;/span&gt; = &lt;span style="color:#000080;"&gt;defined&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$h&lt;/span&gt;) ? &lt;span style="color:#800000;"&gt;$h&lt;/span&gt; : &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt; += (&lt;span style="color:#0000ff;"&gt;3600&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;*&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#800000;"&gt;$h&lt;/span&gt;);&lt;br /&gt;   &lt;b&gt;return&lt;/b&gt;(&lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;%opts&lt;/span&gt;;&lt;br /&gt;getopt(&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff6c6c;"&gt;o:c:&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;, \&lt;span style="color:#800000;"&gt;%opts&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;b&gt;foreach&lt;/b&gt; &lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$opt&lt;/span&gt; (&lt;span style="color:#000080;"&gt;sort&lt;/span&gt; &lt;span style="color:#000080;"&gt;keys&lt;/span&gt; &lt;span style="color:#800000;"&gt;%opts&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;b&gt;if&lt;/b&gt; (!&lt;span style="color:#000080;"&gt;defined&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$opts&lt;/span&gt;{&lt;span style="color:#800000;"&gt;$opt&lt;/span&gt;}))&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: Requires value for option '&lt;/span&gt;&lt;span style="color:#800000;"&gt;$opt&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;       &amp;amp;usage();&lt;br /&gt;       &lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(-&lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color:#c00000;"&gt;@ARGV&lt;/span&gt; != &lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;   &amp;amp;usage();&lt;br /&gt;   &lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(-&lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$input_video_file&lt;/span&gt; = &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$ARGV&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;[0]&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt; = &lt;b&gt;&lt;span style="color:#008000;"&gt;`&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;dirname &lt;/span&gt;&lt;span style="color:#800000;"&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;`&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;span style="color:#000080;"&gt;chomp&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt;);&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$conf_file&lt;/span&gt; = &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;/video_cutter.conf&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color:#000080;"&gt;defined&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;c&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;}))&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$conf_file&lt;/span&gt; = &lt;span style="color:#800000;"&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;c&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;};&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color:#000080;"&gt;defined&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;o&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;}))&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt; = &lt;span style="color:#800000;"&gt;$opts&lt;/span&gt;{&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;o&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;};&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style="color:#008000;"&gt;-f&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: Input video file '&lt;/span&gt;&lt;span style="color:#800000;"&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt; is not present&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(-&lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style="color:#008000;"&gt;-f&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: split conf file '&lt;/span&gt;&lt;span style="color:#800000;"&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt; is not present&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(-&lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style="color:#008000;"&gt;-d&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: out dir '&lt;/span&gt;&lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt; is not present&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(-&lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style="color:#008000;"&gt;-w&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: out dir '&lt;/span&gt;&lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt; is not writable&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(-&lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$mencoder&lt;/span&gt; = &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;/usr/local/bin/mencoder&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style="color:#008000;"&gt;-x&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#800000;"&gt;$mencoder&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$mencoder&lt;/span&gt; = &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;/usr/bin/mencoder&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;b&gt;&lt;span style="color:#008000;"&gt;-x&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#800000;"&gt;$mencoder&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: please install mencoder&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;sudo apt-get install mencoder&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(-&lt;span style="color:#0000ff;"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000080;"&gt;open&lt;/span&gt;(CFH, &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;) &lt;b&gt;&lt;span style="color:#008000;"&gt;or&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#000080;"&gt;die&lt;/span&gt;(&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: Cannot open '&lt;/span&gt;&lt;span style="color:#800000;"&gt;$conf_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;'&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$line&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$nline&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$split_name&lt;/span&gt; = &lt;b&gt;&lt;span style="color:#008000;"&gt;`&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;basename &lt;/span&gt;&lt;span style="color:#800000;"&gt;$input_video_file&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;`&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;span style="color:#000080;"&gt;chomp&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$split_name&lt;/span&gt;);&lt;br /&gt;&lt;span style="color:#800000;"&gt;$split_name&lt;/span&gt; =~ &lt;b&gt;&lt;span style="color:#008000;"&gt;s/&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#008000;"&gt;\.&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;[^&lt;/span&gt;&lt;span style="color:#008080;"&gt;.&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;]*$&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$split_ext&lt;/span&gt; = &lt;span style="color:#800000;"&gt;$input_video_file&lt;/span&gt;;&lt;br /&gt;&lt;span style="color:#800000;"&gt;$split_ext&lt;/span&gt; =~ &lt;b&gt;&lt;span style="color:#008000;"&gt;s/&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#008000;"&gt;.&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;*&lt;/span&gt;&lt;span style="color:#008000;"&gt;\.&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;([^&lt;/span&gt;&lt;span style="color:#008080;"&gt;.&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;]*)$&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$1&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;/&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$success&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;while&lt;/b&gt; (&lt;span style="color:#800000;"&gt;$line&lt;/span&gt; = &lt;b&gt;&amp;lt;CFH&amp;gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color:#000080;"&gt;chomp&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$line&lt;/span&gt;);&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$nline&lt;/span&gt;++;&lt;br /&gt;   &lt;b&gt;next&lt;/b&gt; &lt;b&gt;if&lt;/b&gt; (&lt;span style="color:#800000;"&gt;$line&lt;/span&gt; =~ &lt;b&gt;&lt;span style="color:#008000;"&gt;m/&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;^&lt;/span&gt;&lt;span style="color:#008000;"&gt;#&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;/&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;   &lt;b&gt;my&lt;/b&gt; (&lt;span style="color:#800000;"&gt;$start_time&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$end_time&lt;/span&gt;) = &lt;span style="color:#000080;"&gt;split&lt;/span&gt;(&lt;b&gt;&lt;span style="color:#008000;"&gt;/&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#008000;"&gt;,&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;/&lt;/span&gt;&lt;/b&gt;, &lt;span style="color:#800000;"&gt;$line&lt;/span&gt;);&lt;br /&gt;   &lt;b&gt;next&lt;/b&gt; &lt;b&gt;if&lt;/b&gt; (!&lt;span style="color:#000080;"&gt;defined&lt;/span&gt;(&lt;span style="color:#800000;"&gt;$end_time&lt;/span&gt;));&lt;br /&gt;   &lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$start_sec&lt;/span&gt; = &amp;amp;hms_to_seconds(&lt;span style="color:#800000;"&gt;$start_time&lt;/span&gt;);&lt;br /&gt;   &lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt; = &amp;amp;hms_to_seconds(&lt;span style="color:#800000;"&gt;$end_time&lt;/span&gt;);&lt;br /&gt;   &lt;b&gt;if&lt;/b&gt; (&lt;span style="color:#800000;"&gt;$start_sec&lt;/span&gt; &amp;gt;= &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt;)&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: &lt;/span&gt;&lt;span style="color:#800000;"&gt;$start_sec&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; &amp;gt;= &lt;/span&gt;&lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;       &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;    &lt;/span&gt;&lt;span style="color:#800000;"&gt;$start_time&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; &amp;gt;= &lt;/span&gt;&lt;span style="color:#800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; ... skipping for line no &lt;/span&gt;&lt;span style="color:#800000;"&gt;$nline&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; ...&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;       &lt;b&gt;next&lt;/b&gt;;&lt;br /&gt;   }&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt; -= &lt;span style="color:#800000;"&gt;$start_sec&lt;/span&gt;;&lt;br /&gt;   &lt;b&gt;my&lt;/b&gt; &lt;span style="color:#800000;"&gt;$cmd&lt;/span&gt; = &lt;span style="color:#000080;"&gt;sprintf&lt;/span&gt;(&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;%s&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; -ss &lt;/span&gt;&lt;span style="color:#800000;"&gt;%d&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; -endpos &lt;/span&gt;&lt;span style="color:#800000;"&gt;%d&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; -ovc copy -oac copy -o &lt;/span&gt;&lt;span style="color:#800000;"&gt;%s&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;%s_%03d&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;.&lt;/span&gt;&lt;span style="color:#800000;"&gt;%s&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;%s&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;,&lt;br /&gt;           &lt;span style="color:#800000;"&gt;$mencoder&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$start_sec&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$end_sec&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$out_dir&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$split_name&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt;,&lt;br /&gt;           &lt;span style="color:#800000;"&gt;$split_ext&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$input_video_file&lt;/span&gt;);&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;-&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt; x &lt;span style="color:#0000ff;"&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$cmd&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   &lt;span style="color:#000080;"&gt;system&lt;/span&gt;(&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#800000;"&gt;$cmd&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;);&lt;br /&gt;   &lt;b&gt;if&lt;/b&gt; (&lt;span style="color:#c00000;"&gt;$?&lt;/span&gt; != &lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;)&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#c00000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: failed to create &lt;/span&gt;&lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; split for line no &lt;/span&gt;&lt;span style="color:#800000;"&gt;$nline&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;       &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDERR &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\t&lt;/span&gt;&lt;span style="color:#800000;"&gt;$cmd&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;   }&lt;br /&gt;   &lt;b&gt;else&lt;/b&gt;&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color:#000080;"&gt;print&lt;/span&gt; STDOUT &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;Created &lt;/span&gt;&lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; split for line &lt;/span&gt;&lt;span style="color:#800000;"&gt;$nline&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;       &lt;span style="color:#800000;"&gt;$success&lt;/span&gt;++;&lt;br /&gt;   }&lt;br /&gt;   &lt;span style="color:#000080;"&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;-&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt; x &lt;span style="color:#0000ff;"&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;   &lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt;++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000080;"&gt;close&lt;/span&gt;(CFH);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000080;"&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;&lt;br /&gt;&lt;span style="color:#000080;"&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt; x &lt;span style="color:#0000ff;"&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;&lt;span style="color:#000080;"&gt;printf&lt;/span&gt;(&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;Total lines = &lt;/span&gt;&lt;span style="color:#800000;"&gt;%d&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;,   Success = &lt;/span&gt;&lt;span style="color:#800000;"&gt;%d&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;%d&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;,  Failure = &lt;/span&gt;&lt;span style="color:#800000;"&gt;%d&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;%d&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;,&lt;br /&gt;       &lt;span style="color:#800000;"&gt;$nline&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$success&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt;,&lt;br /&gt;       &lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt; - &lt;span style="color:#800000;"&gt;$success&lt;/span&gt;, &lt;span style="color:#800000;"&gt;$nsplit&lt;/span&gt;);&lt;br /&gt;&lt;span style="color:#000080;"&gt;print&lt;/span&gt; &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#dd0000;"&gt;=&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt; x &lt;span style="color:#0000ff;"&gt;80&lt;/span&gt; . &lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff00ff;"&gt;\n&lt;/span&gt;&lt;b&gt;&lt;span style="color:#008000;"&gt;"&lt;/span&gt;&lt;/b&gt;;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000080;"&gt;exit&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please place the above perl script (&lt;span style="color: rgb(204, 0, 0);"&gt;video_cutter.pl&lt;/span&gt;) in any directory present in &lt;span style="color: rgb(102, 0, 0);"&gt;$PATH&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(0, 0, 102);"&gt;Sample Run:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Usage of the above script.&lt;br /&gt;&lt;pre&gt;$&lt;span style="color: rgb(0, 102, 0);"&gt; video_cutter.pl &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;USAGE: /home/mitesh/Programming/Perl/WCS/video_cutter.pl [options] &lt;/span&gt;&lt;input_video_file style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;         -c &lt;conf_file&gt;    default  /base_dir/input_video_file/video_cutter.conf&lt;br /&gt;                           Start_time(hh:mm:ss),End_time(hh:mm:ss)&lt;br /&gt;&lt;br /&gt;         -o &lt;out_dir&gt;      default  /base_dir/input_video_file/&lt;br /&gt;&lt;/out_dir&gt;&lt;/conf_file&gt;&lt;/input_video_file&gt;&lt;/pre&gt;&lt;br /&gt;Content of a sample config file, specifying the split timings.&lt;br /&gt;This will create 3 splits, of 0s-90s, 140s-210s, and 240s-End.&lt;br /&gt;&lt;pre&gt;$&lt;span style="color: rgb(0, 102, 0);"&gt; cat test_video.conf &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;00:00:00,00:01:30&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;00:02:20,00:03:30&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;00:04:00,59:59:00&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now, it will create the three split files in ~/Video/test/ directory.&lt;br /&gt;&lt;pre&gt;$ &lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;video_cutter.pl -c test_video.conf -o ~/Video/test test_video.vob &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;/usr/local/bin/mencoder -ss 0 -endpos 90 -ovc copy -oac copy -o /home/mitesh/Video/test/test_video_000.vob test_video.vob&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;MEncoder 1.0rc4-4.4.5 (C) 2000-2010 MPlayer Team&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Created 2 split for line 3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Total lines = 3,   Success = 3/3,  Failure = 0/3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;$ &lt;span style="color: rgb(0, 102, 0);"&gt;ls -l ~/Video/test/*.vob&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;-rw-r--r-- 1 mitesh mitesh   7519672 Jun 27 00:31 /home/mitesh/Video/test/test_video_000.vob&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;-rw-r--r-- 1 mitesh mitesh   5844598 Jun 27 00:31 /home/mitesh/Video/test/test_video_001.vob&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;-rw-r--r-- 1 mitesh mitesh 570855360 Jun 27 00:30 /home/mitesh/Video/test/test_video_002.vob&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3682231352101819123?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3682231352101819123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3682231352101819123' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3682231352101819123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3682231352101819123'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2011/06/video-cutter-video-cutting-using.html' title='Video Cutter: Video Cutting using Mencoder'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2812401085709112559</id><published>2011-05-24T14:11:00.006+05:30</published><updated>2011-05-27T11:58:44.011+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpu'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>CPU Frequency Scaling</title><content type='html'>I have written a small shell script to increase or decrease CPU frequency. By default, it shows current CPU Frequency Scaling Governor. This can be changed only by root user. So this script needs to be run as root user or sudo as root, while changing the CPU Frequency Scaling governor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre  style="color:#000000;background-color:#ffffff;"&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#!/bin/bash&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;available_governors=$(&lt;/span&gt;&lt;b&gt;&lt;span style="color:#cc00cc;"&gt;cat&lt;/span&gt;&lt;/b&gt; /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors \&lt;br /&gt;            &lt;b&gt;|&lt;/b&gt; &lt;b&gt;&lt;span style="color:#cc00cc;"&gt;head&lt;/span&gt;&lt;/b&gt; -1 &lt;b&gt;|&lt;/b&gt; &lt;b&gt;&lt;span style="color:#cc00cc;"&gt;sed&lt;/span&gt;&lt;/b&gt; -e &lt;span style="color:#dd0000;"&gt;'s/ \([a-zA-Z0-9]\)/|\1/g'&lt;/span&gt; -e &lt;span style="color:#dd0000;"&gt;'s/ $//'&lt;/span&gt;&lt;span style="color:#008000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt; [&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008000;"&gt;$#&lt;/span&gt; &lt;span style="color:#008000;"&gt;-ne&lt;/span&gt; 1&lt;b&gt;&lt;span style="color:#880088;"&gt; ]&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;then&lt;/b&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"USAGE: &lt;/span&gt;&lt;span style="color:#008000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt; [&lt;/span&gt;&lt;span style="color:#008000;"&gt;$available_governors&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;]"&lt;/span&gt;&lt;br /&gt;&lt;b&gt;fi&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"Command line to change CPU Scaling."&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"                    - By Mitesh Singh Jat"&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;""&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;## CPU Governor path&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;#/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;function&lt;/b&gt;&lt;b&gt;&lt;span style="color:#ff00ff;"&gt; current_cpu_governor ()&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;{&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; -n &lt;span style="color:#dd0000;"&gt;"Current CPU Scaling Governor is: "&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#008000;"&gt;cpu_scaling_governor=&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"NOT SET"&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;for&lt;/b&gt; governor &lt;b&gt;in&lt;/b&gt; &lt;span style="color:#008000;"&gt;$(&lt;/span&gt;&lt;b&gt;&lt;span style="color:#cc00cc;"&gt;ls&lt;/span&gt;&lt;/b&gt; /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor&lt;span style="color:#008000;"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;do&lt;/b&gt;&lt;br /&gt;       &lt;span style="color:#008000;"&gt;cpu_scaling_governor=$(&lt;/span&gt;&lt;b&gt;&lt;span style="color:#cc00cc;"&gt;cat&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008000;"&gt;$governor)&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;done&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#008000;"&gt;$cpu_scaling_governor&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;current_cpu_governor;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;## Exit, if no governor is provided&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;new_governor=&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;""&lt;/span&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt; [&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008000;"&gt;$#&lt;/span&gt; &lt;span style="color:#008000;"&gt;-eq&lt;/span&gt; 0&lt;b&gt;&lt;span style="color:#880088;"&gt; ]&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;then&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;exit&lt;/span&gt;&lt;/b&gt; 0&lt;br /&gt;&lt;b&gt;else&lt;/b&gt;&lt;br /&gt;   &lt;span style="color:#008000;"&gt;new_governor=&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#008000;"&gt;$1&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;b&gt;fi&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;## Run as root always&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;user_id=&lt;/span&gt;&lt;b&gt;`&lt;/b&gt;&lt;b&gt;&lt;span style="color:#cc00cc;"&gt;whoami&lt;/span&gt;&lt;/b&gt;&lt;b&gt;`&lt;/b&gt;&lt;br /&gt;&lt;b&gt;if [[&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#008000;"&gt;$user_id&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt; &lt;span style="color:#008000;"&gt;!=&lt;/span&gt; &lt;span style="color:#dd0000;"&gt;"root"&lt;/span&gt;&lt;b&gt; ]]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;then&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#008000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: please run this script as root user."&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;exit&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;fi&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt; [&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008000;"&gt;-z&lt;/span&gt; &lt;span style="color:#008000;"&gt;$(&lt;/span&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008000;"&gt;$available_governors&lt;/span&gt; &lt;b&gt;|&lt;/b&gt; &lt;b&gt;&lt;span style="color:#cc00cc;"&gt;sed&lt;/span&gt;&lt;/b&gt; -e &lt;span style="color:#dd0000;"&gt;'s/^/|/'&lt;/span&gt; -e &lt;span style="color:#dd0000;"&gt;'s/$/|/'&lt;/span&gt; &lt;b&gt;|&lt;/b&gt; &lt;b&gt;&lt;span style="color:#cc00cc;"&gt;grep&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"|&lt;/span&gt;&lt;span style="color:#008000;"&gt;$new_governor&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;|"&lt;/span&gt;&lt;span style="color:#008000;"&gt;)&lt;/span&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt; ]&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;then&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"Sorry, this mode '&lt;/span&gt;&lt;span style="color:#008000;"&gt;$new_governor&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;' is not supported."&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;exit&lt;/span&gt;&lt;/b&gt; 1&lt;br /&gt;&lt;b&gt;else&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"Setting CPU into '&lt;/span&gt;&lt;span style="color:#008000;"&gt;$new_governor&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;' Mode..."&lt;/span&gt;&lt;br /&gt;&lt;b&gt;fi&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;## Now set cpu governor to the given mode&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;for&lt;/b&gt; governor &lt;b&gt;in&lt;/b&gt; &lt;span style="color:#008000;"&gt;$(&lt;/span&gt;&lt;b&gt;&lt;span style="color:#cc00cc;"&gt;ls&lt;/span&gt;&lt;/b&gt; /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor&lt;span style="color:#008000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;b&gt;do&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#880088;"&gt;echo&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#008000;"&gt;$new_governor&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt; &lt;b&gt;&lt;span style="color:#223388;"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008000;"&gt;$governor&lt;/span&gt;&lt;br /&gt;&lt;b&gt;done&lt;/b&gt;&lt;br /&gt;current_cpu_governor;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#880088;"&gt;exit&lt;/span&gt;&lt;/b&gt; 0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; &lt;span style="font-style: italic;"&gt;Sample Run &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Getting current CPU Frequency Scaling Governor&lt;br /&gt;$ &lt;span style="color: rgb(0, 102, 0);"&gt;cd /path/where/cpu_scaling.sh/is/copied/&lt;/span&gt;&lt;br /&gt;$&lt;span style="color: rgb(0, 102, 0);"&gt; ./cpu_scaling.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;USAGE: ./cpu_scaling.sh [&lt;/span&gt;&lt;span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;powersave|conservative|ondemand|userspace|performance&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Command line to change CPU Scaling.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;                   - By Mitesh Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Current CPU Scaling Governor is: ondemand&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Increasing CPU frequency (Please run as root).&lt;br /&gt;$&lt;span style="color: rgb(0, 102, 0);"&gt; ./cpu_scaling.sh performance&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Command line to change CPU Scaling.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;                   - By Mitesh Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Current CPU Scaling Governor is: ondemand&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;./cpu_scaling.sh: please run this script as root user.&lt;/span&gt;&lt;br /&gt;$&lt;span style="color: rgb(0, 102, 0);"&gt; sudo ./cpu_scaling.sh &lt;span style="font-weight: bold;"&gt;performance&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;[sudo] password for mitesh:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Command line to change CPU Scaling.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;                   - By Mitesh Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Current CPU Scaling Governor is: ondemand&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Setting CPU into Performance Mode...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Current CPU Scaling Governor is: performance&lt;/span&gt;&lt;br /&gt;$&lt;span style="color: rgb(0, 102, 0);"&gt; ./cpu_scaling.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;USAGE: ./cpu_scaling.sh [powersave|conservative|ondemand|userspace|performance]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Command line to change CPU Scaling.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;                   - By Mitesh Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Current CPU Scaling Governor is: performance&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Decreasing CPU frequency&lt;br /&gt;$&lt;span style="color: rgb(0, 102, 0);"&gt; sudo ./cpu_scaling.sh &lt;span style="font-weight: bold;"&gt;ondemand&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Command line to change CPU Scaling.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;                   - By Mitesh Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Current CPU Scaling Governor is: performance&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Setting CPU into OnDemand Mode...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Current CPU Scaling Governor is: ondemand&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2812401085709112559?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://miteshjlinuxtips.wordpress.com/2011/05/24/cpu-frequency-scaling/' title='CPU Frequency Scaling'/><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2812401085709112559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2812401085709112559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2812401085709112559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2812401085709112559'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2011/05/cpu-frequency-scaling.html' title='CPU Frequency Scaling'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3767889217856307836</id><published>2011-03-11T14:02:00.001+05:30</published><updated>2011-03-11T14:05:46.368+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mplayer'/><title type='text'>Playing only Audio from a Video File</title><content type='html'>If you want to play only audio from a video file (say &lt;em&gt;xyz.avi&lt;/em&gt;),&lt;br /&gt;please provide &lt;strong&gt;-vo null&lt;/strong&gt; in &lt;strong&gt;mplayer&lt;/strong&gt;, given as:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt; $ mplayer -vo null xyz.avi&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3767889217856307836?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://miteshjlinuxtips.wordpress.com/2011/03/11/playing-only-audio-from-a-video-file/' title='Playing only Audio from a Video File'/><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3767889217856307836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3767889217856307836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3767889217856307836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3767889217856307836'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2011/03/playing-only-audio-from-video-file.html' title='Playing only Audio from a Video File'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3937126497194712829</id><published>2011-03-09T13:56:00.002+05:30</published><updated>2011-03-09T14:09:35.581+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='fstab'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mount'/><title type='text'>Speeding up Disk Performance</title><content type='html'>We can increase Hard Disk performance by ~40%, and decrease power consumption by Hard Disk, if we provide "&lt;em&gt;noatime,nodiratime&lt;/em&gt;" options during partition mounting. Actually what happens is: whenever a file/directory is accessed, its &lt;em&gt;atime&lt;/em&gt; "access time" is updated with &lt;b&gt;epoch&lt;/b&gt;. These two options prevent these not-so-useful disk accesses. Hence&lt;br /&gt;performance improvement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The sample mount point (&lt;em&gt;/home&lt;/em&gt;) entry in &lt;em&gt;/etc/fstab&lt;/em&gt; may look like:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;verbatim&gt;&lt;br /&gt;$ &lt;span style="color: rgb(0, 102, 0);"&gt;cat /etc/fstab | grep home&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;/dev/sda2 /home           ext3    defaults,noatime,nodiratime        0       0&lt;/span&gt;&lt;br /&gt;&lt;/verbatim&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3937126497194712829?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3937126497194712829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3937126497194712829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3937126497194712829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3937126497194712829'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2011/03/speeding-up-disk-performance.html' title='Speeding up Disk Performance'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-776958537198656891</id><published>2011-02-24T10:49:00.003+05:30</published><updated>2011-02-24T11:11:52.664+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GRUB'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Debian'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><title type='text'>Windows XP in Grub 2</title><content type='html'>When I installed Debian 6.0 (Squeeze) on my laptop, I found that Debian Installer had not added Windows XP entry in the GRUB 2. You might also face same issue, then you can add following lines in &lt;em&gt;/boot/grub/grub.cfg &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;## (1) Windows XP in /dev/sda1&lt;br /&gt;menuentry "Windows XP" {&lt;br /&gt;    set root=(hd0,1)&lt;br /&gt;    chainloader +1&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here are few tips how to set &lt;b&gt;root&lt;/b&gt; in the grub.cfg&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;# DEVICE NAME CONVERSIONS&lt;br /&gt;#&lt;br /&gt;#  Linux           Grub&lt;br /&gt;# -------------------------&lt;br /&gt;#  /dev/fd0        (fd0)&lt;br /&gt;#  /dev/sda        (hd0)&lt;br /&gt;#  /dev/sdb2       (hd1,2)&lt;br /&gt;#  /dev/sda3       (hd0,3)&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-776958537198656891?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/776958537198656891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=776958537198656891' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/776958537198656891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/776958537198656891'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2011/02/windows-xp-in-grub-2.html' title='Windows XP in Grub 2'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-538781522913719993</id><published>2010-02-02T20:56:00.001+05:30</published><updated>2010-02-02T20:59:33.378+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='apt'/><category scheme='http://www.blogger.com/atom/ns#' term='Debian'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Cleaning of Temporary Install Files in Ubuntu/Debian</title><content type='html'>Cleaning of Temporary Install Files in Ubuntu/Debian can be done by giving&lt;br /&gt;following commands:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo apt-get autoclean; sudo apt-get autoremove&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-538781522913719993?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/538781522913719993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=538781522913719993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/538781522913719993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/538781522913719993'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2010/02/cleaning-of-temporary-install-files-in.html' title='Cleaning of Temporary Install Files in Ubuntu/Debian'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-4344965141121441602</id><published>2009-12-15T16:50:00.001+05:30</published><updated>2009-12-15T16:56:33.316+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GRUB'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><title type='text'>How to change boot order in GRUB2?</title><content type='html'>With Ubuntu 9.10 (Karmic Koala), GRUB2 is the default boot loader.&lt;br /&gt;How to change boot order in GRUB2?&lt;br /&gt;&lt;br /&gt;1.&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);font-size:10pt;" &gt;$ cat /etc/grub/grub.cfg &lt;/span&gt;&lt;br /&gt;see the order of the wanted kernel. Starts from 0.&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);font-size:10pt;" &gt;$ vi /etc/default/grub &lt;/span&gt;&lt;br /&gt;change GRUB_DEFAULT=0 value to wanted kernel&lt;br /&gt;&lt;br /&gt;3. run&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);font-size:10pt;" &gt;$ update-grub &lt;/span&gt;&lt;br /&gt;to update&lt;br /&gt;&lt;br /&gt;4. reboot and check with&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:10pt;" &gt;$ uname -r &lt;/span&gt;&lt;br /&gt;to see if correct kernel selected.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-4344965141121441602?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/4344965141121441602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=4344965141121441602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4344965141121441602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4344965141121441602'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/12/how-to-change-boot-order-in-grub2.html' title='How to change boot order in GRUB2?'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6442384343377031849</id><published>2009-12-07T12:34:00.002+05:30</published><updated>2009-12-07T12:39:18.957+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><title type='text'>Find Biggest Files/Directories</title><content type='html'>&lt;font face="Bitstream Vera Sans"&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Since &lt;i&gt;&lt;b&gt;ls &lt;/b&gt;&lt;/i&gt;does not give correct size on disk, better to&lt;br /&gt;use &lt;i&gt;&lt;b&gt;du&lt;/b&gt;&lt;/i&gt; command.&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#006600"&gt;&lt;tt&gt;$ du /path/to/dir | sort -nr&lt;br&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/font&gt;&lt;font color="#006600"&gt;&lt;font color="#000000"&gt;I hope above&lt;br /&gt;command will give you the proper result you wanted.&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Note: The above command may take large time, depending on&lt;br&gt;&lt;br /&gt;number of files in &lt;b&gt;/path/to/dir&lt;/b&gt; . You can use depth(say 2) in&lt;br /&gt;that dir.&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#006600"&gt;&lt;tt&gt;$ du --max-depth=2 /path/to/dir | sort -nr&lt;/tt&gt;&lt;/font&gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6442384343377031849?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6442384343377031849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6442384343377031849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6442384343377031849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6442384343377031849'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/12/find-biggest-filesdirectories.html' title='Find Biggest Files/Directories'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-5681568232187560395</id><published>2009-11-17T17:23:00.002+05:30</published><updated>2009-11-17T17:34:32.766+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>Newer Yahoo! Messenger Protocol on Pidgin on Debian Lenny 5.0</title><content type='html'>Yahoo! has changed authentication method of Yahoo! messenger protocol, which is not supported in Pidgin (Version &lt;&gt;= 2.5.7) supports newer Yahoo! Messenger Protocol. But Debian 5.0 Lenny repository has older pidgin (2.4.3). We can install newer pidgin, in the following steps:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;## download latest pidgin from pidgin.im (at this time 2.6.3 is latest)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ wget http://sourceforge.net/projects/pidgin/files/Pidgin/pidgin-2.6.3.tar.bz2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;## extract files using &lt;a href="http://miteshjlinuxtips.wordpress.com/2008/05/07/creation-of-tar-and-compressed-file-tar-ball-in-one-go/"&gt;tar&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ tar -zxvf pidgin-2.6.3.tar.bz2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ cd pidgin-2.6.3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;## Configure, Compile, and make&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./configure --disable-screensaver --disable-vv --disable-avahi --disable-tcl --disable-tk --prefix=/usr &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ make&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo make install&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now you can use newer pidgin with newer Yahoo! Messenger. :) &lt;br /&gt;Enjoy Yahoo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-5681568232187560395?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/5681568232187560395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=5681568232187560395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5681568232187560395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5681568232187560395'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/11/newer-yahoo-messenger-protocol-on.html' title='Newer Yahoo! Messenger Protocol on Pidgin on Debian Lenny 5.0'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3511040390712294312</id><published>2009-11-17T11:40:00.002+05:30</published><updated>2009-11-17T11:50:06.313+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Find Files Created Between 2 Times</title><content type='html'>In order to find files created between two times (start hour and end hour). The required hours are hours from current time. For example,&lt;br /&gt;&lt;br /&gt;Current time           = 2 PM  = 14:00&lt;br /&gt;&lt;br /&gt;If you want file created between 9 AM and 12 PM today, the start hour and end hour are:&lt;br /&gt;&lt;br /&gt;Start Hour               = (14 - 9)  = 5&lt;br /&gt;End Hour                 = (14 - 12) = 2&lt;br /&gt;&lt;br /&gt;Hence required command is:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ &lt;span style="color: rgb(0, 102, 0);"&gt; ./find_files_between_times.pl /path/to/dir 5 2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The Perl script which does this is given below:-&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;#!/usr/bin/perl -w&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#===============================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#         FILE:  find_files_between_times.pl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#        USAGE:  ./find_files_between_times.pl &amp;lt;dir&amp;gt; &amp;lt;start_hour&amp;gt; &amp;lt;end_hour&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#  DESCRIPTION:  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#      OPTIONS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# REQUIREMENTS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#         BUGS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#        NOTES:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#       AUTHOR:  Mitesh Singh Jat (mitesh), &amp;lt;mitesh[at]yahoo-inc[dot]com&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#      COMPANY:  Yahoo Inc, India&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#      VERSION:  1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#      CREATED:  11/13/2009 10:00:02 PM IST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#     REVISION:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#===============================================================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;use&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;strict&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;use&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;warnings&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #c00000;"&gt;@ARGV&lt;/span&gt;&lt;span style="color: #000000;"&gt; != &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #000080;"&gt;print&lt;/span&gt;&lt;span style="color: #000000;"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;Usage: &lt;/span&gt;&lt;span style="color: #c00000;"&gt;$0&lt;/span&gt;&lt;span style="color: #dd0000;"&gt; &amp;lt;dir&amp;gt; &amp;lt;start_hour&amp;gt; &amp;lt;end_hour&amp;gt;&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #000080;"&gt;exit&lt;/span&gt;&lt;span style="color: #000000;"&gt;(-&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;my&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;$dir&lt;/span&gt;&lt;span style="color: #000000;"&gt; = &lt;/span&gt;&lt;span style="color: #c00000;"&gt;$ARGV&lt;/span&gt;&lt;span style="color: #000000;"&gt;[&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;## Calculate current_hour - given_hour&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#my $start_time = `/bin/date "+\%H"`;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;my&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;$start_time&lt;/span&gt;&lt;span style="color: #000000;"&gt; = &lt;/span&gt;&lt;span style="color: #c00000;"&gt;$ARGV&lt;/span&gt;&lt;span style="color: #000000;"&gt;[&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#chomp($start_time);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;my&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color: #000000;"&gt; = &lt;/span&gt;&lt;span style="color: #c00000;"&gt;$ARGV&lt;/span&gt;&lt;span style="color: #000000;"&gt;[&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color: #000000;"&gt; = &lt;/span&gt;&lt;span style="color: #000080;"&gt;time&lt;/span&gt;&lt;span style="color: #000000;"&gt; - (&lt;/span&gt;&lt;span style="color: #800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;60&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;60&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#$end_time = $start_time - $end_time;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#$start_time = $start_time - $ARGV[0];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800000;"&gt;$start_time&lt;/span&gt;&lt;span style="color: #000000;"&gt; &amp;gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    (&lt;/span&gt;&lt;span style="color: #800000;"&gt;$start_time&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color: #000000;"&gt;) = (&lt;/span&gt;&lt;span style="color: #800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;$start_time&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;my&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;$cmd&lt;/span&gt;&lt;span style="color: #000000;"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;find &lt;/span&gt;&lt;span style="color: #800000;"&gt;$dir&lt;/span&gt;&lt;span style="color: #dd0000;"&gt; -ctime -&lt;/span&gt;&lt;span style="color: #800000;"&gt;$start_time&lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000080;"&gt;print&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;Running &lt;/span&gt;&lt;span style="color: #800000;"&gt;$cmd&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;my&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;@files&lt;/span&gt;&lt;span style="color: #000000;"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;`&lt;/span&gt;&lt;span style="color: #800000;"&gt;$cmd&lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;`&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;my&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;$file&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800000;"&gt;@files&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# (`find $dir -ctime $start_time`)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #000080;"&gt;chomp&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #800000;"&gt;$file&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;my&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800000;"&gt;$dev&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$ino&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$mode&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$nlink&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$uid&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$gid&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$rdev&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$size&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;                           &lt;/span&gt;&lt;span style="color: #800000;"&gt;$atime&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$mtime&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$ctime&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$blksize&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;$blocks&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        = &lt;/span&gt;&lt;span style="color: #000080;"&gt;stat&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #800000;"&gt;$file&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800000;"&gt;$ctime&lt;/span&gt;&lt;span style="color: #000000;"&gt; &amp;gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;$end_time&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;next&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #000080;"&gt;print&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;$file&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000080;"&gt;exit&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3511040390712294312?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3511040390712294312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3511040390712294312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3511040390712294312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3511040390712294312'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/11/find-files-created-between-2-times.html' title='Find Files Created Between 2 Times'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-1498943760733791223</id><published>2009-10-26T19:29:00.004+05:30</published><updated>2009-10-26T19:41:37.938+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='bashrc'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='bc'/><title type='text'>Better Console Calculator Using bc</title><content type='html'>If we use &lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;expr&lt;/span&gt; for mathematical calculations on console (terminal), it is frustrating, and hard to remember syntax and escape sequences used in &lt;span style="color: rgb(0, 0, 153);"&gt;expr&lt;/span&gt;. :( This small tip will help us.&lt;br /&gt;&lt;br /&gt;Just add following line in your &lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 153);"&gt;.bashrc&lt;/span&gt; file (&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 153);"&gt;~/.bashrc&lt;/span&gt;).&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;function&lt;/span&gt; calc&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;echo&lt;/span&gt; "${1}" | bc -l;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then update the shell environment by:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ source ~/.bashrc&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;"calc" from the shell will work as follows:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ calc 2+3&lt;/span&gt;&lt;br /&gt;5&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ calc 1+2*3&lt;/span&gt;&lt;br /&gt;7&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ calc 1.1*2&lt;/span&gt;&lt;br /&gt;2.2&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ calc "(1+2)*3"&lt;/span&gt;&lt;br /&gt;9&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ calc "(1+2)^3"&lt;/span&gt;&lt;br /&gt;27&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ calc "s(.5)"&lt;/span&gt;&lt;br /&gt;.47942553860420300027&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-1498943760733791223?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/1498943760733791223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=1498943760733791223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1498943760733791223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1498943760733791223'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/10/better-console-calculator-using-bc.html' title='Better Console Calculator Using bc'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8377641189854775099</id><published>2009-10-23T09:28:00.002+05:30</published><updated>2009-10-23T09:45:00.690+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='telnet'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Checking Network Services Using Telnet</title><content type='html'>Suppose we want to check whether the web server(port 80) or any other network service is running or not, but we do not have any browsers (lynx, Firefox, IE, Netscape, ...), then there is a simple way of doing that. Just telnet to that machine on the http port (port no. 80 in general).&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ telnet &amp;lt;ip_addr&amp;gt; &amp;lt;port_no&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And then, give command "&lt;span style="color:#009900;"&gt;get /&lt;/span&gt;" (without quotes). If the webserver is running, it displays the HTML script of the homepage or basic info and closes the connection to the remote host.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ telnet wordpress.com 80 &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;code&gt;Trying 76.74.254.126...&lt;br /&gt;Connected to wordpress.com.&lt;br /&gt;Escape character is '^]'.&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;get /&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;code&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;400 Bad Request&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body bgcolor="white"&amp;gt;&lt;br /&gt;&amp;lt;center&amp;gt;&amp;lt;h1&amp;gt;400 Bad Request&amp;lt;/h1&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;&amp;lt;hr&amp;gt;&amp;lt;center&amp;gt;nginx&amp;lt;/center&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;Connection closed by foreign host.&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8377641189854775099?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8377641189854775099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8377641189854775099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8377641189854775099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8377641189854775099'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/10/checking-network-services-using-telnet.html' title='Checking Network Services Using Telnet'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8872756436446169099</id><published>2009-10-20T12:33:00.002+05:30</published><updated>2009-10-20T12:39:53.683+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mplayer'/><title type='text'>Joining Multiple Videos into One Using Mplayer</title><content type='html'>In order to join multiple video files, into a single video file, you just need to issue following command:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ mencoder -oac copy -ovc copy -o joined_single_video.avi video1.avi video2.avi video3.avi&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Even you can use wild cards (*, ?) too.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ mencoder -oac copy -ovc copy -o joined_single_video.avi video*.avi&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;PS.&lt;/span&gt; In place of 'avi', you can give whatever file format is available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8872756436446169099?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8872756436446169099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8872756436446169099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8872756436446169099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8872756436446169099'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/10/joining-multiple-videos-into-one-using.html' title='Joining Multiple Videos into One Using Mplayer'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8618753836494377242</id><published>2009-10-05T14:41:00.002+05:30</published><updated>2009-10-05T14:53:06.494+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Converting Improper mp3 into Proper mp3 for Nokia E71</title><content type='html'>The music player of Nokia E71 is vulnerable to improper mp3. It stucks forever, even if there is a single improper mp3. Improper mp3 is a mp3 file which does not conform to mp3 standard, there are some problem in mp3 headers. For more information on improper mp3, please read manual of &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;checkmp3 &lt;/span&gt;command.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ man checkmp3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have written a shell script which converts improper mp3's into proper mp3.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;## Script to fix mp3 files using checkmp3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;## Checking existance of checkmp3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;checkmp3=&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;which&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; checkmp3&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if [[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$checkmp3&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; == &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt; ]]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: please install checkmp3."&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$#&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -ne 1&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"USAGE: &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &amp;lt;mp3_file|dir_with_mp3s&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;dir=&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$1&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;file=&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if [[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -d &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt; ]]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"processing directory '&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;temp_file=&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;/fixed.mp3"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;in&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;find&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -iname &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"*.mp3"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;|&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;sed&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'s/ /\\\_/g'&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;file=&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;|&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;sed&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'s/\\\_/ /g'&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"processing file '&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$checkmp3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -i -sf &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(34, 51, 136);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -ne 0&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: error in processing file '&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#eyeD3 "$temp_file"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#$checkmp3 "$temp_file"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;mv&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;rm&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -f &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;file=&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"processing file '&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;dir=&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;dirname&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;temp_file=&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;/fixed.mp3"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$checkmp3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -i -sf &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(34, 51, 136);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -ne 0&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: error in processing file '&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#eyeD3 "$temp_file"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#$checkmp3 "$temp_file"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;mv&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Sample run:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./fix_mp3.sh xyz.mp3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./fix_mp3.sh /path/to/mp3/directory/&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8618753836494377242?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8618753836494377242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8618753836494377242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8618753836494377242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8618753836494377242'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/10/converting-improper-mp3-into-proper-mp3.html' title='Converting Improper mp3 into Proper mp3 for Nokia E71'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6192536210844310914</id><published>2009-09-30T12:23:00.005+05:30</published><updated>2009-09-30T12:39:17.787+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ifcfg-eth0'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='ifconfig'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethernet'/><title type='text'>How to Change MAC Address</title><content type='html'>Changing MAC address of a machine is called spoofing a MAC address or faking a MAC address. In linux, you can &lt;b&gt;change MAC address&lt;/b&gt; of your machine. This is how it is done.&lt;br /&gt;&lt;br /&gt;First find the physical MAC address of your machine by running the following command :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;pre&gt;$ &lt;span style="color: rgb(0, 102, 0);"&gt;ifconfig -a | grep HWaddr&lt;/span&gt;&lt;br /&gt;eth0  Link encap:Ethernet HWaddr &lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;00:1f:f3:cc:c2:f9&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The hexadecimal numbers in &lt;span style="color:blue;"&gt;blue&lt;/span&gt; denote my machine's MAC address. Yours will be different.&lt;br /&gt;&lt;br /&gt;Next, login as root in Linux and enter the following commands -&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;# &lt;span style="color: rgb(0, 102, 0);"&gt;ifconfig eth0 down&lt;/span&gt;&lt;br /&gt;# &lt;span style="color: rgb(0, 102, 0);"&gt;ifconfig eth0 hw ether&lt;/span&gt; &lt;span style="color:blue;"&gt;00:11:22:33:44:55&lt;/span&gt;&lt;br /&gt;#&lt;span style="color: rgb(0, 102, 0);"&gt; ifconfig eth0 up&lt;/span&gt;&lt;br /&gt;# &lt;span style="color: rgb(0, 102, 0);"&gt;ifconfig eth0 | grep HWaddr&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note above that I have changed the MAC address to a different number highlighted in blue.&lt;span style="color:blue;"&gt;&lt;span style="font-family:monospace;"&gt; &lt;/span&gt;00:11:22:33:44:55&lt;/span&gt;&lt;span style="font-family:monospace;"&gt; &lt;/span&gt;&lt;code&gt;&lt;/code&gt; is the new MAC address I have provided for my Linux machine. You can choose any 48 bits hexadecimal address as your MAC address.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6192536210844310914?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6192536210844310914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6192536210844310914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6192536210844310914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6192536210844310914'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/09/how-to-change-mac-address.html' title='How to Change MAC Address'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-5971530850797129629</id><published>2009-09-10T14:54:00.003+05:30</published><updated>2009-09-10T15:13:07.676+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='synaptics'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Disabling Macbook Pro Touchpad</title><content type='html'>We may want to disable Macbook Pro (or any other Laptop) Touchpad, such cases are:&lt;br /&gt;(i)  We have connected a USB mouse, so we do not want to use touchpad for now.&lt;br /&gt;(ii) While typing, there is no use of touchpad, if touchpad is too sensitive, the cursor keeps on jumping due to slight touch of palm or finger.&lt;br /&gt;&lt;br /&gt;I have written a script to disable/enable touchpad (which is using synaptics driver).&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;## Disable touchpad if USB Mouse is attached&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;SYNAPTICS=&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;which&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; synclient&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if [[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$SYNAPTICS&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; == &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt; ]]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: please install synaptics touchpad driver."&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Also make sure that 'Option         &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;\"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;SHMConfig&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;\"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;\"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;on&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;\"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;" is added in Touchpad device Section in /etc/X11/xorg.conf"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;USB_mouse_present=&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;grep&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -ic &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"usb.*mouse"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; /proc/bus/input/devices&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# if no USB Mouse; enable touchpad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$USB_mouse_present&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -eq 0&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$SYNAPTICS&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;TouchpadOff=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$SYNAPTICS&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;TouchpadOff=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# if any parameter [on|off] is given, override previous command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$#&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -ge 1&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$1&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"on"&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$SYNAPTICS&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;TouchpadOff=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$SYNAPTICS&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;TouchpadOff=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 0&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;Sample Run:&lt;/span&gt;&lt;br /&gt;Turn on touchpad&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./touchpad.sh on&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Turn off touchpad&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./touchpad.sh off&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;If we have plugged USB mouse, then just give following command&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./touchpad.sh&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;On removing USB mouse, give following, the touchpad will be enabled automatically. :)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./touchpad.sh&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;PS: The configuration for synaptics driver can be referred from &lt;a href="http://miteshjlinuxtips.wordpress.com/2009/05/22/macbook-pro-touchpad-synaptics-configuration-in-xorg-conf/"&gt;here&lt;/a&gt; or &lt;a href="http://miteshj-linux-tips.blogspot.com/2009/05/macbook-pro-touchpad-synaptics.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-5971530850797129629?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/5971530850797129629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=5971530850797129629' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5971530850797129629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5971530850797129629'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/09/disabling-macbook-pro-touchpad.html' title='Disabling Macbook Pro Touchpad'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-4716669331081372293</id><published>2009-09-04T12:21:00.002+05:30</published><updated>2009-09-04T12:49:45.945+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='NAT'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='eth0'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='Masquerade'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethernet'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>IP Masquerade and Network Address Translation (NAT)</title><content type='html'>&lt;p&gt;If we want to connect multiple computers to the Internet using single public IP Address, Masquerading (A form of NATing) helps us.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;NAT describes the process of modifying the network  addresses contained with datagram headers while they are in transit. IP masquerade  is the name given to one type of network address translation that allows all of the hosts on a private network to use the Internet at the price of a single IP address.&lt;/p&gt;&lt;p&gt;  IP masquerading allows you to use a private (reserved) IP network address on your LAN and have your Linux-based router perform some clever, real-time translation of IP addresses and ports. When it receives a datagram from a computer on the LAN, it takes note of the type of datagram it is, “TCP,” “UDP,” “ICMP,” etc., and modifies the datagram so that it looks like it was generated by the router machine itself (and remembers that it has done so). It then transmits the datagram onto the Internet with its single connected IP address. When the destination host receives this datagram, it believes the datagram has come from the routing host and sends any reply datagrams back to that address.  When the Linux masquerade router receives a datagram from its Internet connection, it looks in its table of established masqueraded connections to see if this datagram actually belongs to a computer on the LAN, and if it does, it reverses the modification it did on the forward path and transmits the datagram to the LAN computer.&lt;/p&gt;&lt;p&gt;I have written a shell script, which converts a Linux box into a router. The script is written as:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#!/bin/bash&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;## Output interface: connected to Internet&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;out_iface=&lt;/span&gt;ppp0&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;## Run as root always&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;user_id=&lt;/span&gt;&lt;b&gt;`&lt;/b&gt;&lt;span style="color: rgb(204, 0, 204);"&gt;&lt;b&gt;whoami&lt;/b&gt;&lt;/span&gt;&lt;b&gt;`&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if [[&lt;/b&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$user_id&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;!=&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"root"&lt;/span&gt;&lt;b&gt; ]]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;then&lt;/b&gt;&lt;br /&gt;   &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: please run this script as root user."&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;exit&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;fi&lt;/b&gt;   &lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;## Checking existance of iptables&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;IPTABLES=&lt;/span&gt;&lt;b&gt;`&lt;/b&gt;&lt;span style="color: rgb(204, 0, 204);"&gt;&lt;b&gt;which&lt;/b&gt;&lt;/span&gt; iptables&lt;b&gt;`&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;if [[&lt;/b&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$IPTABLES&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;==&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;b&gt; ]]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;then&lt;/b&gt;&lt;br /&gt;   &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: please install iptables."&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;exit&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;fi&lt;/b&gt;   &lt;br /&gt;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt;&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; [&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;$#&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;-ge&lt;/span&gt; 1&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; ]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;then&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;case&lt;/b&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$1&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;b&gt; in&lt;/b&gt;&lt;br /&gt;       status&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 128, 0);"&gt;$IPTABLES&lt;/span&gt; -t nat -L&lt;br /&gt;           &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;exit&lt;/b&gt;&lt;/span&gt; 0&lt;br /&gt;           &lt;b&gt;;;&lt;/b&gt;&lt;br /&gt;       stop&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;## Disabling Packet forwarding in kernel&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/span&gt; 0 &lt;span style="color: rgb(34, 51, 136);"&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;           &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"Flushing NAT MASQUERADE Entries"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 128, 0);"&gt;$IPTABLES&lt;/span&gt; -t nat -F&lt;br /&gt;           &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;exit&lt;/b&gt;&lt;/span&gt; 0&lt;br /&gt;           &lt;b&gt;;;&lt;/b&gt;&lt;br /&gt;       restart&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt; stop&lt;br /&gt;           &lt;b&gt;if&lt;/b&gt;&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; [&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;$#&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;-ge&lt;/span&gt; 2&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; ]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;           &lt;b&gt;then&lt;/b&gt;&lt;br /&gt;               &lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt; start &lt;span style="color: rgb(0, 128, 0);"&gt;$2&lt;/span&gt;&lt;br /&gt;           &lt;b&gt;else&lt;/b&gt;   &lt;br /&gt;               &lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt; start&lt;br /&gt;           &lt;b&gt;fi&lt;/b&gt;   &lt;br /&gt;           &lt;b&gt;;;&lt;/b&gt;&lt;br /&gt;       start&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;           &lt;b&gt;if&lt;/b&gt;&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; [&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;$#&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;-ge&lt;/span&gt; 2&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; ]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;           &lt;b&gt;then&lt;/b&gt;&lt;br /&gt;               &lt;span style="color: rgb(0, 128, 0);"&gt;out_iface=$2&lt;/span&gt;&lt;br /&gt;           &lt;b&gt;fi&lt;/b&gt;   &lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;## Enabling Packet forwarding in kernel&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/span&gt; 1 &lt;span style="color: rgb(34, 51, 136);"&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;## Enabling NAT Masquerade, if not enabled&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;           &lt;b&gt;if&lt;/b&gt;&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; [&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;-z&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;b&gt;`&lt;/b&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$IPTABLES&lt;/span&gt; -t nat -L &lt;b&gt;|&lt;/b&gt; &lt;span style="color: rgb(204, 0, 204);"&gt;&lt;b&gt;grep&lt;/b&gt;&lt;/span&gt; MASQUERADE&lt;b&gt;`&lt;/b&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt; ]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;           &lt;b&gt;then&lt;/b&gt;&lt;br /&gt;              &lt;br /&gt;               &lt;span style="color: rgb(0, 128, 0);"&gt;$IPTABLES&lt;/span&gt; -t nat -A POSTROUTING -o &lt;span style="color: rgb(0, 128, 0);"&gt;$out_iface&lt;/span&gt; -j MASQUERADE&lt;br /&gt;           &lt;b&gt;fi&lt;/b&gt;   &lt;br /&gt;           &lt;b&gt;;;&lt;/b&gt;&lt;br /&gt;       *&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;           &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"USAGE: &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &amp;lt;start|status|restart|stop&amp;gt; [internet_interface]"&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;exit&lt;/b&gt;&lt;/span&gt; 1&lt;br /&gt;           &lt;b&gt;;;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;esac&lt;/b&gt;           &lt;br /&gt;&lt;b&gt;else&lt;/b&gt;   &lt;br /&gt;   &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(221, 0, 0);"&gt;"USAGE: &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &amp;lt;start|status|restart|stop&amp;gt; [internet_interface]"&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;exit&lt;/b&gt;&lt;/span&gt; 1&lt;br /&gt;&lt;b&gt;fi&lt;/b&gt;   &lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(136, 0, 136);"&gt;&lt;b&gt;exit&lt;/b&gt;&lt;/span&gt; 0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sample Runs:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./NAT_Masquerade.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;./NAT_Masquerade.sh: please run this script as root user.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo ./NAT_Masquerade.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;USAGE: ./NAT_Masquerade.sh &lt;/span&gt;&lt;start|status|restart|stop&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; [internet_interface]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$&lt;/span&gt;&lt;br /&gt;Here, internet_interface is the interface which is connected to internet.&lt;br /&gt;By default, ppp0 (Dial up) interface is taken.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo ./NAT_Masquerade.sh status&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Chain PREROUTING (policy ACCEPT)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;target     prot opt source               destination&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Chain POSTROUTING (policy ACCEPT)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;target     prot opt source               destination&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Chain OUTPUT (policy ACCEPT)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;target     prot opt source               destination&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$&lt;/span&gt;&lt;br /&gt;Since Masquerade is not yet applied, Chain POSTROUTING rule is empty.&lt;br /&gt;&lt;br /&gt;Applying IP Masquerade to internet_interface &lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 153);"&gt;eth0&lt;/span&gt;.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;$ sudo ./NAT_Masquerade.sh start eth0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo ./NAT_Masquerade.sh status&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Chain PREROUTING (policy ACCEPT)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;target     prot opt source               destination&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Chain POSTROUTING (policy ACCEPT)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;target     prot opt source               destination&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;MASQUERADE  all  --  anywhere             anywhere&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Chain OUTPUT (policy ACCEPT)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;target     prot opt source               destination&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo ./NAT_Masquerade.sh stop&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Flushing NAT MASQUERADE Entries&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/start|status|restart|stop&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-4716669331081372293?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/4716669331081372293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=4716669331081372293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4716669331081372293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4716669331081372293'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/09/ip-masquerade-and-network-address.html' title='IP Masquerade and Network Address Translation (NAT)'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2341686923538195266</id><published>2009-08-31T11:33:00.003+05:30</published><updated>2009-08-31T11:41:42.617+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='eth0'/><category scheme='http://www.blogger.com/atom/ns#' term='DHCP'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethernet'/><category scheme='http://www.blogger.com/atom/ns#' term='Debian'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Fixing Wired Network (eth0) Ethernet</title><content type='html'>While using Debian based systems(like Ubuntu), I often found that network manager just got into the way whenever I wanted to fix an internet connection. So, first thing to do is to kill the associated processes (&lt;span style="color: rgb(0, 102, 0);"&gt;kill -9&lt;/span&gt;) after you find the process ID by using &lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;ps&lt;/span&gt;. Or you can totally get rid of these packages (usually network-manager, &lt;span style="color: rgb(0, 102, 0);"&gt;network-manager-gnome&lt;/span&gt;  in GNOME or  &lt;span style="color: rgb(0, 102, 0);"&gt;knetworkmanager&lt;/span&gt;  in KDE).&lt;br /&gt;&lt;br /&gt;Then, edit &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;/etc/network/interfaces&lt;/span&gt; file.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo vi /etc/network/interface&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;auto eth0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;iface eth0 inet dhcp&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;again assuming that we want to have a DHCP based connection.&lt;br /&gt;&lt;br /&gt;Then restart the network connection by issuing the following command:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo /etc/init.d/networking restart &lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2341686923538195266?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2341686923538195266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2341686923538195266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2341686923538195266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2341686923538195266'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/08/fixing-wired-network-eth0-ethernet.html' title='Fixing Wired Network (eth0) Ethernet'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6808878105321928535</id><published>2009-08-14T10:32:00.004+05:30</published><updated>2009-08-14T10:41:50.802+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpuinfo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Determining Bits of CPU and OS (32/64-bits)</title><content type='html'>In order to determine whether OS/CPU is 32-bit or 64-bit,&lt;br /&gt;you can use this shell script.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -n &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Running "&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;RES=&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;uname&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -a &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;|&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;grep&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 64&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -eq 0&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -n &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"64-bit "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -n &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"32-bit "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -n &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"operating system on a "&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;RES=&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;cat&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; /proc/cpuinfo &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;|&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);"&gt;grep&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;" lm "&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$?&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -eq 0&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt; ]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -n &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"64-bit "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -n &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"32-bit "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"machine"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sample Run:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./os_cpu.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;Running 64-bit operating system on a 64-bit machine&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6808878105321928535?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6808878105321928535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6808878105321928535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6808878105321928535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6808878105321928535'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/08/determining-bits-of-cpu-and-os.html' title='Determining Bits of CPU and OS (32/64-bits)'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6958166039767310752</id><published>2009-08-05T10:07:00.003+05:30</published><updated>2009-08-05T10:14:06.671+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='espeak'/><category scheme='http://www.blogger.com/atom/ns#' term='time'/><category scheme='http://www.blogger.com/atom/ns#' term='date'/><title type='text'>Let Linux Speak Time and Day for You</title><content type='html'>I have written a single line command that tells time of the day:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;span style="color:#006600;"&gt;$ espeak "Time is `/bin/date \"+%H&lt;br /&gt;hours %M minutes %S seconds\"`"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tt&gt;You need not to type this command every time, just run the&lt;br /&gt;&lt;br /&gt;following commands only one time:&lt;tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ echo "alias speak_time='espeak \"Time is \`/bin/date \"+%H hours %M minutes %S seconds\"\`\"'" &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#006600;"&gt;$ source ~/.bashrc&lt;/span&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, you will be able to run &lt;i&gt;speak_time&lt;/i&gt; any number of time at any time, and you will get exact time. &lt;span class="moz-smiley-s1"&gt;&lt;span&gt; :-) &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ speak_time&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;PS&lt;/span&gt;: Requirement of above command is &lt;i&gt;"espeak"&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;&lt;tt&gt;$ sudo apt-get install espeak&lt;/tt&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For speaking day, just add following alias in your &lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 153);"&gt;.bashrc&lt;/span&gt; file&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;alias speak_day='espeak "Today is `/bin/date \"+%A, %d %B 20%y\"`"'&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6958166039767310752?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6958166039767310752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6958166039767310752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6958166039767310752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6958166039767310752'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/08/let-linux-speak-time-and-day-for-you.html' title='Let Linux Speak Time and Day for You'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-1283163889288734652</id><published>2009-07-27T14:56:00.004+05:30</published><updated>2009-07-27T15:04:14.905+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Mount Windows Shared Folder onto Linux Directory</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size: medium;"&gt;Suppose you want to mount Windows shared folder (say shared_folder) on windows machine (IP address 10.226.194.169) on a folder (say /local/smbshare/shared_folder), you just need to give following&lt;br /&gt;command:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo mount -t smbfs -o username=domainname&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;\\&lt;span style="font-size: medium;"&gt;yourname&lt;/span&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;password=yoursecretpassword -o gid=users,dmask=777,fmask=777,rw //10.226.194.169/shared_folder /local/smbshare/shared_folder&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;You can verify whether the above command is successful or not, by using:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ mount | grep shared_folder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the above command shows some output, it means mount is successful :)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-1283163889288734652?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/1283163889288734652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=1283163889288734652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1283163889288734652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1283163889288734652'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/07/mount-windows-shared-folder-onto-linux.html' title='Mount Windows Shared Folder onto Linux Directory'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-5579139911594692443</id><published>2009-07-12T12:00:00.003+05:30</published><updated>2009-07-12T12:23:54.750+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='block'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Mounted Filesystem Information</title><content type='html'>For getting information of a partition (filesystem) which is mounted on a directory on Linux System, I have created a C program. Its listing is given as below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; * =====================================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *       Filename:  file_system_stat.c&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *    Description:  Get file system statistics of mounted partition&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *        Version:  1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *        Created:  Thursday 09 July 2009 10:48:02  IST IST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *       Revision:  none&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *       Compiler:  gcc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *         Author:  Mitesh Singh Jat (mitesh)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; * =====================================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;#include &amp;lt;sys/statfs.h&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; file_system_stats(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;const&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;char&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; *pathp)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;struct&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; statfs sfs;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; retval;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (pathp == NULL)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        fprintf(stderr, &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"file_system_stats: cannot find stats of NULL path&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    retval = statfs(pathp, &amp;amp;sfs);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (retval &amp;lt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        fprintf(stderr, &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"file_system_stats: cannot find file system&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        fprintf(stderr, &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"    stats of partition %s&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, pathp);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    printf(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;=== Filesystem Stats of '%s' ===&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, pathp);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    printf(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Optimal Transfer Block Size = %ld&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, sfs.f_bsize);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    printf(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Total data blocks           = %ld&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, sfs.f_blocks);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    printf(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Total free data blocks      = %ld&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, sfs.f_bfree);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    printf(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Total file nodes            = %ld&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, sfs.f_files);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    printf(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Total free file nodes       = %ld&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, sfs.f_ffree);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    printf(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"=================================================&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (retval);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; main(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; argc, &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;char&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; *argv[])&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; i;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; retval = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (argc &amp;lt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        fprintf(stderr, &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Usage: %s &amp;lt;path&amp;gt; [more_paths...]&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, argv[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;]);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        retval = file_system_stats(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"./"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (retval);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (i = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; i &amp;lt; argc &amp;amp;&amp;amp; retval &amp;gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; ++i)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        retval = file_system_stats(argv[i]);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (retval);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Compilation:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ gcc -Wall -o file_system_stat file_system_stat.c&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sample Runs:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--(mitesh@roundduck-lm)-(~/Programming/C/Usp)--&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;--(0 : 505)&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ ./file_system_stat&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Usage: ./file_system_stat &amp;lt;path&amp;gt; [more_paths...]&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;&lt;br /&gt;=== Filesystem Stats of './' ===&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;Optimal Transfer Block Size = 4096&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total data blocks           = 9690330&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free data blocks      = 3956097&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total file nodes            = 2449408&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free file nodes       = 2315870&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;=================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/C/Usp)--&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;--(0 : 506)&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ ./file_system_stat /boot&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;=== Filesystem Stats of '/boot' ===&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Optimal Transfer Block Size = 4096&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total data blocks           = 12017122&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free data blocks      = 5616343&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total file nodes            = 3055616&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free file nodes       = 2830533&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;=================================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--(mitesh@roundduck-lm)-(~/Programming/C/Usp)--&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;--(0 : 507)&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ ./file_system_stat /boot /mnt/extra&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;=== Filesystem Stats of '/boot' ===&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Optimal Transfer Block Size = 4096&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total data blocks           = 12017122&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free data blocks      = 5616343&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total file nodes            = 3055616&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free file nodes       = 2830533&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;=================================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;=== Filesystem Stats of '/mnt/extra' ===&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Optimal Transfer Block Size = 4096&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total data blocks           = 21235766&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free data blocks      = 7269970&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total file nodes            = 5357568&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;Total free file nodes       = 5357279&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;=================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/C/Usp)--&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;--(1 : 508)&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ ./file_system_stat /this_is_not_a_partition&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;file_system_stats: cannot find file system&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;&lt;br /&gt;stats of partition /this_is_not_a_partition&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: By the way, the &lt;span style="color: rgb(204, 0, 0);"&gt;block size of a filesystem&lt;/span&gt; can be found using commands given at &lt;a href="http://miteshj-linux-tips.blogspot.com/2009/06/finding-block-size-of-filesystem.html"&gt;here&lt;/a&gt; or &lt;a href="http://miteshjlinuxtips.wordpress.com/2009/06/26/finding-block-size-of-filesystem/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-5579139911594692443?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/5579139911594692443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=5579139911594692443' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5579139911594692443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5579139911594692443'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/07/mounted-filesystem-information.html' title='Mounted Filesystem Information'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-5152276931691574538</id><published>2009-07-01T19:23:00.002+05:30</published><updated>2009-07-01T19:47:01.453+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Removing Files With Unusual Characters</title><content type='html'>Suppose, some one (miscreant) got access to your computer and&lt;br /&gt;creates files, which you may not be able to delete or you will end&lt;br /&gt;up deleting all the files/subdirectories of the directory on which&lt;br /&gt;these files are created.&lt;br /&gt;&lt;br /&gt;Some examples of such dangerous file names are:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ls -l&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;total 0K&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:19 &lt;span style="color: rgb(204, 0, 0);"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:20 &lt;span style="color: rgb(204, 0, 0);"&gt;-rf *&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:27 &lt;span style="color: rgb(0, 153, 0);"&gt;-rw-r--r--&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:19 test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, how are you going to delete above files?&lt;br /&gt;&lt;br /&gt;(1) &lt;span style="color: rgb(204, 0, 0);"&gt;*&lt;/span&gt; : If one tries&lt;br /&gt;        &lt;span style="color: rgb(0, 102, 0);"&gt;$ rm * &lt;/span&gt;&lt;br /&gt;        or&lt;br /&gt;       &lt;span style="color: rgb(0, 102, 0);"&gt; $ rm -r *&lt;/span&gt;&lt;br /&gt;        This will delete all the files(&amp;amp; all subdirectories) in present working&lt;br /&gt;        directory.&lt;br /&gt;    Solution:&lt;br /&gt;       &lt;span style="color: rgb(0, 102, 0);"&gt; $&lt;span style="font-weight: bold;"&gt; rm -f ./'*'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;         We can verify this.&lt;br /&gt;       &lt;span style="color: rgb(0, 102, 0);"&gt; $  ls -l&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;total 0K&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:20 -rf *&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:27 -rw-r--r--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:19 test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(2) &lt;span style="color: rgb(204, 0, 0);"&gt;-rf *&lt;/span&gt;: If one tries&lt;br /&gt;       &lt;span style="color: rgb(0, 102, 0);"&gt; $ rm -rf *&lt;/span&gt;&lt;br /&gt;        This will delete all the files &amp;amp; all subdirectories in present working&lt;br /&gt;        directory.&lt;br /&gt;    Solution:&lt;br /&gt;        &lt;span style="color: rgb(0, 102, 0);"&gt;$&lt;span style="font-weight: bold;"&gt; rm -f ./'*'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;         We can verify this.&lt;br /&gt;        &lt;span style="color: rgb(0, 102, 0);"&gt;$  ls -l&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;total 0K&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:27 -rw-r--r--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-rw-r--r-- 1 mitesh users 0 2009-07-01 19:19 test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(3) &lt;span style="color: rgb(0, 102, 0);"&gt;-rw-r--r-&lt;/span&gt;-: If one tries&lt;br /&gt;       &lt;span style="color: rgb(0, 102, 0);"&gt;$ rm -rw-r--r--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;rm: invalid option -- w&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Try `rm ./-rw-r--r--' to remove the file `-rw-r--r--'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Try `rm --help' for more information.&lt;/span&gt;&lt;br /&gt;       Solution:&lt;br /&gt;       &lt;span style="color: rgb(0, 102, 0);"&gt;$ &lt;span style="font-weight: bold;"&gt;rm ./-rw-r--r--&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;       Other Solution&lt;br /&gt;    &lt;span style="color: rgb(0, 102, 0);"&gt;   $ &lt;span style="font-weight: bold;"&gt;rm -- -rw-r--r--&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;Note&lt;/span&gt;: So we need to be&lt;span style="font-weight: bold;"&gt; vigilant&lt;/span&gt;, while using '&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;rm&lt;/span&gt;' command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-5152276931691574538?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/5152276931691574538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=5152276931691574538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5152276931691574538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5152276931691574538'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/07/removing-files-with-unusual-characters.html' title='Removing Files With Unusual Characters'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-1633479921979457813</id><published>2009-06-26T15:22:00.003+05:30</published><updated>2009-06-26T15:31:43.975+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='awk'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><category scheme='http://www.blogger.com/atom/ns#' term='block'/><title type='text'>Finding Block Size of Filesystem</title><content type='html'>In order to, find block size of a filesystem on Linux,&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo tune2fs -l /dev/sda1 | grep -i 'block size'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Block size:               4096&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ echo "mitesh"&gt; test &amp;amp;&amp;amp; du test | awk '{print $1}' &amp;amp;&amp;amp; rm -f test&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;4K&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-1633479921979457813?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/1633479921979457813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=1633479921979457813' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1633479921979457813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1633479921979457813'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/06/finding-block-size-of-filesystem.html' title='Finding Block Size of Filesystem'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-7267389604898087637</id><published>2009-06-25T15:54:00.003+05:30</published><updated>2009-06-25T16:54:11.812+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='awk'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sed'/><title type='text'>Editing Very Very Large File</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;Suppose we want to do changes in few lines in a very very large file. It is not possible to open such a big file(say size in GBs &gt; RAM+Swap size) in a editor. Even sed/awk takes very long time, because they do pattern matching if mentioned on every line, otherwise, we can do one line editing with a line number. I have written a Perl Script to edit multiple lines independently. It uses sed commands to edit a line.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Format of Config file is:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;line_number&lt;span style="color: rgb(0, 0, 153);"&gt;:&lt;/span&gt;sed_command&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;#!/usr/bin/perl -w&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#===============================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#         FILE:  ed_large_file.pl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#        USAGE:  ./ed_large_file.pl &amp;lt;config_file&amp;gt; &amp;lt;file_name&amp;gt; [overwrite}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#  DESCRIPTION:  Edit very[ very] large file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#      OPTIONS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# REQUIREMENTS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#         BUGS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#        NOTES:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#       AUTHOR:  Mitesh Singh Jat (mitesh), &amp;lt;mitesh[at]yahoo-inc[dot]com&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#      VERSION:  1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#      CREATED:  Thursday 25 June 2009 02:32:37  IST IST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#     REVISION:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#===============================================================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;use&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;strict&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;use&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;warnings&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;@ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &amp;lt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: &amp;lt;config_file&amp;gt; &amp;lt;file_name&amp;gt; [overwrite]&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;!!!Be careful while using [overwrite] option,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;because original file will be deleted.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$conf_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$large_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$overwrite&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;@ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &amp;gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;] &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;eq&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;overwrite&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$overwrite&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;`&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;dirname &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$large_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;`&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;chomp&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;eq&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; || (!(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;-d&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: Cannot find dirname for temporary file.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Please check path of file '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$large_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; . &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;/temp&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Temporary file is '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;## Read config file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Reading config file '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$conf_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;open&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(CFH, &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$conf_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Cannot read Config file '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$conf_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;%lineno_sedcmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;&amp;lt;CFH&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;chomp&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$sedcmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;split&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;:&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;defined&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$sedcmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno_sedcmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;} = &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$sedcmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno_sedcmd&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# Verifying sedcmd before running it;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# it gives a chance to reedit config file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;echo \"Mitesh Singh Jat\" | sed '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$sedcmd&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; 1&amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (!(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;system&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) == &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: sed command '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$sedcmd&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; for line '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;is having error. Please recheck with \$ man sed&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(CFH);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(CFH);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;@line_nos&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;foreach&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;sort&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;keys&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;%lineno_sedcmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;push&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;@line_nos&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$_&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;## Open large file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;open&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(LFH, &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$large_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: Cannot open file '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$large_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;## Temporary File &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;open&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(OFH, &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: Cannot create temporary file '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$nline&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$end_idx&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;@line_nos&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; - &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Processing...&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;&amp;lt;LFH&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    ++&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$nline&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line_nos&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;] == &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$nline&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)       &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# now edit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        ++&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;   &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# This config line is over&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &amp;gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$end_idx&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$end_idx&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;chomp&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;echo \"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;\" | sed '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lineno_sedcmd&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$nline&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;}'&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#print "$cmd\n";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$out_line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;`&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;`&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; OFH &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$out_line&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$nline&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#sleep 1; # to see progress :)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; OFH &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(OFH);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(LFH);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$overwrite&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; == &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;done&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;## Overwite original file by deleting it and moving temp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Overwriting...&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;rm -f &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$large_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; \&amp;amp;\&amp;amp; mv &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$temp_file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$large_file&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;system&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) == &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Problem in overwriting. '&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$cmd&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; failed: &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$?&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;done&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sample Run:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;--(0 : 618)&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;./ed_large_file.pl&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;./ed_large_file.pl: &lt;/span&gt;&amp;lt;config_file&amp;gt; &amp;lt;file_name&amp;gt;&lt;span style="color: rgb(51, 51, 255);"&gt; [overwrite]&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;!!!Be careful while using [overwrite] option,&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;because original file will be deleted.&lt;/span&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/Perl/Editing_Large_Files)--&lt;br /&gt;--(255 : 619)&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;cat large_file.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shree Ganeshay Namah&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shri Bharat Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Smt Amita Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Mitesh Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shikha Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shilpa Jat&lt;/span&gt;&lt;br /&gt;This is garbage line. Please delete it.&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/Perl/Editing_Large_Files)--&lt;br /&gt;--(0 : 620)&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;cat large_file.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;1:s/^.*$/!!&amp;amp;!!/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;4:s/ / Singh /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;7:/.*/d&lt;/span&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/Perl/Editing_Large_Files)--&lt;br /&gt;--(0 : 621)&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;./ed_large_file.pl large_file.conf large_file.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Temporary file is './temp'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Reading config file 'large_file.conf'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;1  s/^.*$/!!&amp;amp;!!/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;4  s/ / Singh /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;7  /.*/d&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Processing... 1 4 7&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;done&lt;/span&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/Perl/Editing_Large_Files)--&lt;br /&gt;--(0 : 622)&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; cat ./temp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;!!Shree Ganeshay Namah!!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shri Bharat Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Smt Amita Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Mitesh Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shikha Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shilpa Jat&lt;/span&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/Perl/Editing_Large_Files)--&lt;br /&gt;--(0 : 623)&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;./ed_large_file.pl large_file.conf large_file.txt overwrite&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Temporary file is './temp'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Reading config file 'large_file.conf'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;1  s/^.*$/!!&amp;amp;!!/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;4  s/ / Singh /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;7  /.*/d&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Processing... 1 4 7&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Overwriting...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;rm -f large_file.txt &amp;amp;&amp;amp; mv ./temp large_file.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;done&lt;/span&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/Perl/Editing_Large_Files)--&lt;br /&gt;--(0 : 624)&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; cat large_file.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;!!Shree Ganeshay Namah!!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shri Bharat Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Smt Amita Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Mitesh Singh Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shikha Jat&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Shilpa Jat&lt;/span&gt;&lt;br /&gt;--(mitesh@roundduck-lm)-(~/Programming/Perl/Editing_Large_Files)--&lt;br /&gt;--(0 : 625)&gt;&lt;br /&gt;&lt;/file_name&gt;&lt;/config_file&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-7267389604898087637?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/7267389604898087637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=7267389604898087637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7267389604898087637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7267389604898087637'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/06/editing-very-very-large-file.html' title='Editing Very Very Large File'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-4611829401112941875</id><published>2009-06-02T16:21:00.002+05:30</published><updated>2009-06-02T16:29:29.915+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='apt'/><category scheme='http://www.blogger.com/atom/ns#' term='yum'/><category scheme='http://www.blogger.com/atom/ns#' term='bashrc'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='elinks'/><title type='text'>Web Access through Proxy Server by Terminal Applications</title><content type='html'>In many companies/Universities, the web access is granted through Proxy Server (Usually SQUID; hence port&lt;span style="color: rgb(204, 0, 0);"&gt; 3128&lt;/span&gt;).&lt;br /&gt;There are many terminal applications (run on command line interface), which access Internet/Web. For example:&lt;br /&gt;wget (to download file), ftp, lynx/links (to access website), apt/yum (to download and install package). If we are behind&lt;br /&gt;proxy, these applications do not work. The easy solution is to set some shell environment variables, explained below:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;For accessing web(lynx/links) using  a non-authenticated proxy:&lt;/strong&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ export http_proxy="http://proxy.yourcompany.com:3128"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Verify that the setting took place&lt;/strong&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ echo $http_proxy&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;http://proxy.yourcompany.com:3128&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;For accessing web(lynx/links) using a authenticated proxy:&lt;/strong&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ export http_proxy="http://username:password@proxy.yourcompany.com:3128"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want the change to be permanent (there each time you open a terminal),&lt;br /&gt;add the export line to .bashrc in your 'home' directory.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ echo 'export http_proxy="http://proxy.yourcompany.com:3128"'″ &gt;&gt; ~/.bashrc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Secure HTTP (over SSL) access &lt;/strong&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ export https_proxy="https://proxy.yourcompany.com:3128"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FTP access &lt;/strong&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ export ftp_proxy="ftp://proxy.yourcompany.com:3128"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-4611829401112941875?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/4611829401112941875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=4611829401112941875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4611829401112941875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4611829401112941875'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/06/web-access-through-proxy-server-by.html' title='Web Access through Proxy Server by Terminal Applications'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6490028088258750925</id><published>2009-05-31T18:26:00.003+05:30</published><updated>2009-05-31T18:37:19.854+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>Making Soundcard Work in Macbook Pro</title><content type='html'>After installing Debian 5.0 (Lenny) on Macbook Pro (4,1), I found that&lt;br /&gt;sound card was detected, but there was no sound. Then, I come to know&lt;br /&gt;that, &lt;em&gt;model=mbp3&lt;/em&gt; option must be passed to snd-hda-intel kernel driver, to&lt;br /&gt;make soundcard work. This is content of &lt;b style="color: rgb(0, 0, 153);"&gt;/etc/modprobe.d/sound&lt;/b&gt; file.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;$ cat /etc/modprobe.d/sound&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;options snd slots=snd-hda-intel&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;# u1Nb.bVcdGDjFCiF:82801H (ICH8 Family) HD Audio Controller&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&lt;br /&gt;alias snd-card-0 snd-hda-intel&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;# Add the following line as an option to snd_hda_intel module&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;options snd_hda_intel model=mbp3&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6490028088258750925?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6490028088258750925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6490028088258750925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6490028088258750925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6490028088258750925'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/05/making-soundcard-work-in-macbook-pro.html' title='Making Soundcard Work in Macbook Pro'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-7078889784567257687</id><published>2009-05-26T08:51:00.002+05:30</published><updated>2009-05-26T09:41:38.391+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GRUB'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><title type='text'>Securing Your Root Using GRUB</title><content type='html'>&lt;div class="snap_preview"&gt;&lt;p&gt;Generally, we forget to provide password security for GRUB boot loader.&lt;/p&gt; &lt;p&gt;If we do not provide password, any one can get access to root login without giving&lt;/p&gt; &lt;p&gt;root password, just by editing “kernel” parameters to “single” or “1″.&lt;/p&gt; &lt;p&gt;Therefore, you can prevent this editing by providing password.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$  grub-md5-crypt&lt;/span&gt;&lt;br /&gt;Password:&lt;br /&gt;Retype password:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;$1$BRvj2/$A0Xj.CeywUG/iL6j/15HC.&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;(&lt;em&gt;you can provide any password, you want. But please remember this by heart&lt;/em&gt;)&lt;br /&gt;and paste this output in&lt;span style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;strong style="color: rgb(0, 0, 153);"&gt;/boot/grub/menu.lst&lt;/strong&gt; below timeout&lt;br /&gt;or default as&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$vi /boot/grub/menu.lst&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;timeout 10&lt;br /&gt;...&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;password&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;--md5&lt;/span&gt; $1$BRvj2/$A0Xj.CeywUG/iL6j/15HC&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Now, reboot and try to modify the kernel parameters. You will not be&lt;br /&gt;able to until you press &lt;strong&gt;p&lt;/strong&gt; and provide the password.&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-7078889784567257687?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/7078889784567257687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=7078889784567257687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7078889784567257687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7078889784567257687'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/05/securing-your-root-using-grub.html' title='Securing Your Root Using GRUB'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3799248721426625046</id><published>2009-05-22T09:09:00.003+05:30</published><updated>2009-05-22T09:31:22.288+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='xorg'/><category scheme='http://www.blogger.com/atom/ns#' term='synaptics'/><title type='text'>Macbook Pro Touchpad: Synaptics Configuration in xorg.conf</title><content type='html'>I was trying to use touchpad on Macbook Pro (4,1) in Debian 5.0 (Lenny).&lt;br /&gt;By default, it does not have tapping support, and multitouch support.&lt;br /&gt;Even touchpad driver was also unavailable. Therefore, I had compiled&lt;br /&gt;Linux kernel 2.6.29.3  added support for Apple Macbook Touchpad Driver.&lt;br /&gt;Then after booting in new kernel with NVIDIA 8600 GT driver, I have&lt;br /&gt;modified the xorg.conf with following lines.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;## In case, you want to revert&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bk      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo vi /etc/X11/xorg.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;...&lt;br /&gt;Section "ServerLayout"&lt;br /&gt; Identifier     "Layout0"&lt;br /&gt; ...&lt;br /&gt; # Add Synaptics Touchpad as mouse&lt;br /&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;InputDevice    "Synaptics Touchpad" "SendCoreEvents" #"CorePointer"&lt;/span&gt;&lt;br /&gt; InputDevice    "Mouse0" "CorePointer"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Section "Module"&lt;br /&gt; ...&lt;br /&gt; # Load synaptics driver for Macbook Pro Touchpad&lt;br /&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;Load           "synaptics"&lt;/span&gt;&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt; Identifier      "Synaptics Touchpad"&lt;br /&gt; Driver          "synaptics"&lt;br /&gt; Option          "SendCoreEvents"        "true"&lt;br /&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;Option          "Device"                "/dev/mouse0"&lt;/span&gt;&lt;br /&gt; Option          "Protocol"              "auto-dev"&lt;br /&gt; # not using edge scrolling&lt;br /&gt; Option          "HorizEdgeScroll"       "0"&lt;br /&gt; Option          "VertEdgeScroll"        "0"&lt;br /&gt;&lt;br /&gt; # use two finger scrolling&lt;br /&gt; Option          "VertTwoFingerScroll"   "1"&lt;br /&gt; Option          "HorizTwoFingerScroll"  "1" # set to 0 if you don't want horizontal scrolling&lt;br /&gt;&lt;br /&gt; # scroll speed, lower is faster&lt;br /&gt; Option          "HorizScrollDelta"      "15"&lt;br /&gt; Option          "VertScrollDelta"       "15"&lt;br /&gt;&lt;br /&gt; # minimum pressure motion factor&lt;br /&gt; Option          "PressureMotionMinZ"    "10"&lt;br /&gt;&lt;br /&gt; # touch and untouch thresholds, higher numbers if you like to push hard&lt;br /&gt; Option          "FingerLow"             "20"&lt;br /&gt; Option          "FingerHigh"            "60" # change to 30 or 40 if you like&lt;br /&gt;&lt;br /&gt; # FingerPress (Integer) : Above which counts as press&lt;br /&gt; Option          "FingerPress"           "130"&lt;br /&gt;&lt;br /&gt; # borders based on output from synclient&lt;br /&gt; Option          "LeftEdge"              "70"&lt;br /&gt; Option          "RightEdge"             "1120"&lt;br /&gt; Option          "TopEdge"               "50"&lt;br /&gt; Option          "BottomEdge"            "750"&lt;br /&gt;&lt;br /&gt; # speeds, smaller number for a slower mouse&lt;br /&gt; Option          "MinSpeed"              "0.8" # 0.5 is very slow, 1.5 is very fast&lt;br /&gt; Option          "MaxSpeed"              "1.3" # up to 1.5 works ok&lt;br /&gt; Option          "AccelFactor"           "0.10"&lt;br /&gt;&lt;br /&gt; # tap times, change to suit your tapping habits&lt;br /&gt; Option          "MaxTapMove"            "100"&lt;br /&gt; Option          "MaxTapTime"            "100"&lt;br /&gt; Option          "MaxDoubleTapTime"      "200"&lt;br /&gt;&lt;br /&gt; # don't change these or two finger tap stops working&lt;br /&gt; Option          "TapButton2"            "3"&lt;br /&gt; Option          "TapButton3"            "2"&lt;br /&gt;&lt;br /&gt; # must be commented out or normal tapping wont work&lt;br /&gt; #Option         "TapButton1"            "0"&lt;br /&gt;&lt;br /&gt; # Right Top Corner Button as right click&lt;br /&gt; Option          "RTCornerButton"        "2"&lt;br /&gt; Option          "RBCornerButton"        "0"&lt;br /&gt;&lt;br /&gt; # Left Top Corner Button as middle click&lt;br /&gt; Option          "LTCornerButton"        "3"&lt;br /&gt; Option          "LBCornerButton"        "0"&lt;br /&gt;&lt;br /&gt; # Palm Detection: Useful while typing&lt;br /&gt; Option          "PalmDetect"            "on"&lt;br /&gt; Option          "PalmMinWidth"          "10"&lt;br /&gt; Option          "PalmMinZ"              "200"&lt;br /&gt;&lt;br /&gt; # needed for disabled while typing fix&lt;br /&gt; Option          "SHMConfig"             "on"&lt;br /&gt;EndSection&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3799248721426625046?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3799248721426625046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3799248721426625046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3799248721426625046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3799248721426625046'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/05/macbook-pro-touchpad-synaptics.html' title='Macbook Pro Touchpad: Synaptics Configuration in xorg.conf'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-882809940797244371</id><published>2009-05-10T13:40:00.002+05:30</published><updated>2009-05-10T13:52:45.178+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='messenger'/><category scheme='http://www.blogger.com/atom/ns#' term='IM'/><title type='text'>Pidgin: Buddy List Window Resize is not Working</title><content type='html'>I am regular user of Pidgin Multiprotocol Instant Messenger (IM)&lt;br /&gt;for Yahoo! and Gtalk IMs.&lt;br /&gt;The buddy list window was getting wider and wider after several&lt;br /&gt;uses. I tried to resize the window. But I was not able to do so.&lt;br /&gt;Then I think to change the configuration file to resize the window.&lt;br /&gt;The configurations are stored in &lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;~/.purple/prefs.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I then, opened this file and searched for 'width'&lt;br /&gt;The width in which I was interested is related to 'buddy list window'&lt;br /&gt;i.e. look for section 'blist' and change the width variable according&lt;br /&gt;to your need (I had set it to 300).&lt;br /&gt;&amp;lt;pref name='blist'&amp;gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;  &amp;lt;pref name='width' type='int' value='300'/&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&amp;lt;/pref&amp;gt;&lt;br /&gt;&lt;br /&gt;Save this file and restart pidgin and viola!!&lt;br /&gt;This Works :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-882809940797244371?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/882809940797244371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=882809940797244371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/882809940797244371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/882809940797244371'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/05/pidgin-buddy-list-window-resize-is-not.html' title='Pidgin: Buddy List Window Resize is not Working'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-5449680518194567233</id><published>2009-04-08T12:54:00.002+05:30</published><updated>2009-04-08T13:03:28.401+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='stdout'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='pipe'/><category scheme='http://www.blogger.com/atom/ns#' term='stderr'/><title type='text'>Sending stderr (Standard Error) to Pipe</title><content type='html'>Many times we want to send output of standard error (stderr)&lt;br /&gt;to pipe '&lt;span style="color: rgb(204, 0, 0);"&gt;|&lt;/span&gt;', so that we can use it as input for another command.&lt;br /&gt;&lt;br /&gt;For example, while compilation of program, we are mostly interested&lt;br /&gt;in error/warning messages. We can not get those lines by following&lt;br /&gt;command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ make | egrep -i "error|warning"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;so how can we can get only those error/warning message lines. We&lt;br /&gt;just need to bind stderr (file handle 2) with stdout (file handle 1).&lt;br /&gt;"&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;2&gt;&amp;amp;1&lt;/span&gt;"&lt;br /&gt;The following example shows this:&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;&lt;br /&gt;$ make 2&gt;&amp;amp;1 | egrep -i "error|warning"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-5449680518194567233?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/5449680518194567233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=5449680518194567233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5449680518194567233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5449680518194567233'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/04/sending-stderr-standard-error-to-pipe.html' title='Sending stderr (Standard Error) to Pipe'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6046883916106113268</id><published>2009-03-29T10:43:00.006+05:30</published><updated>2009-03-29T11:17:53.865+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><title type='text'>Backup Using rsync</title><content type='html'>There are many backup tools, but most are not as configurable as&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 153);"&gt;rsync&lt;/span&gt; command. But still we may want more easiness to use rsync.&lt;br /&gt;Therefore, I have written a Perl Script to use rsync for backing up&lt;br /&gt;as many directories as you want. Here is a Perl script:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;b&gt;#!/usr/bin/perl &lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#===============================================================================&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#         FILE:  rsync_backup.pl&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#        USAGE:  ./rsync_backup.pl [output_dir]&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#  DESCRIPTION:  &lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#      OPTIONS:  ---&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;# REQUIREMENTS:  ---&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#         BUGS:  ---&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#        NOTES:  ---&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#       AUTHOR:  Mitesh Singh Jat (mitesh), &amp;lt;mitesh[at]yahoo-inc[dot]com&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#      VERSION:  1.0&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#      CREATED:  Saturday 28 March 2009 07:36:54  IST IST&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#     REVISION:  ---&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;#===============================================================================&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;b&gt;strict&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;use&lt;/b&gt; &lt;b&gt;warnings&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_include&lt;/span&gt; = &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;rsync_include.conf&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_exclude&lt;/span&gt; = &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;rsync_exclude.conf&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$out_dir&lt;/span&gt; = &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;/media/FreeAgent Drive&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color: rgb(192, 0, 0);"&gt;@ARGV&lt;/span&gt; &amp;gt;= &lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$out_dir&lt;/span&gt; = &lt;span style="color: rgb(192, 0, 0);"&gt;$ARGV&lt;/span&gt;[&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;-f&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_include&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt; STDERR &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: Include config file &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_include&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; is not present.&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;(-&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$exclude_option&lt;/span&gt; = &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;--exclude-from=&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_exclude&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;-f&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_exclude&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt; STDERR &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: exclude config file &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_exclude&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; is not present.&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$exclude_option&lt;/span&gt; = &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;""&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;unless&lt;/b&gt; (&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;-d&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$out_dir&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt; STDERR &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$out_dir&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; Destination dir does not exists.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;(-&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$out_dir&lt;/span&gt; =~ &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;s/&lt;/b&gt; &lt;b&gt;/&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;\\ &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/g&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;open&lt;/span&gt;(FH, &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_include&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;) &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;or&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;(&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: Cannot open &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rsync_include&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;);&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$nlines&lt;/span&gt; = &lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;while&lt;/b&gt; (&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt; = &lt;b&gt;&amp;lt;FH&amp;gt;&lt;/b&gt;)&lt;br /&gt;{&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$command&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;$options&lt;/span&gt; = &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;""&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;chomp&lt;/span&gt;(&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;);&lt;br /&gt;++&lt;span style="color: rgb(128, 0, 0);"&gt;$nlines&lt;/span&gt;;&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt; =~ &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;^&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;#&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;) &lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;# skip comments&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    &lt;b&gt;next&lt;/b&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;my&lt;/b&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;@fields&lt;/span&gt; = &lt;span style="color: rgb(0, 0, 128);"&gt;split&lt;/span&gt;(&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/&lt;/b&gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;, &lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;); # this junk char is Ctrl-X&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color: rgb(128, 0, 0);"&gt;@fields&lt;/span&gt; &amp;lt; &lt;span style="color: rgb(0, 0, 255);"&gt;3&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Not enough arguments in line &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$nlines&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;    &lt;b&gt;next&lt;/b&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;[&lt;span style="color: rgb(0, 0, 255);"&gt;2&lt;/span&gt;] =~ &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;^[&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;Yy&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;)  &lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;# sync&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: rgb(128, 0, 0);"&gt;$options&lt;/span&gt; .= &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; --delete --delete-excluded&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;if&lt;/b&gt; (&lt;span style="color: rgb(0, 0, 128);"&gt;defined&lt;/span&gt;(&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;[&lt;span style="color: rgb(0, 0, 255);"&gt;3&lt;/span&gt;]))&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: rgb(128, 0, 0);"&gt;$options&lt;/span&gt; .= &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;[3]&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;[&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;] =~ &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;s/&lt;/b&gt;&amp;lt;home&amp;gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;\/home\/mitesh&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;[&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;] =~ &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;s/&lt;/b&gt;&amp;lt;home&amp;gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;\/home\/mitesh&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;[&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;] =~ &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;s/&lt;/b&gt;&amp;lt;out_dir&amp;gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$out_dir&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/g&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;[&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;] =~ &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;s/&lt;/b&gt;&amp;lt;out_dir&amp;gt;&lt;b&gt;/&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$out_dir&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;/g&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$command&lt;/span&gt; = &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;rsync -av &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;[0] &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$fields&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;[1] &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$options&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;system&lt;/span&gt;(&lt;span style="color: rgb(128, 0, 0);"&gt;$command&lt;/span&gt;) == &lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;or&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;(&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: Error in running&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$command&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$!&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;b&gt;"&lt;/b&gt;&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;(FH);&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are 2 configuration files, I have used for this script. Namely&lt;br /&gt;1. &lt;span style="color: rgb(0, 0, 153);"&gt;rsync_include.conf&lt;/span&gt;&lt;br /&gt;2. &lt;span style="color: rgb(0, 0, 153);"&gt;rsync_exclude.con&lt;/span&gt;f&lt;br /&gt;&lt;br /&gt;Please place these 2 files in the directory, from where you are going&lt;br /&gt;to run this script, else you can change path of these configuration&lt;br /&gt;files in rsync_backup.pl .&lt;br /&gt;&lt;br /&gt;Sample &lt;span style="color: rgb(0, 0, 153);"&gt;rsync_include.con&lt;/span&gt;f contains:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;# Configuration file for backing up&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#&lt;/span&gt; ^X is delimiter, which can be typed as Ctrl-V Ctrl-X&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#src_folder^Xdest_folder^Xdelete_at_dest[Y/n]^Xother_rsync_options&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;## delete_at_dest =&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#       y = sync  // Use cautiously&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#       n = copy blindly&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;# Some tags that can be used:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;## &amp;lt;home&amp;gt; = Home directory; change to your home directory in the script.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;## &amp;lt;out_dir&amp;gt; = Common Destination Directory&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;/home/mitesh/Music^X&amp;lt;out_dir&amp;gt;^Xy^X&lt;br /&gt;&amp;lt;home&amp;gt;/Documents^X&amp;lt;out_dir&amp;gt;^Xn^X&lt;br /&gt;&amp;lt;home&amp;gt;/Programming^X&amp;lt;out_dir&amp;gt;^Xn^X&lt;br /&gt;/home/mitesh/Videos^X&amp;lt;out_dir&amp;gt;^Xn^X&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;#&lt;home&gt;/workspace/temp/*^X&amp;lt;out_dir&amp;gt;/temp^Xn^X&lt;/span&gt;&lt;br /&gt;/mnt/extra/Extra/Films/*^X&amp;lt;out_dir&amp;gt;/Videos^Xn^X&lt;br /&gt;/mnt/extra/Extra/Download/*^X&amp;lt;out_dir&amp;gt;/Videos^Xn^X&lt;br /&gt;&lt;br /&gt;Sample &lt;span style="color: rgb(0, 0, 153);"&gt;rsync_exclude.conf&lt;/span&gt; contains:&lt;br /&gt;.trash&lt;br /&gt;Trash&lt;br /&gt;Cache&lt;br /&gt;.thumbnails&lt;br /&gt;*.torrent&lt;br /&gt;&lt;br /&gt;Sample run (I have placed above config files in ~/bin/):&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ cd ~/bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./rsync_backup.pl &lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;or, if you want to use some&lt;span style="color: rgb(0, 0, 153);"&gt; backup&lt;/span&gt; directory on harddisk,&lt;br /&gt;mounted on &lt;span style="color: rgb(0, 0, 153);"&gt;/media/disk&lt;/span&gt; (say, &lt;span style="color: rgb(0, 0, 153);"&gt;/media/disk/backup&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ./rsync_backup /media/disk/backup&lt;/span&gt;&lt;br /&gt;&lt;/out_dir&gt;&lt;/out_dir&gt;&lt;/out_dir&gt;&lt;/out_dir&gt;&lt;/home&gt;&lt;/out_dir&gt;&lt;/home&gt;&lt;/out_dir&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6046883916106113268?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6046883916106113268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6046883916106113268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6046883916106113268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6046883916106113268'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/03/backup-using-rsync.html' title='Backup Using rsync'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6191323732667483878</id><published>2009-03-26T12:43:00.003+05:30</published><updated>2009-03-26T12:57:07.048+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='issue'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Customizing Your Login Message With /etc/issue</title><content type='html'>If you are bored with same login message at Linux console,&lt;br /&gt;you can change it by changing&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt; /etc/issue&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# clear &gt; /etc/issue&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# echo "This is Mitesh's Machine." &gt;&gt; /etc/issue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Even you can provide other details of your system, by using&lt;br /&gt;single alphabet given&lt;a href="http://www.linuxfromscratch.org/blfs/view/svn/postlfs/logon.html"&gt; here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# echo "\d \m \s \v" &gt;&gt; /etc/issue&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6191323732667483878?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.linuxfromscratch.org/blfs/view/svn/postlfs/logon.html' title='Customizing Your Login Message With /etc/issue'/><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6191323732667483878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6191323732667483878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6191323732667483878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6191323732667483878'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/03/customizing-your-login-message-with.html' title='Customizing Your Login Message With /etc/issue'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6175848344110582067</id><published>2009-03-26T11:33:00.004+05:30</published><updated>2009-08-11T19:37:23.173+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='Fortune'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='D-Bus'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Status Message'/><title type='text'>Fortune Status for Pidgin IM</title><content type='html'>If you want to change status message of Pidgin Message by&lt;br /&gt;fortune message. Just create a file pidgin_status_message.py&lt;br /&gt;And copy the following lines.&lt;br /&gt;&lt;br /&gt;#----------------------------&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;i&gt;&lt;br /&gt;#!/usr/bin/env python&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;import&lt;/span&gt; dbus,subprocess,time&lt;br /&gt;&lt;br /&gt;&lt;b&gt;def&lt;/b&gt; set_status(message):&lt;br /&gt;    &amp;nbsp;&amp;nbsp;bus = dbus.SessionBus()&lt;br /&gt;     &amp;nbsp;&amp;nbsp;obj = bus.get_object(&lt;span style="color: rgb(221, 0, 0);"&gt;"im.pidgin.purple.PurpleService"&lt;/span&gt;, &lt;span style="color: rgb(221, 0, 0);"&gt;"/im/pidgin/purple/PurpleObject"&lt;/span&gt;)&lt;br /&gt;     &amp;nbsp;&amp;nbsp;purple = dbus.Interface(obj, &lt;span style="color: rgb(221, 0, 0);"&gt;"im.pidgin.purple.PurpleInterface"&lt;/span&gt;)&lt;br /&gt;     &amp;nbsp;&amp;nbsp;current = purple.PurpleSavedstatusGetType(purple.PurpleSavedstatusGetCurrent())&lt;br /&gt;    &amp;nbsp;&amp;nbsp;status = purple.PurpleSavedstatusNew(&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;, current)&lt;br /&gt;    &amp;nbsp;&amp;nbsp;purple.PurpleSavedstatusSetMessage(status, message)&lt;br /&gt;    &amp;nbsp;&amp;nbsp;purple.PurpleSavedstatusActivate(status)&lt;br /&gt;    &lt;b&gt;&lt;br /&gt;    while&lt;/b&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;True&lt;/span&gt;:&lt;br /&gt;    &amp;nbsp;&amp;nbsp;fortune = subprocess.Popen(&lt;span style="color: rgb(221, 0, 0);"&gt;'fortune'&lt;/span&gt;, stdout = subprocess.PIPE).stdout.read()&lt;br /&gt;    &amp;nbsp;&amp;nbsp;set_status(fortune)&lt;br /&gt;    &amp;nbsp;&amp;nbsp;time.sleep(&lt;span style="color: rgb(0, 0, 255);"&gt;120&lt;/span&gt;)&lt;br /&gt;#-------------------------------&lt;br /&gt;&lt;br /&gt;    Start Pidgin and give following command:&lt;br /&gt;    &lt;span style="color: rgb(0, 102, 0);"&gt;$ python pidgin_status_message.py &amp;amp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6175848344110582067?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6175848344110582067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6175848344110582067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6175848344110582067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6175848344110582067'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/03/fortune-status-for-pidgin-im.html' title='Fortune Status for Pidgin IM'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-7585276251835055780</id><published>2009-01-13T17:53:00.001+05:30</published><updated>2009-01-13T18:02:05.017+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='awk'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><category scheme='http://www.blogger.com/atom/ns#' term='mplayer'/><title type='text'>Playing Directory in Mplayer</title><content type='html'>&lt;p&gt;&lt;span style="color:#000000;"&gt;In order to play media files inside a directory with mplayer, I have written a shell script. Please save it in a directory in your $PATH variable.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;For example, &lt;/span&gt;&lt;span style="color:#000066;"&gt;&lt;strong&gt;&lt;em&gt;~/bin/mplayer_dir.sh&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-style: italic;color:#808080;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:#808080;"&gt;# Plays files inside a directory with mplayer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;playlist=&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"/home/mitesh/.mplayer/playlist.txt"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;dir=&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"./"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;if [[&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;$#&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; 0&lt;/span&gt;&lt;span style="font-weight: bold;color:#000000;"&gt; ]]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#008000;"&gt;dir=$1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:#808080;"&gt;#rm -f $playlist&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#cc00cc;"&gt;find&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#008000;"&gt;$dir&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt; -iname &lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"*"&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color:#cc00cc;"&gt;egrep&lt;/span&gt;&lt;span style="color:#000000;"&gt; -i &lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"\.(wma|wmv|flv|mp3|avi|vob|dat|mp4|m4v|ogg|divx|xvid|rmvb|rm|asf)$"&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color:#cc00cc;"&gt;sort&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color:#223388;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;$playlist&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:#808080;"&gt;#cat $playlist&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;nlines=&lt;/span&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold;color:#cc00cc;"&gt;wc&lt;/span&gt;&lt;span style="color:#000000;"&gt; -l &lt;/span&gt;&lt;span style="color:#008000;"&gt;$playlist&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color:#cc00cc;"&gt;awk&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#dd0000;"&gt;'{print $1}'&lt;/span&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;if [[&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;$nlines&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; 0&lt;/span&gt;&lt;span style="font-weight: bold;color:#000000;"&gt; ]]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;    mplayer -playlist &lt;/span&gt;&lt;span style="color:#008000;"&gt;$playlist&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold;color:#880088;"&gt;echo&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;span style="color:#008000;"&gt;$0&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;: Unrecognized files in &lt;/span&gt;&lt;span style="color:#008000;"&gt;$dir&lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold;color:#880088;"&gt;echo&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#dd0000;"&gt;"Please update this script if playable format is present."&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-weight: bold;color:#000000;"&gt;fi&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;--------------&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Sample Run:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;$ mplayer_dir.sh [directory]&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-7585276251835055780?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/7585276251835055780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=7585276251835055780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7585276251835055780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7585276251835055780'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2009/01/playing-directory-in-mplayer.html' title='Playing Directory in Mplayer'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-4140676897456331583</id><published>2008-11-28T12:52:00.002+05:30</published><updated>2008-11-28T12:58:27.729+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='xargs'/><category scheme='http://www.blogger.com/atom/ns#' term='linuc'/><category scheme='http://www.blogger.com/atom/ns#' term='ping'/><category scheme='http://www.blogger.com/atom/ns#' term='awk'/><title type='text'>Ping Every Host in /etc/hosts File.</title><content type='html'>&lt;p&gt;If you want to know whether hosts specified in &lt;strong&gt;&lt;em&gt;&lt;span style="color:#000099;"&gt;/etc/hosts&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; file are reachable, just give the following command:&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;$ awk '/^[0-9]/{print $1}' /etc/hosts | xargs -l ping -c 1 $1&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Sample run:&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;$ awk '/^[0-9]/{print $1}' /etc/hosts | xargs -l ping -c 1 $1&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.&lt;br /&gt;64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.046 ms&lt;br /&gt;&lt;br /&gt;--- 127.0.0.1 ping statistics ---&lt;br /&gt;1 packets transmitted, 1 received, 0% packet loss, time 0ms&lt;br /&gt;rtt min/avg/max/mdev = 0.046/0.046/0.046/0.000 ms&lt;br /&gt;PING 127.0.1.1 (127.0.1.1) 56(84) bytes of data.&lt;br /&gt;64 bytes from 127.0.1.1: icmp_seq=1 ttl=64 time=0.028 ms&lt;br /&gt;&lt;br /&gt;--- 127.0.1.1 ping statistics ---&lt;br /&gt;1 packets transmitted, 1 received, 0% packet loss, time 0ms&lt;br /&gt;rtt min/avg/max/mdev = 0.028/0.028/0.028/0.000 ms&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-4140676897456331583?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/4140676897456331583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=4140676897456331583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4140676897456331583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4140676897456331583'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/11/ping-every-host-in-etchosts-file.html' title='Ping Every Host in /etc/hosts File.'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-4860157877682078808</id><published>2008-11-07T13:22:00.002+05:30</published><updated>2008-11-07T16:26:33.599+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GRUB'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Missing Linux Entry in GRUB Menu</title><content type='html'>If any Linux entry is not present in GRUB menu,&lt;br /&gt;you can visit following forum to view a solution.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.linuxforums.org/forum/linux-newbie/134044-unable-see-fedora-7-a.html#post640861'&gt;Linux Forum: Unable to see Fedora 7 in GRUB Menu&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-4860157877682078808?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/4860157877682078808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=4860157877682078808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4860157877682078808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4860157877682078808'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/11/missing-linux-entry-in-grub-menu.html' title='Missing Linux Entry in GRUB Menu'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6546607667502276158</id><published>2008-11-05T14:32:00.002+05:30</published><updated>2008-11-05T14:42:31.240+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Finding Best Linux Distribution</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;We can find ranking of Linux distributions (distros) at site &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;a href="http://distrowatch.com"&gt;distrowatch.com&lt;/a&gt;. This ranking is based on Page Hits Per Day.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;In order to find best Linux distro, I have written a Perl script:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;#!/usr/bin/perl -w&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#===============================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#         FILE:  best_distro.pl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#        USAGE:  ./best_distro.pl &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#  DESCRIPTION:  Finds best distro from distrowatch.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#      OPTIONS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# REQUIREMENTS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#         BUGS:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#        NOTES:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#       AUTHOR:  Mitesh Singh Jat (mitesh)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#      VERSION:  1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#      CREATED:  Tuesday 04 November 2008 04:05:19  IST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#     REVISION:  ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;#===============================================================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;use&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;strict&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;use&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;warnings&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$ndistro&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;@ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &amp;gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$ndistro&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$ndistro&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &amp;gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$ndistro&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lynx&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;`&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;which lynx&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;`&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;chomp&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lynx&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$lynx&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;eq&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: please install lynx&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; STDERR &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;sudo apt-get install lynx&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;open&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(LYNX, &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;lynx -source http://distrowatch.com/ |&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;: cannot open lynx: &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$!&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &amp;lt;= &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$ndistro&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$distro&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rank&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;&amp;lt;LYNX&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;chomp&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; =~ &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;s/&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;lt;th class=&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;([^&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;]*)&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;*?)&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;lt;\/th&amp;gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$2&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;/i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; =~ &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;s/&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;\s&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;+)&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;//g&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;eq&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rank&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;unless&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;&amp;lt;LYNX&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) {&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;last&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;chomp&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; =~ &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;s/&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;lt;td class=&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;([^&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;]*)&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;gt;&amp;lt;a href=&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;([^&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;]*)&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;*?)&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;lt;\/a&amp;gt;&amp;lt;\/td&amp;gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$3&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;/i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; =~ &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;s/&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;\s&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;+)&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;//g&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$distro&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$line&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$rank&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\t&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$distro&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;last&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    ++&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(LYNX);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Sample runs of above program:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ .&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;best_distro.pl&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;1       Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; .&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;best_distro.pl &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;       Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;       openSUSE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;       Mint&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;4&lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;       Fedora&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;       Debian&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6546607667502276158?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6546607667502276158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6546607667502276158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6546607667502276158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6546607667502276158'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/11/finding-best-linux-distribution_05.html' title='Finding Best Linux Distribution'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-57096283991619402</id><published>2008-11-04T13:58:00.002+05:30</published><updated>2008-11-04T14:00:01.301+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='while'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='for'/><title type='text'>Counts from min to max</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;In order to get counts from start number to end number,&lt;br /&gt;I have written a shell script.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;if &lt;/span&gt;[ $# -ne 2 ]&lt;br /&gt;&lt;span style="color:#000099;"&gt;then&lt;/span&gt;&lt;br /&gt;        echo "Usage: $0 min max"&lt;br /&gt;   &lt;span style="color:#000099;"&gt;exit&lt;br /&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;min=$1&lt;br /&gt;max=$2&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;while&lt;/span&gt; [ $min -le $max  ]&lt;br /&gt;&lt;span style="color:#000099;"&gt;do&lt;/span&gt;&lt;br /&gt;        echo -n $min " "&lt;br /&gt;        min=`expr $min + 1`&lt;br /&gt;&lt;span style="color:#000099;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;#end script&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sample run:&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ ~/bin/count.sh 2 5&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;2 3 4 5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tip: This is very handy script, that is very helpful&lt;br /&gt;in getting counts in the loop. For example:&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ for i in `~/bin/count.sh 2 8`&lt;br /&gt;&amp;gt; do&lt;br /&gt;&amp;gt; echo "Hello $i"&lt;br /&gt;&amp;gt; done&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Hello 2&lt;br /&gt;Hello 3&lt;br /&gt;Hello 4&lt;br /&gt;Hello 5&lt;br /&gt;Hello 6&lt;br /&gt;Hello 7&lt;br /&gt;Hello 8&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-57096283991619402?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/57096283991619402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=57096283991619402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/57096283991619402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/57096283991619402'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/11/counts-from-min-to-max.html' title='Counts from min to max'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8295830541978001522</id><published>2008-10-17T15:10:00.002+05:30</published><updated>2008-10-17T15:12:47.298+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpuinfo'/><category scheme='http://www.blogger.com/atom/ns#' term='meminfo'/><category scheme='http://www.blogger.com/atom/ns#' term='awk'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Total RAM in your System</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;In order to find total RAM in your system, give following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ cat /proc/meminfo | awk '/^MemTotal/ {print $2/1024 " MB"}'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;2008.07 MB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you all information related to memory:&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;br /&gt;$ cat /proc/meminfo&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;br /&gt;Extra:&lt;/span&gt; Total CPU cores in your system:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ cat /proc/cpuinfo | awk '/^processor/ {ncores++} END {print "Total cores = " ncores}'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Total cores = 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8295830541978001522?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8295830541978001522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8295830541978001522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8295830541978001522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8295830541978001522'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/total-ram-in-your-system.html' title='Total RAM in your System'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2925140088208769327</id><published>2008-10-16T15:40:00.002+05:30</published><updated>2008-10-16T15:42:18.633+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kill'/><category scheme='http://www.blogger.com/atom/ns#' term='fuser'/><title type='text'>Finding Processes, which are Accessing a File System</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;After completing every task related to CD/DVD/USB, you might find it annoying to unmount/eject CD/DVD/USB, while it is being used by some unknown/stuck process. Therefore I am providing a solution (&lt;em&gt;fuser&lt;/em&gt;). Suppose your were accessing CDROM mounted at /mnt/cd/.&lt;br /&gt;&lt;br /&gt;To view which files (of CD) are being accessed by whom :&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ fuser -mu /mnt/cd/*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you are sure that, the processes are stuck/hang. Then you can kill all those processes :&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ fuser -kmu /mnt/cd/*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Warning!!!&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt; If you are using writable medium (like USB stick), please give following command before killing processes:&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ sudo sync&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2925140088208769327?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2925140088208769327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2925140088208769327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2925140088208769327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2925140088208769327'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/finding-processes-which-are-accessing.html' title='Finding Processes, which are Accessing a File System'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3797066115548919131</id><published>2008-10-15T13:00:00.002+05:30</published><updated>2008-10-15T13:50:45.249+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='date'/><title type='text'>Retrieving Date and Time from Unix Timestamp</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;In Unix, we can retrieve Date and Time from Timestamp by using following command:&lt;br /&gt;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span style="color:#009900;"&gt;$ date -r 1220000000&lt;/span&gt;&lt;span style="color:#3333ff;"&gt;&lt;br /&gt;Fri Aug 29 14:23:20 IST 2008&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;But in Linux, there is no '-r' option. Therefore, I have written a Perl script to&lt;br /&gt;retrieve date and time from timestamp. Here is the script:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ vi ~/bin/dater.pl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-family:trebuchet;"&gt;&lt;span style="color:#660000;"&gt;#!/usr/bin/perl -w&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;use&lt;/span&gt; strict;&lt;br /&gt;use warnings;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;my&lt;/span&gt; $ts = time;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;if&lt;/span&gt; (@ARGV &amp;gt;= 1)&lt;br /&gt;{&lt;br /&gt;    $ts = $ARGV[0];&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;my&lt;/span&gt; ($sec, $min, $hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($ts);&lt;br /&gt;++$mon;&lt;br /&gt;$year+=1900;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;print&lt;/span&gt; "$mday-$mon-$year $hour:$min:$sec\n";&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;br /&gt;# end dater.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#660000;"&gt;pl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sample runs of above program:&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ dater.pl&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;15-10-2008 12:34:37&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;$ dater.pl 1220000000&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;29-8-2008 14:23:20&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;PS&lt;/span&gt;: you can change parameters in &lt;em&gt;print&lt;/em&gt; function in the program&lt;br /&gt;according to output you desire.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3797066115548919131?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3797066115548919131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3797066115548919131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3797066115548919131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3797066115548919131'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/retrieving-date-and-time-from-unix.html' title='Retrieving Date and Time from Unix Timestamp'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3728983990522501626</id><published>2008-10-13T15:18:00.013+05:30</published><updated>2008-10-13T16:48:43.453+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ps'/><category scheme='http://www.blogger.com/atom/ns#' term='kill'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Terminating Processes Containing Given Pattern</title><content type='html'>&lt;p&gt;Generally, if you want to terminate a process which contains the given pattern, you use following 4 steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color:#006600;"&gt;$ ps aux | grep pattern &lt;/span&gt;&lt;/li&gt;&lt;li&gt;Copy the pid of the process from output of above command.&lt;/li&gt;&lt;li&gt;Paste this pid in the following command&lt;/li&gt;&lt;li&gt;&lt;span style="color:#006600;"&gt;$ kill -9 pid&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The above procedure is cumbersome and requires much typing.&lt;/p&gt;&lt;p&gt;Therefore I have written a program to terminate process(es), which contains given pattern. (I am assuming that ~/bin is in your $PATH).&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;$ vi ~/bin/kill_prog.sh&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#660000;"&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# Kills the program given&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;if&lt;/span&gt; [ $# -lt 2 ]&lt;br /&gt;&lt;span style="color:#000099;"&gt;then&lt;/span&gt;&lt;br /&gt;    echo "Usage: $0 [1/0] signal program-name"&lt;br /&gt;    echo "[0/1]     Do not Kill / Do kill (optional)"&lt;br /&gt;    echo "signal    -TERM (Graceful Terminate), -KILL (Abrupt KIll)"&lt;br /&gt;    exit&lt;br /&gt;&lt;span style="color:#000099;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;donothing=1&lt;br /&gt;signal=$1&lt;br /&gt;program=$2&lt;br /&gt;&lt;span style="color:#000099;"&gt;if&lt;/span&gt; [ $# -gt 2 ]&lt;br /&gt;&lt;span style="color:#000099;"&gt;then&lt;/span&gt;&lt;br /&gt;    donothing=$1&lt;br /&gt;    signal=$2&lt;br /&gt;    program=$3&lt;br /&gt;&lt;span style="color:#000099;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;pids=$(ps auxww | awk "/ $program / { print \$2 }")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;for&lt;/span&gt; pid &lt;span style="color:#000099;"&gt;in&lt;/span&gt; $pids&lt;br /&gt;&lt;span style="color:#000099;"&gt;do&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000099;"&gt;if &lt;/span&gt;[ $donothing -eq 1 ] ;&lt;span style="color:#000099;"&gt; then&lt;/span&gt;&lt;br /&gt;    echo "kill $signal $pid"&lt;br /&gt; &lt;span style="color:#000099;"&gt; else&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;    kill $signal $pid&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;  fi&lt;br /&gt;done&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#660000;"&gt;#end kill_prog.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;By default, this program does not kills the process. You have to&lt;/p&gt;&lt;p&gt;pass 0 as second parameter to the command to kill.&lt;/p&gt;&lt;p&gt;Sample runs of above programs:&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;$ kill_prog.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;Usage: /home/mitesh/Programming/Shell/WCS/kill_prog.sh [1/0] signal program-name&lt;br /&gt;[0/1]     Do not Kill / Do kill (optional)&lt;br /&gt;signal    -TERM (Graceful Terminate), -KILL (Abrupt KIll)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ kill_prog.sh -TERM ping&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;kill -TERM 16050&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ kill_prog.sh -KILL ping&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;kill -KILL 16050&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ kill_prog.sh 1 -KILL ping&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;kill -KILL 16050&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;$ kill_prog.sh 0 -KILL ping&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;Killed&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The last command actually terminates(-TERM) or kills(-TERM).&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3728983990522501626?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3728983990522501626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3728983990522501626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3728983990522501626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3728983990522501626'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/terminating-processes-containing-given.html' title='Terminating Processes Containing Given Pattern'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-3810331886785718000</id><published>2008-10-03T16:49:00.002+05:30</published><updated>2008-10-03T17:10:32.238+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Shell Session Recording</title><content type='html'>In order to record the commands and their output in a shell session,&lt;br /&gt;you can use &lt;span style="font-style: italic;"&gt;script &lt;/span&gt;command. For example:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;[mitesh@linuxbox:370:~]$ &lt;span style="font-weight: bold;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Script started, file is typescript&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;[mitesh@linuxbox:370:~]$ ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;CvsRoot  Desktop  Documents  Download  Examples  linux  Music  PDF  Pictures  Programming  Public  Templates  typescript  Videos  workspace&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;[mitesh@linuxbox:371:~]$ /bin/date&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Fri Oct  3 16:51:42 IST 2008&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;[mitesh@linuxbox:372:~]$ whoami&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;mitesh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;[mitesh@linuxbox:373:~]$ exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;exit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Script done, file is typescript&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;You can view the output file &lt;span style="font-style: italic;"&gt;typescript&lt;/span&gt; file using your favorite editor.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ cat typescript&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Script started on Friday 03 October 2008 04:51:27 PM IST&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;[mitesh@linuxbox:370:~]$ ls&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;CvsRoot  Desktop  Documents  Download  Examples  linux  Music  PDF  Pictures  Programming  Public  Templates  typescript  Videos  workspace&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;[mitesh@linuxbox:371:~]$ /bin/date&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Fri Oct  3 16:51:42 IST 2008&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;[mitesh@linuxbox:372:~]$ whoami&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;mitesh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;[mitesh@linuxbox:373:~]$ exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;exit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Script done on Friday 03 October 2008 04:51:54 PM IST&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PS: you can save the output to any file, you want instead of &lt;span style="font-style: italic;"&gt;typescript&lt;/span&gt; in&lt;br /&gt;current directory. For example&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ script shell_session_20081003.log&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ cat shell_session_20081003.log&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-3810331886785718000?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/3810331886785718000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=3810331886785718000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3810331886785718000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/3810331886785718000'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/shell-session-recording.html' title='Shell Session Recording'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-1954262951203152180</id><published>2008-10-03T16:39:00.002+05:30</published><updated>2008-10-03T16:45:09.611+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='head'/><category scheme='http://www.blogger.com/atom/ns#' term='last'/><title type='text'>Listing the Last Times a User Logged In</title><content type='html'>To output a list of top 10 recent system users:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ last | head&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To output a list of last 10 logins of a user (say: mitesh):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ last mitesh | head&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;Note&lt;/span&gt;: This command is very useful in determining who has&lt;br /&gt;logged in the system at particular moment. Helpful in forensics ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-1954262951203152180?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/1954262951203152180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=1954262951203152180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1954262951203152180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1954262951203152180'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/listing-last-times-user-logged-in.html' title='Listing the Last Times a User Logged In'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-5902209990335307943</id><published>2008-10-01T15:30:00.002+05:30</published><updated>2008-10-01T15:38:45.522+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='elinks'/><title type='text'>Viewing PDF Files on Terminal</title><content type='html'>First you need to convert a PDF document to HTML, then you run it through the elinks pager. There's a fine utility for doing just that, and it's called (appropriately) pdftohtml. You can find the home page for &lt;a href="http://pdftohtml.sourceforge.net"&gt;pdftohtml&lt;/a&gt;. If pdftohtml isn't already installed in your distribution of Linux, or isn't on your CD set, it's commonly available for Debian and RPM-based distributions, such as Fedora, SUSE, and more. The elinks program is also easily available if it isn't automatically installed in your distribution.&lt;br /&gt;For example, you can install pdftohtml and elinks in Debian Linux with this command:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# apt-get install pdftohtml elinks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Users of the yum package can get the RPM version with this command:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# yum -y install pdftohtml&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;elinks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you can view a PDF document with the following command. This particular command has one drawback. The output will not include frames (PDF files generally have a frame on the left that lets you jump to different pages).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ pdftohtml -q -noframes -stdout  document .pdf | elinks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want the left frame of page numbers, you can always use the following command instead:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ pdftohtml -q  document .pdf ; elinks  document .html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can write a script to save you all this typing each time you view a document. Use sudo or log in as root to create the /usr/local/bin/viewpdf script and enter the following code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;#!/bin/bash &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;pdftohtml -q $1 ~/temp.html&lt;br /&gt;elinks ~/temp.html&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;# &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;#end of script&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;This code assumes it's OK to store the temporary HTML file &lt;/span&gt;in your home directory. You can use another location if you prefer. Now save your work and make the file executable:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ sudo chmod +x /usr/local/bin/viewpdf&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-5902209990335307943?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/5902209990335307943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=5902209990335307943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5902209990335307943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/5902209990335307943'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/viewing-pdf-files-on-terminal.html' title='Viewing PDF Files on Terminal'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6661438447264784073</id><published>2008-10-01T14:03:00.004+05:30</published><updated>2008-10-01T14:34:40.659+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GRUB'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='imagemagick'/><category scheme='http://www.blogger.com/atom/ns#' term='convert'/><title type='text'>Create your own personalized boot splash backgrounds for GRUB</title><content type='html'>The default GRUB bootloader screen is rather bland, but you can spice it up a little by creating your own custom graphical background screen for the bootloader.&lt;br /&gt;GRUB imposes a number of limitations on the image size and number of colors. It also doesn't let you move the menu. The menu appears in a rectangle near the top of the screen, with some text instructions below the menu. This makes it relatively easy to create a graphical background screen for the GRUB bootloader, because you can focus primarily on making the bottom one-third of the screen interesting. That is not to say you cannot use other areas of the screen, but you should be careful. For example, don't make it difficult to read the GRUB instructions by placing complex graphics behind the text.&lt;br /&gt;&lt;br /&gt;Here are the rather strict requirements for the image:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It must be sized at 640x480.&lt;/li&gt;&lt;li&gt;It must be a .xpm format image file (gzip compression is optional).&lt;/li&gt;&lt;li&gt;It must contain no more than 14 colors.Most people will cringe at the 14-color limit, but it is rather amazing what you can do with just 14 colors. Cartoon images are quite suitable for this narrow range of colors, and the narrow range of colors to represent the official Linux penguin (Tux) works fine.Find or create any image you want to try as a background for GRUB.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;If you create an image yourself, it's best to create a 640x480 image and use as few colors as possible so that you don't lose the fidelity of the image when you later reduce it to 14 colors. Don't worry about using your graphics editor to limit yourself to 14 colors, however. It is possible to use the Gimp to reduce your image to use 14 colors, which can be a good way of fine-tuning the results you want.&lt;br /&gt;Here is what you need:&lt;br /&gt;A graphics editor, such as the Gimp, if you want to create or modify an image.&lt;br /&gt;You must install ImageMagick if it is not already installed. Nearly all Linux distributions provide this on the install CD, and you can use your preferred package manager to install it.Suppose you have found or created the image myimage.png.&lt;br /&gt;If you have ImageMagick installed, all you need to do to prepare the image is log in as root and issue these commands:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0);"&gt;# convert myimage.png  -colors 14 -resize 640x480  myimage.xpm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The convert command recognizes the extension png and knows what format it must convert the image from. It also recognizes the extension xpm and knows what format to convert the image to. The -colors 14 switch reduces the number of colors in the image to 14. If the image isn't already sized at 640x480, the switch -resize 640x480 will do that for you.&lt;br /&gt;&lt;br /&gt;This is sample myimage.xpm&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_a_PW3j0ycC4/SOM8xTxrziI/AAAAAAAAAAo/9vHQyIHynaU/s1600-h/myimage.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_a_PW3j0ycC4/SOM8xTxrziI/AAAAAAAAAAo/9vHQyIHynaU/s320/myimage.jpg" alt="" id="BLOGGER_PHOTO_ID_5252108408264052258" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-6661438447264784073?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/6661438447264784073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=6661438447264784073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6661438447264784073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/6661438447264784073'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/create-your-own-personalized-boot.html' title='Create your own personalized boot splash backgrounds for GRUB'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_a_PW3j0ycC4/SOM8xTxrziI/AAAAAAAAAAo/9vHQyIHynaU/s72-c/myimage.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2653158361402036409</id><published>2008-10-01T13:54:00.003+05:30</published><updated>2008-10-01T14:02:20.782+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='inittab'/><category scheme='http://www.blogger.com/atom/ns#' term='init'/><category scheme='http://www.blogger.com/atom/ns#' term='runlevel'/><title type='text'>Changing RunLevel in Linux</title><content type='html'>When a Linux system is booted, the first process that the kernel starts is &lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;/sbin/init&lt;/span&gt;. It is always process id (PID) 1 and has a parent process id (PPID) of 0. The init process is always running.&lt;br /&gt;The &lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;/etc/inittab&lt;/span&gt; file is the configuration file for&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt; /sbin/init&lt;/span&gt;. &lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;/etc/inittab&lt;/span&gt; identifies the processes that init starts, and it can be customized as desired. Few environment variables are set when a process is started by init.&lt;br /&gt;The inittab lines have four colon-separated fields:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;id&gt;id:runlevel&lt;runlevels&gt;:action&lt;action&gt;:command&lt;command&gt;&lt;/command&gt;&lt;/action&gt;&lt;/runlevels&gt;&lt;/id&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's look at the meaning of each.&lt;br /&gt;(i).  &lt;span style="color: rgb(204, 0, 0);"&gt; id&lt;/span&gt; The inittab id consists of one to four characters that identify the inittab line. The id must be unique.&lt;br /&gt;(ii).  &lt;span style="color: rgb(204, 0, 0);"&gt;runlevels&lt;/span&gt; The runlevels field contains one or more characters, usually numbers identifying the runlevels for which this process is started.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;0 System Halt&lt;/li&gt;&lt;li&gt;1 Single user mode&lt;/li&gt;&lt;li&gt;2 Local multiuser without remote network (e.g., NFS)&lt;/li&gt;&lt;li&gt;3 Multiuser with network&lt;/li&gt;&lt;li&gt;4 Not used&lt;/li&gt;&lt;li&gt;5 Multiuser with network and xdm&lt;/li&gt;&lt;li&gt;6 System reboot&lt;/li&gt;&lt;/ul&gt;You can change runlevel by changing this field, to the number&lt;br /&gt;you want. And reboot the machine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2653158361402036409?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2653158361402036409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2653158361402036409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2653158361402036409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2653158361402036409'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/10/changing-runlevel-in-linux.html' title='Changing RunLevel in Linux'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8837793185071797898</id><published>2008-09-17T17:26:00.001+05:30</published><updated>2008-09-17T17:33:25.706+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='port'/><category scheme='http://www.blogger.com/atom/ns#' term='lsof'/><category scheme='http://www.blogger.com/atom/ns#' term='fuser'/><title type='text'>How to find out which process is listening upon a port?</title><content type='html'>How to find out which process is listening upon a port (say 6000) ?&lt;br /&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;$ lsof -i :6000&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Alternatively, you can use following command:&lt;/p&gt;&lt;span style="color:#006600;"&gt;$ fuser -v -n tcp 6000&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8837793185071797898?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8837793185071797898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8837793185071797898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8837793185071797898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8837793185071797898'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/09/how-to-find-out-which-process-is.html' title='How to find out which process is listening upon a port?'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8875819937322247894</id><published>2008-09-17T17:12:00.003+05:30</published><updated>2009-03-26T12:34:51.998+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='suid'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><title type='text'>Find Command : A Swiss Army Knife</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;em&gt;&lt;strong&gt;Find&lt;/strong&gt;&lt;/em&gt; is a very useful and powerful utility. It is often used by system administration and in shell scripts. Here are 6 commands that might be useful:&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ find / -perm -4000 -print&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This command will find every file on the system that is suid. This means that when you run it you will be running it as an other user. For example, traceroute is a utility that needs to be run as root. To allow users to run it, systems administrators will set it suid root so it will be run as root even if a user starts it. This can be useful, but can also be a big security risk if the utility has a security hole in it.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here is another interesting command:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ find / -atime +10 -print&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This command will find all the files accessed more than 10 days ago. Commands like this one can be useful to find old files that need to be backuped or erased.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Find links that point to nothing &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ find / -type l -print | perl -nle '-e || print';&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;List zero-length files&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ find . -empty -exec ls {} \;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Finding files which contains a given pattern:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;$ find . -type f -exec grep "pattern" /dev/null {} \;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Finding large files (&gt;= 100 MB) in your home directory:&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$find ~/ -size +100M&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8875819937322247894?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8875819937322247894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8875819937322247894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8875819937322247894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8875819937322247894'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/09/find-command-swiss-army-knife.html' title='Find Command : A Swiss Army Knife'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-7901084574149646672</id><published>2008-09-06T19:17:00.000+05:30</published><updated>2008-10-15T12:11:14.487+05:30</updated><title type='text'>Creating Bootable USB from System Rescue CD</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;span id='htou' style='font-family: &amp;apos;Times New Roman&amp;apos;;'&gt;&lt;div id='htou0' style='border-width: 0px; margin: 0px; padding: 3px; width: auto; text-align: left;'&gt;&lt;span id='orju' style='border-collapse: collapse; color: rgb(51, 51, 51); font-family: &amp;apos;Trebuchet MS&amp;apos;; line-height: 18px;'&gt;Creating Bootable USB from System Rescue CD&lt;/span&gt;&lt;/div&gt;&lt;div id='orju0' style='border-width: 0px; margin: 0px; padding: 3px; width: auto; text-align: left;'&gt;In order to create bootable USB stick from CD image (ISO file)&lt;br id='htou1'/&gt;of &lt;a id='htou2' href='http://www.sysresccd.org/Download'&gt;System Rescue Linux&lt;/a&gt;, generally we follow steps given&lt;br id='htou3'/&gt;in this &lt;a id='htou4' href='http://www.sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick'&gt;link&lt;/a&gt;. After following instructions given, I have created&lt;br id='htou5'/&gt;a small shell script to create bootable rescue USB.&lt;br id='htou6'/&gt;&lt;br id='htou7'/&gt;The contents of the script &lt;font id='htou8' style='color: rgb(0, 0, 153);'&gt;&lt;b id='eikf'&gt;create_rescue_usb.sh&lt;/b&gt;&lt;/font&gt; are:&lt;br id='htou9'/&gt;&lt;font id='htou10' style='color: rgb(0, 102, 0);'&gt;$ cat create_rescue_usb.sh&lt;/font&gt;&lt;br id='htou11'/&gt;&lt;font face='courier new' id='htou12' style='color: rgb(102, 51, 0);'&gt;#!/bin/bash&lt;/font&gt;&lt;br id='htou13'/&gt;&lt;br id='htou14'/&gt;&lt;font face='courier new' id='htou15' style='color: rgb(0, 0, 153);'&gt;if&lt;/font&gt;&lt;font face='courier new' id='htou16'&gt; [[ $# &amp;lt; 4 ]]&lt;/font&gt;&lt;/div&gt;&lt;div id='htou19' style='border-width: 0px; margin: 0px; padding: 3px; width: auto; text-align: left;'&gt;&lt;font face='courier new' id='htou20'&gt;&lt;font face='courier new' id='htou21'&gt;&lt;font id='htou22' style='color: rgb(0, 0, 153);' class='Apple-style-span'&gt;then&lt;/font&gt;&lt;/font&gt;&lt;font face='courier new' id='htou23'&gt;&lt;font id='htou24' style='color: rgb(204, 0, 0);'&gt;&lt;br id='htou25'/&gt;  echo "Usage: $0 CDROM_Device CDROM_mount USB_Device USB_mount"&lt;/font&gt;&lt;/font&gt;&lt;font face='courier new' id='htou26'&gt;&lt;br id='htou27'/&gt;  exit&lt;/font&gt;&lt;font face='courier new' id='htou28' style='color: rgb(0, 0, 153);'&gt;&lt;br id='htou29'/&gt;fi&lt;/font&gt;&lt;br id='htou30'/&gt;&lt;font face='courier new' id='htou31'&gt;&lt;br id='htou32'/&gt;CDROM_Device=$1&lt;/font&gt;&lt;br id='htou33'/&gt;&lt;font face='courier new' id='htou34'&gt;CDROM_mount=$2&lt;/font&gt;&lt;font face='courier new' id='htou35'&gt;&lt;br id='htou36'/&gt;USB_Device=$3&lt;/font&gt;&lt;font face='courier new' id='htou37'&gt;&lt;br id='htou38'/&gt;USB_mount=$4&lt;/font&gt;&lt;font face='courier new' id='htou39' style='color: rgb(0, 0, 153);'&gt;&lt;br id='htou40'/&gt;&lt;br id='htou41'/&gt;if&lt;/font&gt;&lt;font face='courier new' id='htou42'&gt; [[ -e $CDROM_Device ]]&lt;/font&gt;&lt;br id='htou43'/&gt;&lt;font face='courier new' id='htou44' style='color: rgb(0, 0, 153);'&gt;then&lt;/font&gt;&lt;br id='htou45'/&gt;&lt;font face='courier new' id='htou46'&gt;&lt;font id='htou47' style='color: rgb(204, 0, 0);'&gt;  echo "$CDROM_Device is present."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou48'/&gt;&lt;font face='courier new' id='htou49' style='color: rgb(0, 0, 153);'&gt;else&lt;/font&gt;&lt;br id='htou50'/&gt;&lt;font face='courier new' id='htou51'&gt;&lt;font id='htou52' style='color: rgb(204, 0, 0);'&gt;  echo "$0: $CDROM_Device is not present."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou53'/&gt;&lt;font face='courier new' id='htou54'&gt;  exit&lt;/font&gt;&lt;br id='htou55'/&gt;&lt;font face='courier new' id='htou56' style='color: rgb(0, 0, 153);'&gt;fi&lt;/font&gt;&lt;br id='htou57'/&gt;&lt;font face='courier new' id='htou58' style='color: rgb(0, 0, 153);'&gt;&lt;br id='htou59'/&gt;if&lt;/font&gt;&lt;font face='courier new' id='htou60'&gt; [[ -e $USB_Device ]]&lt;/font&gt;&lt;br id='htou61'/&gt;&lt;font face='courier new' id='htou62' style='color: rgb(0, 0, 153);'&gt;then&lt;/font&gt;&lt;br id='htou63'/&gt;&lt;font face='courier new' id='htou64'&gt;&lt;font id='htou65' style='color: rgb(204, 0, 0);'&gt;  echo "$USB_Device is present."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou66'/&gt;&lt;font face='courier new' id='htou67' style='color: rgb(0, 0, 153);'&gt;else&lt;/font&gt;&lt;br id='htou68'/&gt;&lt;font face='courier new' id='htou69'&gt;&lt;font id='htou70' style='color: rgb(204, 0, 0);'&gt;  echo "$0: $USB_Device is not present."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou71'/&gt;&lt;font face='courier new' id='htou72'&gt;  exit&lt;/font&gt;&lt;br id='htou73'/&gt;&lt;font face='courier new' id='htou74' style='color: rgb(0, 0, 153);'&gt;fi&lt;/font&gt;&lt;br id='htou75'/&gt;&lt;br id='htou76'/&gt;&lt;font face='courier new' id='htou77'&gt;&lt;font id='htou78' style='color: rgb(204, 0, 0);'&gt;echo "Mounting..."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou79'/&gt;&lt;font face='courier new' id='htou80'&gt;&lt;font id='htou81' style='color: rgb(0, 153, 0);'&gt;mount -o loop $CDROM_Device $CDROM_mount&lt;/font&gt;&lt;/font&gt;&lt;br id='htou82'/&gt;&lt;font face='courier new' id='htou83' style='color: rgb(0, 0, 153);'&gt;&lt;br id='htou84'/&gt;if&lt;/font&gt;&lt;font face='courier new' id='htou85'&gt; [ $? -ne 0 ]&lt;/font&gt;&lt;font face='courier new' id='htou86' style='color: rgb(0, 0, 153);'&gt;&lt;br id='htou87'/&gt;then&lt;/font&gt;&lt;br id='htou88'/&gt;&lt;font face='courier new' id='htou89'&gt;&lt;font id='htou90' style='color: rgb(204, 0, 0);'&gt;  echo "$0: cannot mount $CDROM_Device on $CDROM_mount."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou91'/&gt;&lt;font face='courier new' id='htou92'&gt;  exit&lt;/font&gt;&lt;br id='htou93'/&gt;&lt;font face='courier new' id='htou94' style='color: rgb(0, 0, 153);'&gt;fi&lt;/font&gt;&lt;br id='htou95'/&gt;&lt;font face='courier new' id='htou96'&gt;&lt;font id='htou97' style='color: rgb(0, 153, 0);'&gt;&lt;br id='htou98'/&gt;mount $USB_Device $USB_mount&lt;/font&gt;&lt;/font&gt;&lt;br id='htou99'/&gt;&lt;font face='courier new' id='htou100' style='color: rgb(0, 0, 153);'&gt;&lt;font id='htou101' style='color: rgb(0, 0, 153);'&gt;&lt;br id='htou102'/&gt;i&lt;/font&gt;&lt;/font&gt;&lt;font face='courier new' id='htou103'&gt;&lt;font id='htou104' style='color: rgb(0, 0, 153);'&gt;f&lt;/font&gt; [ $? -ne 0 ]&lt;/font&gt;&lt;font face='courier new' id='htou105' style='color: rgb(0, 0, 153);'&gt;&lt;br id='htou106'/&gt;then&lt;/font&gt;&lt;br id='htou107'/&gt;&lt;font face='courier new' id='htou108'&gt;&lt;font id='htou109' style='color: rgb(204, 0, 0);'&gt;  echo "$0: cannot mount $USB_Device on $USB_mount."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou110'/&gt;&lt;font face='courier new' id='htou111'&gt;  umount $CDROM_mount&lt;/font&gt;&lt;br id='htou112'/&gt;&lt;font face='courier new' id='htou113'&gt;  exit&lt;/font&gt;&lt;br id='htou114'/&gt;&lt;font face='courier new' id='htou115' style='color: rgb(0, 0, 153);'&gt;fi&lt;/font&gt;&lt;br id='htou116'/&gt;&lt;br id='htou117'/&gt;&lt;font face='courier new' id='htou118'&gt;&lt;font id='htou119' style='color: rgb(204, 0, 0);'&gt;echo "Copying Files..."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou120'/&gt;&lt;font face='courier new' id='htou121'&gt;cp $CDROM_mount/syslinux/syslinux.cfg $USB_mount/&lt;/font&gt;&lt;br id='htou122'/&gt;&lt;font face='courier new' id='htou123'&gt;cp -r $CDROM_mount/isolinux/* $USB_mount/&lt;/font&gt;&lt;br id='htou124'/&gt;&lt;font face='courier new' id='htou125'&gt;cp -r $CDROM_mount/bootdisk/* $USB_mount/&lt;/font&gt;&lt;br id='htou126'/&gt;&lt;font face='courier new' id='htou127'&gt;cp $CDROM_mount/sysrcd.dat $USB_mount/&lt;/font&gt;&lt;br id='htou128'/&gt;&lt;br id='htou129'/&gt;&lt;font face='courier new' id='htou130'&gt;&lt;font id='htou131' style='color: rgb(204, 0, 0);'&gt;echo "Unmounting..."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou132'/&gt;&lt;font face='courier new' id='htou133'&gt;umount $USB_mount&lt;/font&gt;&lt;br id='htou134'/&gt;&lt;font face='courier new' id='htou135'&gt;umount $CDROM_mount&lt;/font&gt;&lt;br id='htou136'/&gt;&lt;br id='htou137'/&gt;&lt;font face='courier new' id='htou138'&gt;&lt;font id='htou139' style='color: rgb(204, 0, 0);'&gt;echo "Making $USB_Device bootable..."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou140'/&gt;&lt;font face='courier new' id='htou141'&gt;&lt;font id='htou142' style='color: rgb(0, 153, 0);'&gt;syslinux $USB_Device&lt;/font&gt;&lt;/font&gt;&lt;br id='htou143'/&gt;&lt;font face='courier new' id='htou144'&gt;&lt;font id='htou145' style='color: rgb(0, 153, 0);'&gt;sync&lt;/font&gt;&lt;/font&gt;&lt;br id='htou146'/&gt;&lt;br id='htou147'/&gt;&lt;font face='courier new' id='htou148'&gt;&lt;font id='htou149' style='color: rgb(204, 0, 0);'&gt;echo "$USB_Device is now ready to serve as bootable Linux USB."&lt;/font&gt;&lt;/font&gt;&lt;br id='htou150'/&gt;&lt;font face='courier new' id='htou151' style='color: rgb(102, 51, 0);'&gt;#end of script&lt;br id='nwko'/&gt;&lt;/font&gt;&lt;br id='htou154'/&gt;&lt;br id='htou155'/&gt;Now, you can make it executable.&lt;br id='htou156'/&gt;&lt;font id='htou157' style='color: rgb(0, 102, 0);'&gt;$ chmod u+x create_rescue_usb.sh&lt;/font&gt;&lt;br id='htou158'/&gt;&lt;br id='htou159'/&gt;Sample execution of above script &lt;font id='htou160' style='color: rgb(255, 0, 0);'&gt;(Please run as root user)&lt;/font&gt;:&lt;br id='htou161'/&gt;&lt;font id='htou162' style='color: rgb(0, 102, 0);'&gt;# ./create_rescue_cd.sh /path/of/system-rescue-cd.iso /mnt/cdrom /dev/sdb /mnt/usb&lt;/font&gt;&lt;br id='htou163'/&gt;&lt;br id='htou164'/&gt;Where,&lt;br id='htou165'/&gt;a. /path/of/system-rescue-cd.iso -- ISO image of the &lt;a id='htou166' href='http://www.sysresccd.org/Download'&gt;CD&lt;/a&gt; can be created as given in blog &lt;a id='htou167' href='http://miteshj-linux-tips.blogspot.com/2008/07/creation-of-iso-image-of-cddvd.html'&gt;Creation of ISO Image of CD/DVD&lt;/a&gt;.&lt;br id='htou168'/&gt;b. /mnt/cdrom -- directory, where you want to mount above ISO.&lt;br id='htou169'/&gt;c. /dev/sdb -- or /dev/sdb1, your usb-stick device. May differ&lt;br id='htou170'/&gt;according to your system configuration&lt;br id='htou171'/&gt;d. /mnt/usb -- directory, where you want to mount usb-stick.&lt;br id='htou172'/&gt;&lt;br id='htou173'/&gt;Now, your usb stick is ready to serve as bootable rescue USB.&lt;br id='htou174'/&gt;You can test it. At the time of BIOS boot, please select USB device&lt;br id='htou175'/&gt;as first boot device in BIOS. then save and reboot with the usb-stick&lt;br id='htou176'/&gt;plugged in one USB port.&lt;/font&gt;&lt;/div&gt;&lt;/span&gt;&lt;br id='eikf0'/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-7901084574149646672?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/7901084574149646672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=7901084574149646672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7901084574149646672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7901084574149646672'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/09/creating-bootable-usb-from-system_06.html' title='Creating Bootable USB from System Rescue CD'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2543002369565487131</id><published>2008-08-27T18:01:00.004+05:30</published><updated>2008-08-27T18:08:34.355+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mencoder'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mms'/><category scheme='http://www.blogger.com/atom/ns#' term='mplayer'/><title type='text'>How to Download mms:// (MultiMedia Stream) Video?</title><content type='html'>If you are not able to download the &lt;span style="color: rgb(0, 0, 153);"&gt;mms://a-web-site/stream_video.wmv&lt;/span&gt;&lt;br /&gt;and only able to play via streaming. But you might have slow speed,&lt;br /&gt;&lt;br /&gt;Then, you can use &lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;mencoder&lt;/span&gt; to download above file.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ mencoder -oac copy -ovc copy -o out_video_file.wmv mms://a-web-site/stream_video.wmv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PS.&lt;/span&gt; If you want to view via streaming, you can use &lt;span style="font-style: italic; color: rgb(0, 0, 153);"&gt;mplayer&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ mplayer mms://a-web-site/stream_video.wmv&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2543002369565487131?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2543002369565487131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2543002369565487131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2543002369565487131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2543002369565487131'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/08/how-to-download-mms-multimedia-stream.html' title='How to Download mms:// (MultiMedia Stream) Video?'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2188564376188828399</id><published>2008-08-22T12:14:00.002+05:30</published><updated>2008-08-22T12:18:08.486+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='DoS'/><title type='text'>Denial of Service (DoS) Prevention</title><content type='html'>&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;You can prevent DoS on you machine, by running following&lt;br /&gt;commands as root user. Or you can put following lines&lt;br /&gt;in a shell script and run it as root.&lt;br /&gt;&lt;/span&gt;                                  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  # shut some DoS stuff down   &lt;/span&gt;                                             &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  echo 1 &gt; /proc/sys/net/ipv4/tcp_syncookies                                &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  echo 1 &gt; /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses             &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts                   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                                                                            &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  # increase the local port range   &lt;/span&gt;                                        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  echo 1024 65535 &gt; /proc/sys/net/ipv4/ip_local_port_range                  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                                                                            &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  # increase the SYN backlog queue&lt;/span&gt;                                          &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  echo 2048 &gt; /proc/sys/net/ipv4/tcp_max_syn_backlog                        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                                                                            &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  echo 0 &gt; /proc/sys/net/ipv4/tcp_sack                                      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  echo 0 &gt; /proc/sys/net/ipv4/tcp_timestamps  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2188564376188828399?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2188564376188828399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2188564376188828399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2188564376188828399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2188564376188828399'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/08/denial-of-service-dos-prevention.html' title='Denial of Service (DoS) Prevention'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8746172101053602363</id><published>2008-08-06T10:33:00.002+05:30</published><updated>2008-08-06T10:39:13.627+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='wlan0'/><title type='text'>How to stop certain network to start at boot time in Fedora?</title><content type='html'>For example, if you do not want &lt;span style="color: rgb(153, 0, 0);"&gt;wlan0&lt;/span&gt; to be started at boot time,&lt;br /&gt;just move &lt;span style="color: rgb(0, 0, 153);"&gt;ifcfg-wlan0&lt;/span&gt; file from &lt;span style="color: rgb(0, 0, 153);"&gt;/etc/sysconfig/network-scripts/&lt;/span&gt; directory&lt;br /&gt;to any other directory.&lt;br /&gt;&lt;br /&gt;I am telling not to remove the file, because you can start&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;wlan0&lt;/span&gt; interface after copying the file back to &lt;span style="color: rgb(0, 0, 153);"&gt;/etc/sysconfig/network-scripts/&lt;/span&gt;&lt;br /&gt;whenever you want. And give command&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# service network restart&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8746172101053602363?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8746172101053602363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8746172101053602363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8746172101053602363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8746172101053602363'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/08/how-to-stop-certain-network-to-start-at.html' title='How to stop certain network to start at boot time in Fedora?'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-1801263236131947146</id><published>2008-08-01T11:05:00.005+05:30</published><updated>2009-05-18T22:17:44.563+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tsocks'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='tunnel'/><category scheme='http://www.blogger.com/atom/ns#' term='patch'/><category scheme='http://www.blogger.com/atom/ns#' term='diff'/><title type='text'>Fixing tsocks 1.8 Beta</title><content type='html'>I was trying to use tsocks 1.8 beta5 on Fedora 8. After installing&lt;br /&gt;I was able to use it. But, on next day, what I found is: I was not&lt;br /&gt;able to access any website, messenger service. Although, I was&lt;br /&gt;able to ping websites. Then I realized the tsocks is interfering&lt;br /&gt;with direct connection to Internet. I was not using ssh tunnel at&lt;br /&gt;that moment.&lt;br /&gt;&lt;br /&gt;I have created patch for Makefile and tsocks script.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ vi patch_Makefile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5c5&lt;br&gt; &lt;br /&gt;&amp;lt; prefix=/usr&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; prefix=/usr/local&lt;br&gt; &lt;br /&gt;9c9&lt;br&gt; &lt;br /&gt;&amp;lt; libdir = /lib&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; libdir = ${prefix}/lib&lt;br&gt; &lt;br /&gt;31c31&lt;br&gt; &lt;br /&gt;&amp;lt; CFLAGS = -g -O2 -Wall&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; CFLAGS = -O3 -Wall&lt;br&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ vi patch_tsocks&lt;/span&gt;&lt;br /&gt;6c6&lt;br&gt; &lt;br /&gt;&amp;lt; # /usr/bin/tsocks program [program arguments...]&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; # $PREFIX/bin/tsocks program [program arguments...]&lt;br&gt; &lt;br /&gt;13c13&lt;br&gt; &lt;br /&gt;&amp;lt; # /usr/bin/tsocks telnet www.foo.org&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; # $PREFIX/bin/tsocks telnet www.foo.org&lt;br&gt; &lt;br /&gt;20c20&lt;br&gt; &lt;br /&gt;&amp;lt; # . /usr/bin/tsocks on&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; # . $PREFIX/bin/tsocks on&lt;br&gt; &lt;br /&gt;22c22&lt;br&gt; &lt;br /&gt;&amp;lt; # . /usr/bin/tsocks off&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; # . $PREFIX/bin/tsocks off&lt;br&gt; &lt;br /&gt;26c26&lt;br&gt; &lt;br /&gt;&amp;lt; # source /usr/bin/tsocks on&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; # source $PREFIX/bin/tsocks on&lt;br&gt; &lt;br /&gt;28c28&lt;br&gt; &lt;br /&gt;&amp;lt; # source /usr/bin/tsocks off&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; # source $PREFIX/bin/tsocks off&lt;br&gt; &lt;br /&gt;33c33&lt;br&gt; &lt;br /&gt;&amp;lt; # /usr/bin/tsocks&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt; # $PREFIX/bin/tsocks&lt;br&gt; &lt;br /&gt;39a40,41&lt;br&gt; &lt;br /&gt;&amp;gt; PREFIX="/usr/local"&lt;br&gt; &lt;br /&gt;&amp;gt; &lt;br&gt; &lt;br /&gt;49c51&lt;br&gt; &lt;br /&gt;&amp;lt;                export LD_PRELOAD="/usr/lib/libtsocks.so"&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt;                export LD_PRELOAD="$PREFIX/lib/libtsocks.so"&lt;br&gt; &lt;br /&gt;51,52c53,54&lt;br&gt; &lt;br /&gt;&amp;lt;                echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \&lt;br&gt; &lt;br /&gt;&amp;lt;                export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt;                echo $LD_PRELOAD | grep -q "$PREFIX/lib/libtsocks\.so" || \&lt;br&gt; &lt;br /&gt;&amp;gt;                export LD_PRELOAD="$PREFIX/lib/libtsocks.so $LD_PRELOAD"&lt;br&gt; &lt;br /&gt;56c58&lt;br&gt; &lt;br /&gt;&amp;lt;        export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/usr\/lib\/libtsocks.so \?//'`&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt;        export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\$PREFIX\/lib\/libtsocks.so \?//'`&lt;br&gt; &lt;br /&gt;71c73&lt;br&gt; &lt;br /&gt;&amp;lt;            export LD_PRELOAD="/usr/lib/libtsocks.so"&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt;            export LD_PRELOAD="$PREFIX/lib/libtsocks.so"&lt;br&gt; &lt;br /&gt;73,74c75,76&lt;br&gt; &lt;br /&gt;&amp;lt;            echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \&lt;br&gt; &lt;br /&gt;&amp;lt;            export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"&lt;br&gt; &lt;br /&gt;---&lt;br&gt; &lt;br /&gt;&amp;gt;            echo $LD_PRELOAD | grep -q "$PREFIX/lib/libtsocks\.so" || \&lt;br&gt; &lt;br /&gt;&amp;gt;            export LD_PRELOAD="$PREFIX/lib/libtsocks.so $LD_PRELOAD"&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;How to apply patch and install tsocks?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;$ tar -zxvf tsocks-1.8beta5.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;$ cd tsocks-1.8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;$ ./configure &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;$ patch Makefile &amp;lt patch_Makefile&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;$ patch tsocks &amp;lt patch_tsocks&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;$ make&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;$ sudo make install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PS&lt;/span&gt;: If you do not find patches working, please mail me&lt;br /&gt;at &lt;span style="color: rgb(51, 51, 255);"&gt;mitesh[dot]singh[dot]jat[at]gmail[dot]com&lt;/span&gt; . I will&lt;br /&gt;send both patches to you.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-1801263236131947146?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/1801263236131947146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=1801263236131947146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1801263236131947146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1801263236131947146'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/08/fixing-tsocks-18-beta.html' title='Fixing tsocks 1.8 Beta'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-4002663411510142948</id><published>2008-07-28T17:47:00.000+05:30</published><updated>2008-07-28T17:51:45.385+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='head'/><category scheme='http://www.blogger.com/atom/ns#' term='ls'/><title type='text'>Finding the Largest and the Smallest File in a Directory</title><content type='html'>&lt;span style="font-family: courier new;font-size:100%;" &gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1. In order to find 9 largest files in a directory (say /etc),&lt;br /&gt;please give following command:&lt;br /&gt;&lt;/span&gt;$ ls -lS /etc | head&lt;/span&gt;&lt;br /&gt;total 2816&lt;br /&gt;-rw-r--r--  1 root     root     600399 2008-07-28 10:11 prelink.cache&lt;br /&gt;-rw-r--r--  1 root     root     362047 2007-04-18 14:10 services&lt;br /&gt;-rw-r--r--  1 root     root     144190 2007-10-12 15:08 lynx.cfg&lt;br /&gt;-rw-r--r--  1 root     root     122098 2008-07-25 10:47 ld.so.cache&lt;br /&gt;-rw-r--r--  1 root     root     117276 2007-09-17 17:57 Muttrc&lt;br /&gt;-rw-r--r--  1 root     root     114765 2007-10-11 01:28 gwen-public-ca.crt&lt;br /&gt;-rw-r--r--  1 root     root      84649 2007-08-23 12:54 sensors.conf&lt;br /&gt;-rw-r--r--  1 root     root      44990 2007-10-16 18:50 php.ini&lt;br /&gt;-rw-r--r--  1 root     root      31274 2007-10-09 14:33 jwhois.conf&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2. In order to find 9 smallest files in a directory (say /etc),&lt;br /&gt;please give following command:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ls -lSr /etc | head&lt;/span&gt;&lt;br /&gt;total 2816&lt;br /&gt;-rw-r--r--  1 root     root          0 2007-08-03 06:09 odbc.ini&lt;br /&gt;-rw-r--r--  1 root     root          0 2000-01-13 04:48 motd&lt;br /&gt;-rw-r--r--  1 root     root          0 2000-01-13 04:48 exports&lt;br /&gt;-rw-r--r--  1 root     root          0 2007-08-16 19:23 environment&lt;br /&gt;-rw-rw-r--  1 root     disk          0 2007-08-22 17:15 dumpdates&lt;br /&gt;-rw-r--r--  1 root     root          0 2007-09-24 19:28 cron.deny&lt;br /&gt;-rw-------  1 root     root          1 2007-10-05 17:41 at.deny&lt;br /&gt;lrwxrwxrwx  1 root     root          7 2008-07-18 03:26 rc -&gt; rc.d/rc&lt;br /&gt;lrwxrwxrwx  1 root     root         10 2008-07-18 03:26 rc6.d -&gt; rc.d/rc6.d&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-4002663411510142948?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/4002663411510142948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=4002663411510142948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4002663411510142948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4002663411510142948'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/07/finding-largest-and-smallest-file-in.html' title='Finding the Largest and the Smallest File in a Directory'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8095992102761274274</id><published>2008-07-23T15:32:00.000+05:30</published><updated>2008-07-23T19:46:59.351+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='pomme'/><title type='text'>Installing Linux (Fedora 8) on Macbook Pro</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I was trying to install Linux on Macbook Pro along with Mac OS X, because&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;it has Intel Processor, Intel chipset on Motherboard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;and Nvidia 8600 GT graphics card. I followed steps&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;given in &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://wiki.debian.org/MacBook"&gt;Debian Wiki&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; (Mainly upto rEFIt part) and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;in &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.mactel-linux.org/wiki/Fedora8-MacBookPro-4%2C1"&gt;Mactel&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; (for remaining part).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;I would like to suggest some tips regarding installation of&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Fedora 8 along with Mac OS X on Macbook Pro.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol style="font-family: verdana;"&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Audio:&lt;/span&gt; Download the latest &lt;a href="http://kernel.org"&gt;Linux kernel&lt;/a&gt; and compile it with Intel HD Audio drivers 82801H (ICH8 Family).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Video:&lt;/span&gt; Boot into new kernel, and install &lt;a href="http://www.nvidia.com/Download/index.aspx?lang=en-us"&gt;NVidia driver&lt;/a&gt;, restart X server by logging out and logging in.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Keyboard: &lt;/span&gt;Download &lt;a href="http://alioth.debian.org/projects/pommed/"&gt;pomme daemon&lt;/a&gt;, Compile and install it. Now Optical Drive Eject button will work. &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Backlight:&lt;/span&gt; Even after installing pommed, I was seeing very bright screen. I was not able to stare at screen for more than a minute. Later, after some tweaking of /etc/pommed.conf , I was able to decrease the backlit. I changed init = -1 to init = 1, as shown below: &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(0, 0, 153); font-family: verdana;"&gt;# nVidia GeForce 8600M GT backlight control (MacBook Pro v3 &amp;amp; v4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;lcd_nv8600mgt {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-family: verdana;"&gt;# initial backlight level [12] (0 - 15, -1 to disable)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0); font-family: verdana;"&gt;init = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-family: verdana;"&gt;# step value (1 - 2)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;    step = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-family: verdana;"&gt;# backlight level when on battery [6] (1 - 15, 0 to disable)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;    on_batt = 6&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;PS: Everything else should work as given in &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.mactel-linux.org/wiki/Fedora8-MacBookPro-4%2C1"&gt;Mactel&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; site. Feel free to write&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;comments. If you have any doubt, mail me at mitesh[dot]singh[dot]jat[at]gmail[dot]com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8095992102761274274?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8095992102761274274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8095992102761274274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8095992102761274274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8095992102761274274'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/07/installing-linux-fedora-8-on-macbook.html' title='Installing Linux (Fedora 8) on Macbook Pro'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-7542840040112075084</id><published>2008-07-18T14:49:00.000+05:30</published><updated>2008-07-23T14:18:32.071+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='fstab'/><category scheme='http://www.blogger.com/atom/ns#' term='pty'/><category scheme='http://www.blogger.com/atom/ns#' term='mount'/><category scheme='http://www.blogger.com/atom/ns#' term='pts'/><title type='text'>What is Pseudo Terminal (PTY)?</title><content type='html'>&lt;span style=";font-family:courier new;font-size:85%;"  &gt;Honestly, I did not know about the Pseudo Terminal before facing a problem. I had overwritten &lt;span style="color: rgb(0, 0, 153);"&gt;/etc/fstab&lt;/span&gt; in Fedora 8. As a result, I was not able to open either Terminal or Konsole. The error, I was getting, was:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;Not enough permission for PTY device.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then, I searched Internet for PTY device, there I found the full form of PTY, which is &lt;span style="font-style: italic;"&gt;Pseudo Terminal&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;  Like the&lt;span style="color: rgb(0, 0, 153);"&gt; /dev &lt;/span&gt;directory, &lt;span style="color: rgb(0, 0, 153);"&gt;/dev/pts&lt;/span&gt; contains entries corresponding to devices. But unlike &lt;span style="color: rgb(0, 0, 153);"&gt;/dev&lt;/span&gt;, which is an ordinary directory, &lt;span style="color: rgb(0, 0, 153);"&gt;/dev/pts&lt;/span&gt; is a special directory that is created dynamically by the Linux kernel.The contents of the directory vary with time and reflect the state of the running system.&lt;br /&gt;&lt;br /&gt;  The entries in&lt;span style="color: rgb(0, 0, 153);"&gt; /dev/pts&lt;/span&gt; correspond to pseudo-terminals (or pseudo-TTYs, or PTYs). Linux creates a PTY for every new terminal window you open and displays a corresponding entry in /dev/pts.The PTY device acts like a terminal device—it accepts input from the keyboard and displays text output from the programs that run in it. PTYs are numbered, and the PTY number is the name of the corresponding entry in &lt;span style="color: rgb(0, 0, 153);"&gt;/dev/pts&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;Then, I searched for how to open Pseudo Terminal with enough permissions.&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Solution: Since I had overwritten the &lt;span style="color: rgb(0, 0, 153);"&gt;/etc/fstab&lt;/span&gt;, the entry to&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mount devpts was not present. I then created the following entry in &lt;span style="color: rgb(0, 0, 153);"&gt;/etc/fstab&lt;/span&gt; file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;# file_system   mount_point     type     options         dump  pass&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;none            /dev/pts        devpts   (rw,mode=620)   0     0&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-7542840040112075084?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/7542840040112075084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=7542840040112075084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7542840040112075084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7542840040112075084'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/07/what-is-pseudo-terminal-pty.html' title='What is Pseudo Terminal (PTY)?'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2496824892575576994</id><published>2008-07-10T12:25:00.000+05:30</published><updated>2008-07-10T13:04:41.646+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSA'/><category scheme='http://www.blogger.com/atom/ns#' term='passwordless'/><category scheme='http://www.blogger.com/atom/ns#' term='chmod'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><title type='text'>Password-less SSH for Batch Processing</title><content type='html'>&lt;span style="font-family: verdana;"&gt;1. Generation of Public-Private RSA key pair.&lt;/span&gt;&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(0, 102, 0);"&gt;$ mkdir -p &lt;span style="font-family: monospace;"&gt;&lt;span style="font-style: italic;"&gt;~&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;em style="font-family: verdana; color: rgb(0, 102, 0);" class="replaceable"&gt;&lt;code&gt;&lt;/code&gt;&lt;/em&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/.ssh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ cd ~/.ssh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ ssh-keygen -f &lt;span style="font-style: italic;"&gt;keyname&lt;/span&gt;-identity -P '' -t rsa1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;pre style="font-family: verdana;" class="screen"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong class="userinput"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/strong&gt;&lt;em class="replaceable"&gt;&lt;code&gt;&lt;/code&gt;&lt;/em&gt;2. Allowing Password less Login on remote-machine.&lt;br /&gt;&lt;br /&gt;Copy your public key on remote-machine.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ scp &lt;span style="font-style: italic;"&gt;keyname&lt;/span&gt;-identity.pub &lt;span style="font-style: italic;"&gt;remote-machine&lt;/span&gt;:./.ssh/authorized_keys&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit authorized_keys on remote-machine&lt;br /&gt;Please place this line before your public key&lt;br /&gt;in the authorized_keys file content&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;code class="code"&gt;from="&lt;em class="replaceable"&gt;&lt;code&gt;local_machine&lt;/code&gt;&lt;/em&gt;",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,command="&lt;em style="font-style: italic;" class="replaceable"&gt;&lt;code&gt;remote_command&lt;/code&gt;&lt;/em&gt;&lt;span style="font-style: italic;"&gt;_you_want_to_execute_on_local-machine&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;For example:&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;code class="code"&gt;from="&lt;span style="font-style: italic;"&gt;local-machine&lt;/span&gt;",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,command="ls -la" 2048 35 1383...&lt;/code&gt;&lt;/span&gt;&lt;/p&gt; &lt;pre style="font-family: verdana;" class="screen"&gt;3. Please make your private key secure.&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;$ chmod 511 ~&lt;/span&gt;&lt;em style="color: rgb(0, 153, 0);" class="replaceable"&gt;&lt;code&gt;&lt;/code&gt;&lt;/em&gt;&lt;em style="color: rgb(0, 153, 0);" class="replaceable"&gt;&lt;code&gt;&lt;/code&gt;&lt;/em&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;/.ssh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;$ chmod 400 &lt;/span&gt;&lt;em style="color: rgb(0, 153, 0);" class="replaceable"&gt;&lt;code&gt;~&lt;/code&gt;&lt;/em&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;/.ssh/&lt;/span&gt;&lt;em style="color: rgb(0, 153, 0);" class="replaceable"&gt;&lt;code&gt;keyname&lt;/code&gt;&lt;/em&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;-identity&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code class="code"&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;!! Caution !!&lt;/span&gt;    &lt;p&gt;Putting a password less key in a file is exactly         like writing a password on a piece of paper. A person who can access         to your key file can do whatever you can do with the key. &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2496824892575576994?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2496824892575576994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2496824892575576994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2496824892575576994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2496824892575576994'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/07/password-less-ssh-for-batch-processing.html' title='Password-less SSH for Batch Processing'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-7865345463090977095</id><published>2008-07-08T15:36:00.000+05:30</published><updated>2008-07-08T15:44:26.956+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='dd'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='iso'/><title type='text'>Creation of ISO Image of CD/DVD</title><content type='html'>If you want to create ISO image of CD/DVD in the&lt;br /&gt;optical drive, please give the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ dd if=/dev/hdc of=/path/of/iso/image/xyz.iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can replace /dev/hdc (for Secondary Master)&lt;br /&gt;with the CD/DVD drive path on your system. like&lt;br /&gt;&lt;br /&gt;/dev/hdb (for Primary Slave)&lt;br /&gt;/dev/sdc (for SATA optical drive,&lt;br /&gt;                or newer drive naming convention)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-7865345463090977095?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/7865345463090977095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=7865345463090977095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7865345463090977095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7865345463090977095'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/07/creation-of-iso-image-of-cddvd.html' title='Creation of ISO Image of CD/DVD'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8305801500413746880</id><published>2008-07-01T13:16:00.000+05:30</published><updated>2008-07-02T13:50:34.432+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='awk'/><category scheme='http://www.blogger.com/atom/ns#' term='top'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sort'/><title type='text'>Most CPU Using Processes</title><content type='html'>The following 1 line script prints the processes which are using CPU most of the time:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;$ top -d 3600 -n 24 | awk '{arr[$13] += $10} END { for (x in arr)  print x" \t"arr[x]; }' | sort -r -n -k2 &gt; daily_stats&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;You can vary value of &lt;span style="color: rgb(204, 0, 0);"&gt;-d ----&lt;/span&gt; and &lt;span style="color: rgb(204, 0, 0);"&gt;-n -- &lt;/span&gt;of &lt;span style="color: rgb(204, 0, 0);"&gt;top&lt;/span&gt;, to increase accuracy of&lt;br /&gt;statistics. i.e. (delay) * (count) should be 86400 always for daily&lt;br /&gt;statistics.&lt;br /&gt;for example:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;$ top -d 1800 -n 48 | awk '{arr[$13] += $10} END { for (x in arr)  print x" \t"arr[x]; }' | sort -r -n -k2 &gt; daily_stats&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8305801500413746880?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8305801500413746880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8305801500413746880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8305801500413746880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8305801500413746880'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/07/most-cpu-using-processes.html' title='Most CPU Using Processes'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-1667297112317925527</id><published>2008-06-26T17:13:00.000+05:30</published><updated>2008-07-28T18:07:31.174+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='scp'/><category scheme='http://www.blogger.com/atom/ns#' term='bandwidth'/><category scheme='http://www.blogger.com/atom/ns#' term='hub'/><title type='text'>Bandwidth Limiting SCP (Secure CoPy)</title><content type='html'>You can also limit the bandwidth scp may use when copying.&lt;br /&gt;This is very useful if you want to copy a huge amount of data&lt;br /&gt;without suffering from slow network for a long time. Limiting&lt;br /&gt;bandwidth is done in this way:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ scp -l bandwidthlimit_in_kbps username@remote_host:/path/to/file .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The bandwidth is specified in Kbit/sec. What does this mean?&lt;br /&gt;Eight bits is one byte. If you want to copy no faster than&lt;br /&gt;10 Kbyte/sec, set the limit to 80. If you want to copy no faster&lt;br /&gt;than 80 Kbyte/sec, set the limit to 640. You should set the limit&lt;br /&gt;to eight times the maximum Kbyte/sec you want it to be.&lt;br /&gt;I would recommend to set the -l option with all scp'ing you do&lt;br /&gt;on a connection that other people need to use, too. A big amount&lt;br /&gt;of copying can virtually block a whole 10 Mbit network if you are&lt;br /&gt;using hubs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-1667297112317925527?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/1667297112317925527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=1667297112317925527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1667297112317925527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1667297112317925527'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/06/banwidth-limiting-scp-secure-copy.html' title='Bandwidth Limiting SCP (Secure CoPy)'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-8318594127462400017</id><published>2008-06-24T17:28:00.000+05:30</published><updated>2008-06-24T17:45:50.760+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='run-level'/><category scheme='http://www.blogger.com/atom/ns#' term='Debian'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><title type='text'>Reducing Booting Time in Linux</title><content type='html'>You can reduce the booting time in Linux, by disabling the&lt;br /&gt;services, which are not being used by  you.&lt;br /&gt;&lt;br /&gt;There is a directory for each run-level in &lt;span style="color: rgb(0, 0, 153);"&gt;/etc&lt;/span&gt;. Those&lt;br /&gt;are named as &lt;span style="color: rgb(0, 0, 153);"&gt;/etc/rc.&amp;lt run-level &amp;gt&lt;/span&gt; , where&lt;br /&gt;run-level = 0~6&lt;br /&gt;&lt;br /&gt;On most Linux distros, default run-level is 5, in Debian default&lt;br /&gt;run-level is 2.&lt;br /&gt;&lt;br /&gt;1. Go to your run-level directory&lt;span style="color: rgb(0, 0, 153);"&gt; /etc/rc.&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 153);"&gt;n&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;# cd /etc/rc.5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. If you want to disable, Apache Web-Server (apache), just&lt;br /&gt;you have to rename, the corresponding file my replacing 'S'&lt;br /&gt;(start) by 'K' (kill).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;# mv S91apache K91apache&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Likewise, you can disable all the undesired services.&lt;br /&gt;This procedure will make your linux not only fast,&lt;br /&gt;but also secure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-8318594127462400017?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/8318594127462400017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=8318594127462400017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8318594127462400017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/8318594127462400017'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/06/reducing-booting-time-in-linux.html' title='Reducing Booting Time in Linux'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2396901834463598041</id><published>2008-06-16T12:49:00.001+05:30</published><updated>2008-11-05T14:47:58.225+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spoofing'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Man-inMiddle'/><category scheme='http://www.blogger.com/atom/ns#' term='DoS'/><category scheme='http://www.blogger.com/atom/ns#' term='ARP'/><title type='text'>Prevention of Man-in-Middle Attack</title><content type='html'>&lt;pre  style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;Having anticipated, Man-in-Middle attack by ARP Spoofing. a problem,&lt;br /&gt;(For example: there are many lab machines which have NFS access to user&lt;br /&gt;disks on a server. These machines may even be turned OFF which makes it&lt;br /&gt;easy for a spoofer to get in.), I wrote a short Perl script designed to&lt;br /&gt;be run from the system startup file.  Basically, it fills the ARP cache&lt;br /&gt;on Linux with the IP and MAC addresses of known machines, setting a flag&lt;br /&gt;so that they are never removed from the cache and can never be changed.&lt;br /&gt;&lt;br /&gt;The config file format is simple -- IP address followed by MAC address,&lt;br /&gt;separated by whitespace.  Pound at the beginning of a line indicates&lt;br /&gt;comment.&lt;br /&gt;For example:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;# vi ip_mac.conf&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);font-size:100%;" &gt;# IP_Address MAC_Address&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;10.1.1.2 aa.bb.cc.dd.ee.ff&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;...&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;...&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This has only been tested on Linux -- people on other platforms may need&lt;br /&gt;to adjust the parameters to arp in the system call.&lt;br /&gt;&lt;br /&gt;It is a quick 'n' dirty program, but works -- maybe it will be useful to&lt;br /&gt;somebody out there, too.&lt;br /&gt;&lt;br /&gt;Note: you want to make sure that it is run after your network interface is&lt;br /&gt;brought up but before any servers or clients are started; otherwise,&lt;br /&gt;somebody may be able to sneak in a connection before the ARP tables are&lt;br /&gt;"locked".&lt;br /&gt;&lt;br /&gt;Here is the Perl script:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;# vi force_hw_addr.pl&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);font-size:100%;" &gt;#!/usr/bin/perl&lt;/span&gt;&lt;span style="font-size:100%;"&gt; -w&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);font-size:100%;" &gt;# Program: force_hw_addr.pl&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);font-size:100%;" &gt;# Program to run ARP to force certain tables.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);font-size:100%;" &gt;# Specify filenames(Redirection) or stdin&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;foreach (&lt;&gt;) &lt;/span&gt;   &lt;span style="color: rgb(0, 0, 153);"&gt;# For each input line....&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;{                 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt; chomp;  &lt;/span&gt;                      &lt;span style="color: rgb(0, 0, 153);"&gt;# Strip if CR/LF&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt; if (/^#/)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;   next;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt; }   &lt;/span&gt;       &lt;span style="color: rgb(0, 0, 153);"&gt; # If it's a comment, skip it.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;if (((($host, $hw) = /\s*(.+?)\s+(\S+)\s*/) == 2) &amp;amp;&amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;     !(/^#/))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; # The text between the slashes parses the input line as follows:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # Ignore leading whitespace.  (\s*)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # Then, start matching and put it into $host ($host, (.+?))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # Skip over the whitespace after that (\s+)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # Start matching.  Continue matching until end of line or optional&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # trailing whitespace.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # Then, the if checks to see that both a&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # host and a hardware address were matched.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # (2 matches).  If not, we skip the&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # line (assuming it is blank or invalid or something).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # The second part of the if checks to see if the line starts with&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # a pound sign; if so, ignore it (as a comment).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     # Otherwise, run the appropriate command:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;   printf("Setting IP %-15s to hardware address %s\n", $host, $hw);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;   system "/usr/sbin/arp -s $host $hw\n";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Example execution.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# ./force_hw_addr.pl &lt; ip_mac.conf&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I hope that this script will help you access resources in&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;your network and prevent DoS/Man-in-Middle Attack.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2396901834463598041?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2396901834463598041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2396901834463598041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2396901834463598041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2396901834463598041'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/06/prevention-of-man-in-middle-attack.html' title='Prevention of Man-in-Middle Attack'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-1168838274352340458</id><published>2008-06-10T15:00:00.000+05:30</published><updated>2008-06-10T15:10:39.618+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='ps'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><title type='text'>Process Status of Any Process Containing given String</title><content type='html'>&lt;span style="font-size:100%;"&gt;In order to get Process Status (ps) of any process containing given string&lt;br /&gt;(say 'mitesh'), we use to type following commands, which are long and&lt;br /&gt;tedious to type.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;$ ps auxww | grep "mitesh" | grep -v grep&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;Instead, if we type&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;$ psg.sh mitesh&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;which is more convenient to type. So what this '&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);font-size:100%;" &gt;psg.sh&lt;/span&gt;&lt;span style="font-size:100%;"&gt;'&lt;br /&gt;contains (I am assuming, that &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);font-size:100%;" &gt;~/bin&lt;/span&gt;&lt;span style="font-size:100%;"&gt; is in &lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);font-size:100%;" &gt;$PATH&lt;/span&gt;&lt;span style="font-size:100%;"&gt;):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;$ vi ~/bin/psg.sh&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);font-size:100%;" &gt;#!/bin/bash&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;function is () &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;{&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;        ps auxww | grep "$@" | grep -v "grep"&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;}&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;is $@&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);font-size:100%;" &gt;# END : psg.sh&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-1168838274352340458?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/1168838274352340458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=1168838274352340458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1168838274352340458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/1168838274352340458'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/06/process-status-of-any-process.html' title='Process Status of Any Process Containing given String'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-2391240980200487369</id><published>2008-06-10T12:51:00.000+05:30</published><updated>2008-06-10T14:55:18.102+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ifcfg-eth0'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='eth0'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethernet'/><title type='text'>Ethernet Configurations on Fedora/RHEL</title><content type='html'>&lt;span style="font-family:courier new;"&gt;In order to configure ethernet (Usually eth0 for first ethernet card),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;open &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);font-family:courier new;" &gt;/etc/sysconfig/network-scripts/ifcfg-eth0&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;# vi /etc/sysconfig/network-scripts/ifcfg-eth0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:courier new;"&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre  style="color: rgb(255, 0, 0);font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;#&gt;&gt;&gt;Device type: ethernet&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;#&gt;&gt;&gt;Variable declarations:&lt;/span&gt;&lt;br /&gt;DEVICE=eth0&lt;br /&gt;IPADDR=192.168.0.2&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;NETWORK=192.168.0.0&lt;br /&gt;BROADCAST=255.255.255.255&lt;br /&gt;GATEWAY=192.168.0.1&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;# Whether to make available after boot&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;# or enable at root's consent&lt;/span&gt;&lt;br /&gt;ONBOOT=no&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;# PROTO = dhcp, none&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;#&gt;&gt;&gt;End variable declarations&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-2391240980200487369?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/2391240980200487369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=2391240980200487369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2391240980200487369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/2391240980200487369'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/06/ethernet-configurations-on-fedorarhel.html' title='Ethernet Configurations on Fedora/RHEL'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-4916432047902651274</id><published>2008-06-10T12:39:00.000+05:30</published><updated>2008-06-10T12:48:04.991+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GRUB'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><title type='text'>Booting in Single User Mode in Linux</title><content type='html'>At the boot time, you usually see GRUB (GRand Unified Boot) Loader.&lt;br /&gt;&lt;br /&gt;You select any one option of available OSs from the menu.&lt;br /&gt;&lt;br /&gt;For example, if you have Windows and Linux.&lt;br /&gt;You will get 2(or more) options to boot.&lt;br /&gt;&lt;br /&gt;In order to boot into single user mode, you select desired&lt;br /&gt;linux and press '&lt;span style="color: rgb(255, 0, 0);"&gt;e&lt;/span&gt;' in grub menu, you will see new window&lt;br /&gt;with something given below&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;root            (hd0,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;kernel          /boot/vmlinuz-2.6.22.6 root=/dev/sda1 ro resume=/dev/sda3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;initrd          /boot/initrd.img-2.6.22.6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;savedefault&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Now, you append '1' or 'single' in the second line (kernel) as kernel&lt;br /&gt;parameter. For example&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;kernel          /boot/vmlinuz-2.6.22.6 root=/dev/sda1 ro resume=/dev/sda3 1&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;or&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;kernel          /boot/vmlinuz-2.6.22.6 root=/dev/sda1 ro resume=/dev/sda3 single&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Now, press '&lt;span style="color: rgb(255, 0, 0);"&gt;b&lt;/span&gt;', to boot into single user mode. :)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-4916432047902651274?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/4916432047902651274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=4916432047902651274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4916432047902651274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/4916432047902651274'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/06/booting-in-single-user-mode-in-linux.html' title='Booting in Single User Mode in Linux'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-7921127580576322355</id><published>2008-06-09T09:19:00.000+05:30</published><updated>2008-06-09T09:37:29.255+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='Shortcuts'/><category scheme='http://www.blogger.com/atom/ns#' term='bashrc'/><title type='text'>Shortcuts for Working in BASH (Bourne Again SHell)</title><content type='html'>&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Navigation&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Left/right cursor key&lt;/span&gt; ---   Move left/right in text&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+A &lt;/span&gt;---                           Move to beginning of lIne&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+E&lt;/span&gt; ---                        Move to end of line&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+right arrow&lt;/span&gt; ---      Move forward one word&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+left arrow&lt;/span&gt; ---      Move left one word&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Editing&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+U&lt;/span&gt; ---  Delete everything behind cursor to start of line&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+K&lt;/span&gt; --- Delete from cursor to end of line&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+W&lt;/span&gt; --- Delete from cursor to beginning of word&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Alt+D&lt;/span&gt; ---  Delete from cursor to end of word&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+T&lt;/span&gt; --- Transpose characters on left and right of cursor&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Alt+T&lt;/span&gt; ---  Transpose words on left and right of cursor&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Miscellaneous&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+L&lt;/span&gt;  ---      Clear screen (everything above current line)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+U&lt;/span&gt;  ---            Undo everything since last command&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Alt+R &lt;/span&gt;  ---           Undo changes made to the line&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ctrl+Y&lt;/span&gt; ---             Undo deletion of word or line caused by using Ctrl+K, Ctrl+W, and so on&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Alt+L&lt;/span&gt;  ---       Lowercase current word (from the cursor to end of word)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt;: If you find these shortcuts hard to remember and you know vi(m),&lt;br /&gt;you can enable vi mode for editing command line using following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ set -o vi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To enable vi mode from start of Bash, add following lines to your &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;~/.bashrc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;# Start vi Mode for command line editing&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;set -o vi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4580321781834803857-7921127580576322355?l=miteshj-linux-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miteshj-linux-tips.blogspot.com/feeds/7921127580576322355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4580321781834803857&amp;postID=7921127580576322355' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7921127580576322355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4580321781834803857/posts/default/7921127580576322355'/><link rel='alternate' type='text/html' href='http://miteshj-linux-tips.blogspot.com/2008/06/shortcuts-for-working-in-bash-bourne.html' title='Shortcuts for Working in BASH (Bourne Again SHell)'/><author><name>mitesh.singh.jat</name><uri>http://www.blogger.com/profile/07162136575962629440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_a_PW3j0ycC4/SZqM76SzjoI/AAAAAAAAACI/QIjklm1lIRI/S220/Mitesh_Yahoo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4580321781834803857.post-6307159018254293830</id><published>2008-06-02T12:47:00.000+05:30</published><updated>2008-06-04T09:49:14.310+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tar'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='crontab'/><title type='text'>Backup Using TAR</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Tar utility can be used to take backup. I have created a&lt;br /&gt;handy script to do backup of files/directories(me
