Wednesday, March 19, 2008

What is Effective Communication??

What is Effective Communication ??

Jack and Max are walking from religious service. Jack wonders whether it would
be all right to smoke while praying.

Max replies, "Why don't you ask the Priest?"

So Jack goes up to the Priest and asks, "Priest,may I smoke while I pray?"

But the Priest says,
"No, my son, you may not. That's utter disrespect to our religion."

Jack goes back to his friend and tells him what the good Priest told him.

Max says, "I'm not surprised. You asked the wrong question. Let me try."

And so Max goes up to the Priest and asks, "Priest, may I pray while I smoke?"

To which the Priest eagerly replies, "By all means, my son. By all means."

Moral : The reply you get depends on the question you ask.


For Example : Can I work on this project while I'm on vacation ?!?

Linux CLI commands

CommandDescription
apropos whatisShow commands pertinent to string. See also threadsafe
man -t man | ps2pdf - > man.pdfmake a pdf of a manual page
which commandShow full path name of command
time commandSee how long a command takes
time catStart stopwatch. Ctrl-d to stop. See also sw
nice infoRun a low priority command (The "info" reader in this case)
renice 19 -p $$Make shell (script) low priority. Use for non interactive tasks
dir navigation
cd -Go to previous directory
cdGo to $HOME directory
(cd dir && command)Go to dir, execute command and return to current dir
pushd .Put current dir on stack so you can popd back to it
alias l='ls -l --color=auto'quick dir listing
ls -lrtList files by date. See also newest and find_mm_yyyy
ls /usr/bin | pr -T9 -W$COLUMNSPrint in 9 columns to width of terminal
find -name '*.[ch]' | xargs grep -E 'expr'Search 'expr' in this dir and below. See also findrepo
find -type f -print0 | xargs -r0 grep -F 'example'Search all regular files for 'example' in this dir and below
find -maxdepth 1 -type f | xargs grep -F 'example'Search all regular files for 'example' in this dir
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; doneProcess each item with multiple commands (in while loop)
find -type f ! -perm -444Find files not readable by all (useful for web site)
find -type d ! -perm -111Find dirs not accessible by all (useful for web site)
locate -r 'file[^/]*\.txt'Search cached index for names. This re is like glob *file*.txt
look referenceQuickly search (sorted) dictionary for prefix
grep --color reference /usr/share/dict/wordsHighlight occurances of regular expression in dictionary
archives and compression
gpg -c fileEncrypt file
gpg file.gpgDecrypt file
tar -c dir/ | bzip2 > dir.tar.bz2Make compressed archive of dir/
bzip2 -dc dir.tar.bz2 | tar -xExtract archive (use gzip instead of bzip2 for tar.gz files)
tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg'Make encrypted archive of dir/ on remote machine
find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2Make archive of subset of dir/ and below
find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parentsMake copy of subset of dir/ and below
( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p )Copy (with permissions) copy/ dir to /where/to/ dir
( cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p )Copy (with permissions) contents of copy/ dir to /where/to/
( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ && tar -x -p' Copy (with permissions) copy/ dir to remote:/where/to/ dir
dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz'Backup harddisk to remote machine
rsync (Use the --dry-run option for testing)
rsync -P rsync://rsync.server.com/path/to/file fileOnly get diffs. Do multiple times for troublesome downloads
rsync --bwlimit=1000 fromfile tofileLocally copy with rate limit. It's like nice for I/O
rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html'Mirror web site (using compression and encryption)
rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/Synchronize current directory with remote one
ssh (Secure SHell)
ssh $USER@$HOST commandRun command on $HOST as $USER (default command=shell)
ssh -f -Y $USER@$HOSTNAME xeyesRun GUI command on $HOSTNAME as $USER
scp -p -r $USER@$HOST: file dir/Copy with permissions to $USER's home directory on $HOST
ssh -g -L 8080:localhost:80 root@$HOSTForward connections to $HOSTNAME:8080 out to $HOST:80
ssh -R 1434:imap:143 root@$HOSTForward connections from $HOST:1434 in to imap:143
wget (multi purpose download tool)
(cd cli && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html)Store local browsable version of a page to the current dir
wget -c http://www.example.com/large.fileContinue downloading a partially downloaded file
wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/dir/Download a set of files to the current directory
wget ftp://remote/file[1-9].iso/FTP supports globbing directly
wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | headProcess output directly
echo 'wget url' | at 01:00Download url at 1AM to current dir
wget --limit-rate=20k urlDo a low priority download (limit to 20KB/s in this case)
wget -nv --spider --force-html -i bookmarks.htmlCheck links in a file
wget --mirror http://www.example.com/Efficiently update a local copy of a site (handy from cron)
networking (Note ifconfig, route, mii-tool, nslookup commands are obsolete)
ethtool eth0Show status of ethernet interface eth0
ethtool --change eth0 autoneg off speed 100 duplex fullManually set ethernet interface speed
iwconfig eth1Show status of wireless interface eth1
iwconfig eth1 rate 1Mb/s fixedManually set wireless interface speed
iwlist scanList wireless networks in range
ip link showList network interfaces
ip link set dev eth0 name wanRename interface eth0 to wan
ip link set dev eth0 upBring interface eth0 up (or down)
ip addr showList addresses for interfaces
ip addr add 1.2.3.4/24 brd + dev eth0Add (or del) ip and mask (255.255.255.0)
ip route showList routing table
ip route add default via 1.2.3.254Set default gateway to 1.2.3.254
tc qdisc add dev lo root handle 1:0 netem delay 20msecAdd 20ms latency to loopback device (for testing)
tc qdisc del dev lo rootRemove latency added above
host pixelbeat.orgLookup DNS ip address for name or vice versa
hostname -iLookup local ip address (equivalent to host `hostname`)
whois pixelbeat.orgLookup whois info for hostname or ip address
netstat -tuplList internet services on a system
netstat -tupList active connections to/from system
windows networking (Note samba is the package that provides all this windows specific networking support)
smbtreeFind windows machines. See also findsmb
nmblookup -A 1.2.3.4Find the windows (netbios) name associated with ip address
smbclient -L windows_boxList shares on windows machine or samba server
mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/shareMount a windows share
echo 'message' | smbclient -M windows_boxSend popup to windows machine (off by default in XP sp2)
text manipulation (Note sed uses stdin and stdout, so if you want to edit files, append newfile)
sed 's/string1/string2/g'Replace string1 with string2
sed 's/\(.*\)1/\12/g'Modify anystring1 to anystring2
sed '/ *#/d; /^ *$/d'Remove comments and blank lines
sed ':a; /\\$/N; s/\\\n//; ta'Concatenate lines with trailing \
sed 's/[ \t]*$//'Remove trailing spaces from lines
sed 's/\([\\`\\"$\\\\]\)/\\\1/g'Escape shell metacharacters active within double quotes
seq 10 | sed "s/^/ /; s/ *\(.\{7,\}\)/\1/"Right align numbers
sed -n '1000p;1000q'Print 1000th line
sed -n '10,20p;20q'Print lines 10 to 20
sed -n 's/.*\(.*\)<\/title>.*/\1/ip;<acronym title="quit after match">T;q</acronym>'</td><td>Extract title from HTML web page</td></tr> <tr><td> </td><td class="nw">sort -t. -k1,1n -k2,2n -k3,3n -k4,4n</td><td>Sort IPV4 ip addresses</td></tr> <tr><td>•</td><td class="nw">echo 'Test' | tr '[:lower:]' '[:upper:]'</td><td>Case conversion</td></tr> <tr><td>•</td><td class="nw">tr -dc '[:print:]' < /dev/urandom</td><td>Filter non printable characters</td></tr> <tr><td>•</td><td class="nw">history | wc -l</td><td>Count lines</td></tr> <tr id="sets" class="pbtitle"><td colspan="3"><b>set operations</b> (Note you can <a href="http://www.pixelbeat.org/docs/env.html">export LANG=C</a> for speed. Also these assume no duplicate lines within a file)</td></tr> <tr><td> </td><td class="nw">sort file1 file2 | uniq</td><td><acronym title="Items in either file1 or file2">Union</acronym> of unsorted files</td></tr> <tr><td> </td><td class="nw">sort file1 file2 | uniq -d</td><td><acronym title="Items both in file1 and file2">Intersection</acronym> of unsorted files</td></tr> <tr><td> </td><td class="nw">sort file1 file1 file2 | uniq -u</td><td><acronym title="Items in file2 not in file1">Difference</acronym> of unsorted files</td></tr> <tr><td> </td><td class="nw">sort file1 file2 | uniq -u</td><td><acronym title="Items in only one file">Symmetric Difference</acronym> of unsorted files</td></tr> <tr><td> </td><td class="nw">join -a1 -a2 file1 file2</td><td>Union of sorted files</td></tr> <tr><td> </td><td class="nw">join file1 file2</td><td>Intersection of sorted files</td></tr> <tr><td> </td><td class="nw">join -v2 file1 file2</td><td>Difference of sorted files</td></tr> <tr><td> </td><td class="nw">join -v1 -v2 file1 file2</td><td>Symmetric Difference of sorted files</td></tr> <tr id="math" class="pbtitle"><td colspan="3"><b>math</b></td></tr> <tr><td>•</td><td class="nw">echo '(1 + sqrt(5))/2' | bc -l</td><td>Quick math (Calculate φ). See also <a href="http://www.pixelbeat.org/scripts/bc">bc</a></td></tr> <tr><td>•</td><td class="nw">echo 'pad=20; min=64; (100*10^6)/((pad+min)*8)' | bc</td><td>More complex (int) e.g. This shows max FastE packet rate</td></tr> <tr><td>•</td><td class="nw">echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' | python</td><td>Python handles scientific notation</td></tr> <tr><td>•</td><td class="nw">echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist</td><td>Plot FastE packet rate vs packet size</td></tr> <tr><td>•</td><td class="nw">echo 'obase=16; ibase=10; 64206' | bc</td><td>Base conversion (decimal to hexadecimal)</td></tr> <tr><td>•</td><td class="nw">echo $((0x2dec))</td><td>Base conversion (hex to dec) ((shell arithmetic expansion))</td></tr> <tr><td>•</td><td class="nw">units -t '100m/9.74s' 'miles/hour'</td><td>Unit conversion (metric to imperial)</td></tr> <tr><td>•</td><td class="nw">units -t '500GB' 'GiB'</td><td>Unit conversion (<acronym title="powers of 10">SI</acronym> to <acronym title="powers of 2">IEC</acronym> prefixes)</td></tr> <tr><td>•</td><td class="nw">units -t '1 googol'</td><td>Definition lookup</td></tr> <tr><td>•</td><td class="nw">seq 100 | (tr '\n' +; echo 0) | bc</td><td>Add a column of numbers. See also <a href="http://www.pixelbeat.org/scripts/add">add</a> and <a href="http://www.pixelbeat.org/scripts/funcpy">funcpy</a></td></tr> <tr id="dates" class="pbtitle"><td colspan="3"><b>calendar</b></td></tr> <tr><td>•</td><td class="nw">cal -3</td><td>Display a calendar</td></tr> <tr><td>•</td><td class="nw">cal 9 1752</td><td>Display a calendar for a particular month year</td></tr> <tr><td>•</td><td class="nw">date -d fri</td><td>What date is it this friday. See also <a href="http://www.pixelbeat.org/scripts/day">day</a></td></tr> <tr><td>•</td><td class="nw">date --date='25 Dec' +%A</td><td>What day does xmas fall on, this year</td></tr> <tr><td>•</td><td class="nw">date --date '1970-01-01 UTC 2147483647 seconds'</td><td>Convert number of seconds since the epoch to a date</td></tr> <tr><td>•</td><td class="nw">TZ=':America/Los_Angeles' date</td><td>What time is it on West coast of US (use tzselect to find TZ)</td></tr> <tr><td> </td><td class="nw">echo "mail -s 'get the train' P@draigBrady.com < /dev/null" | at 17:45</td><td>Email reminder</td></tr> <tr><td>•</td><td class="nw">echo "DISPLAY=$DISPLAY xmessage cooker" | at "NOW + 30 minutes"</td><td>Popup reminder</td></tr> <tr id="locale" class="pbtitle"><td colspan="3"><b>locales</b></td></tr> <tr><td>•</td><td class="nw">printf "%'d\n" 1234</td><td>Print number with thousands grouping appropriate to locale</td></tr> <tr><td>•</td><td class="nw">BLOCK_SIZE=\'1 ls -l</td><td>get ls to do thousands grouping appropriate to locale</td></tr> <tr><td>•</td><td class="nw">echo "I live in `locale territory`"</td><td>Extract info from locale database</td></tr> <tr><td>•</td><td class="nw">LANG=en_IE.utf8 locale int_prefix</td><td>Lookup locale info for specific country. See also <a href="http://www.pixelbeat.org/scripts/ccodes">ccodes</a></td></tr> <tr><td>•</td><td class="nw">locale | cut -d= -f1 | xargs locale -kc | less</td><td>List fields available in locale database</td></tr> <tr id="recode" class="pbtitle"><td colspan="3"><b>recode</b> (Obsoletes iconv, dos2unix, unix2dos)</td></tr> <tr><td>•</td><td class="nw">recode -l | less</td><td>Show available conversions (aliases on each line)</td></tr> <tr><td> </td><td class="nw">recode windows-1252.. file_to_change.txt</td><td>Windows "ansi" to local charset (auto does CRLF conversion)</td></tr> <tr><td> </td><td class="nw">recode utf-8/CRLF.. file_to_change.txt</td><td>Windows utf8 to local charset</td></tr> <tr><td> </td><td class="nw">recode iso-8859-15..utf8 file_to_change.txt</td><td>Latin9 (western europe) to utf8</td></tr> <tr><td> </td><td class="nw">recode ../b64 <> file.b64</td><td>Base64 encode</td></tr> <tr><td> </td><td class="nw">recode /qp.. <> file.qp</td><td>Quoted printable decode</td></tr> <tr><td> </td><td class="nw">recode ..HTML <> file.html</td><td>Text to HTML</td></tr> <tr><td>•</td><td class="nw">recode -lf windows-1252 | grep euro</td><td>Lookup <a href="http://www.pixelbeat.org/docs/utf8.html">table of characters</a></td></tr> <tr><td>•</td><td class="nw">echo -n 0x80 | recode latin-9/x1..dump</td><td>Show what a code represents in latin-9 charmap</td></tr> <tr><td>•</td><td class="nw">echo -n 0x20AC | recode ucs-2/x2..latin-9/x</td><td>Show latin-9 encoding</td></tr> <tr><td>•</td><td class="nw">echo -n 0x20AC | recode ucs-2/x2..utf-8/x</td><td>Show utf-8 encoding</td></tr> <tr id="CDs" class="pbtitle"><td colspan="3"><b><acronym title="Compact Disks">CDs</acronym></b></td></tr> <tr><td> </td><td class="nw">gzip < /dev/cdrom > cdrom.iso.gz</td><td>Save copy of data cdrom</td></tr> <tr><td> </td><td class="nw">mkisofs -V LABEL -r dir | gzip > cdrom.iso.gz</td><td>Create cdrom image from contents of dir</td></tr> <tr><td> </td><td class="nw">mount -o loop cdrom.iso /mnt/dir</td><td>Mount the cdrom image at /mnt/dir (read only)</td></tr> <tr><td> </td><td class="nw">cdrecord -v dev=/dev/cdrom blank=fast</td><td>Clear a CDRW</td></tr> <tr><td> </td><td class="nw">gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom -</td><td>Burn cdrom image (use dev=ATAPI -scanbus to confirm dev)</td></tr> <tr><td> </td><td class="nw">cdparanoia -B</td><td>Rip audio tracks from CD to wav files in current dir</td></tr> <tr><td> </td><td class="nw">cdrecord -v dev=/dev/cdrom -audio *.wav</td><td>Make audio CD from all wavs in current dir (see also cdrdao)</td></tr> <tr><td> </td><td class="nw">oggenc --tracknum='track' track.cdda.wav -o 'track.ogg'</td><td>Make ogg file from wav file</td></tr> <tr id="disk_space" class="pbtitle"><td colspan="3"><b>disk space</b> (See also <a href="http://www.pixelbeat.org/fslint/">FSlint</a>)</td></tr> <tr><td>•</td><td class="nw">ls -lSr</td><td>Show files by size, biggest last</td></tr> <tr><td>•</td><td class="nw">du -s * | sort -k1,1rn | head</td><td>Show top disk users in current dir. See also <a href="http://www.pixelbeat.org/scripts/dutop">dutop</a></td></tr> <tr><td>•</td><td class="nw">df -h</td><td>Show free space on mounted filesystems</td></tr> <tr><td>•</td><td class="nw">df -i</td><td>Show free inodes on mounted filesystems</td></tr> <tr><td>•</td><td class="nw"><acronym title="usually in /sbin/">fdisk</acronym> -l</td><td>Show disks partitions sizes and types (run as root)</td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/docs/packaging.html">rpm</a> -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n</td><td>List all <a href="http://www.pixelbeat.org/docs/packaging.html">packages</a> by installed size (Bytes) on rpm distros</td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/docs/packaging.html">dpkg</a>-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n</td><td>List all <a href="http://www.pixelbeat.org/docs/packaging.html">packages</a> by installed size (KBytes) on deb distros</td></tr> <tr><td>•</td><td class="nw">dd bs=1 seek=2TB if=/dev/null of=ext3.test</td><td>Create a large test file (taking no space). See also <a href="http://www.pixelbeat.org/scripts/truncate">truncate</a></td></tr> <tr id="monitor" class="pbtitle"><td colspan="3"><b>monitoring/debugging</b></td></tr> <tr><td>•</td><td class="nw">tail -f /var/log/messages</td><td><a href="http://www.pixelbeat.org/docs/web/access_log/monitoring.html">Monitor messages</a> in a log file</td></tr> <tr><td>•</td><td class="nw">strace -c ls >/dev/null</td><td>Summarise/profile system calls made by command</td></tr> <tr><td>•</td><td class="nw">strace -f -e open ls >/dev/null</td><td>List system calls made by command</td></tr> <tr><td>•</td><td class="nw">ltrace -f -e getenv ls >/dev/null</td><td>List library calls made by command</td></tr> <tr><td>•</td><td class="nw"><acronym title="usually in /usr/sbin/">lsof</acronym> -p <acronym title="process id of current shell">$$</acronym></td><td>List paths that process id has open</td></tr> <tr><td>•</td><td class="nw">lsof ~</td><td>List processes that have specified path open</td></tr> <tr><td>•</td><td class="nw">tcpdump not port 22</td><td>Show network traffic except ssh. See also <a href="http://www.pixelbeat.org/scripts/tcpdump_not_me">tcpdump_not_me</a></td></tr> <tr><td>•</td><td class="nw">ps -e -o pid,args --forest</td><td>List processes in a hierarchy</td></tr> <tr><td>•</td><td class="nw">ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'</td><td>List processes by % cpu usage</td></tr> <tr><td>•</td><td class="nw">ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS</td><td>List processes by mem usage. See also <a href="http://www.pixelbeat.org/scripts/ps_mem.py">ps_mem.py</a></td></tr> <tr><td>•</td><td class="nw">ps -C firefox-bin -L -o pid,tid,pcpu,state</td><td>List all threads for a particular process</td></tr> <tr><td>•</td><td class="nw">ps -p 1,2</td><td>List info for particular process IDs</td></tr> <tr><td>•</td><td class="nw">last reboot</td><td>Show system reboot history</td></tr> <tr><td>•</td><td class="nw">free -m</td><td>Show amount of (remaining) RAM (-m displays in MB)</td></tr> <tr><td>•</td><td class="nw">watch -n1 'cat /proc/interrupts'</td><td>Watch changeable data continuously</td></tr> <tr id="sysinfo" class="pbtitle"><td colspan="3"><b>system information</b> (see also <a href="http://www.pixelbeat.org/scripts/sysinfo">sysinfo</a>) ('#' means root access is required)</td></tr> <tr><td>•</td><td class="nw">uname -a</td><td>Show kernel version and system architecture</td></tr> <tr><td>•</td><td class="nw">head -n1 /etc/issue</td><td>Show name and version of distribution</td></tr> <tr><td>•</td><td class="nw">cat /proc/partitions</td><td>Show all partitions registered on the system</td></tr> <tr><td>•</td><td class="nw">grep MemTotal /proc/meminfo</td><td>Show RAM total seen by the system</td></tr> <tr><td>•</td><td class="nw">grep "model name" /proc/cpuinfo</td><td>Show CPU(s) info</td></tr> <tr><td>•</td><td class="nw"><acronym title="usually in /sbin/">lspci</acronym> -tv</td><td>Show PCI info</td></tr> <tr><td>•</td><td class="nw"><acronym title="usually in /sbin/">lsusb</acronym> -tv</td><td>Show USB info</td></tr> <tr><td>•</td><td class="nw">mount | column -t</td><td>List mounted filesystems on the system (and align output)</td></tr> <tr><td>#</td><td class="nw">dmidecode -q | less</td><td>Display SMBIOS/DMI information</td></tr> <tr><td>#</td><td class="nw">smartctl -A /dev/sda | grep Power_On_Hours</td><td>How long has this disk (system) been powered on in total</td></tr> <tr><td>#</td><td class="nw">hdparm -i /dev/sda</td><td>Show info about disk sda</td></tr> <tr><td>#</td><td class="nw">hdparm -tT /dev/sda</td><td>Do a read speed test on disk sda</td></tr> <tr><td>#</td><td class="nw">badblocks -s /dev/sda</td><td>Test for unreadable blocks on disk sda</td></tr> <tr id="interactive" class="pbtitle"><td colspan="3"><b>interactive</b> (see also <a href="http://www.pixelbeat.org/lkdb/">linux keyboard shortcuts)</a></td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/lkdb/readline.html">readline</a></td><td>Line editor used by bash, python, bc, gnuplot, ...</td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/lkdb/screen.html">screen</a></td><td>Virtual terminals with detach capability, ...</td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/lkdb/mc.html">mc</a></td><td>Powerful file manager that can browse rpm, tar, ftp, ssh, ...</td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/docs/web/access_log/analyzing.html">gnuplot</a></td><td>Interactive/scriptable graphing</td></tr> <tr><td>•</td><td class="nw">links</td><td>Web browser</td></tr> <tr id="misc" class="pbtitle"><td colspan="3"><b>miscellaneous</b></td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/settings/.bashrc">alias</a> hd='od -Ax -tx1z -v'</td><td>Handy hexdump. (usage e.g.: • hd /proc/self/cmdline | less)</td></tr> <tr><td>•</td><td class="nw"><a href="http://www.pixelbeat.org/settings/.bashrc">alias</a> realpath='readlink -f'</td><td>Canonicalize path. (usage e.g.: • realpath ~/../$USER)</td></tr> <tr><td>•</td><td class="nw">set | grep $USER</td><td>Search current <a href="http://www.pixelbeat.org/docs/env.html">environment</a></td></tr> <tr><td> </td><td class="nw">touch -c -t 0304050607 file</td><td>Set file timestamp (YYMMDDhhmm)</td></tr></tbody></table> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/linux-cli-commands.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/linux-cli-commands.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-19T15:00:00+05:30'>3/19/2008 03:00:00 PM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/8431778842716567771' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/8431778842716567771' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=8431778842716567771&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> <div class='inline-ad'> <script type="text/javascript"><!-- google_ad_client="pub-8859345293937280"; google_ad_host="pub-1556223355139109"; google_ad_host_channel="00000"; google_ad_width=234; google_ad_height=60; google_ad_format="234x60_as"; google_ad_type="text"; google_color_border="FFFFFF"; google_color_bg="FFFFFF"; google_color_link="29303B"; google_color_url="473624"; google_color_text="1B0431"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='2049593251552980130' itemprop='postId'/> <a name='2049593251552980130'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/waitpid.html'>waitpid()</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-2049593251552980130' itemprop='description articleBody'> <pre><span style="font-size:130%;"><span style="font-weight: bold;">waitpid </span></span>- wait for process termination<br /><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Headers:</span></span><br /><strong style="font-weight: normal;">#include</strong> <strong style="font-weight: normal;"><sys/types.h></strong><br /><strong style="font-weight: normal;">#include</strong> <strong style="font-weight: normal;"><sys/wait.h><br /><br /></strong></pre><h2><span style="font-size:130%;">DESCRIPTION</span></h2><pre>The <strong>waitpid</strong> function suspends execution of the current<br /> process until a child as specified by the <em>pid</em> argument has<br /> exited, or until a signal is delivered whose action is to<br /> terminate the current process or to call a signal handling<br /> function. If a child as requested by <em>pid</em> has already<br /> exited by the time of the call (a so-called "zombie" pro-<br /> cess), the function returns immediately. Any system<br /> resources used by the child are freed.<br /><br /><br /> The value of <em>pid</em> can be one of:<br /><br /> < -1 which means to wait for any child process whose<br /> process group ID is equal to the absolute value of<br /><br /> -1 which means to wait for any child process; this is<br /> the same behaviour which <strong>wait</strong> exhibits.<br /><br /> 0 which means to wait for any child process whose<br /> process group ID is equal to that of the calling<br /> process.<br /><br /> > 0 which means to wait for the child whose process ID<br /> is equal to the value of <em>pid</em>.<br /><br /><br /><br /> The value of <em>options</em> is an exclusive OR of zero or more of<br /> the following constants:<br /><br /> <strong>WNOHANG</strong> which means to return immediately if no child has<br /> exited.<br /><br /><br /> <strong>WUNTRACED</strong><br /> which means to also return for children which are<br /><br /><br /> If <em>status</em> is not <strong>NULL</strong>, <strong>wait</strong> or <strong>waitpid</strong> store status infor-<br /> mation in the location pointed to by <em>statloc</em>.<br /><br /> This status can be evaluated with the following macros<br /> (these macros take the stat buffer as an argument -- not a<br /> pointer to the buffer!):<br /><br /> <strong>WIFEXITED(</strong><em>status</em><strong>)</strong><br /> is non -zero if the child exited normally.<br /><br /> <strong>WEXITSTATUS(</strong><em>status</em><strong>)</strong><br /> evaluates to the least significant eight bits of<br /> the return code of the child which terminated,<br /> which may have been set as the argument to a call<br /> to <strong>exit()</strong> or as the argument for a <strong>return</strong> state-<br /> ment in the main program. This macro can only be<br /> evaluated if <strong>WIFEXITED</strong> returned non-zero.<br /><br /> <strong>WIFSIGNALED(</strong><em>status</em><strong>)</strong><br /> returns true if the child process exited because<br /> of a signal which was not caught.<br /><br /> <strong>WTERMSIG(</strong><em>status</em><strong>)</strong><br /> returns the number of the signal that caused the<br /> child process to terminate. This macro can only be<br /> evaluated if <strong>WIFSIGNALED</strong> returned non-zero.<br /><br /> <strong>WIFSTOPPED(</strong><em>status</em><strong>)</strong><br /> returns true if the child process which caused the<br /> return is currently stopped; this is only possible<br /> if the call was done using <strong>WUNTRACED</strong>.<br /><br /> <strong>WSTOPSIG(</strong><em>status</em><strong>)</strong><br /> returns the number of the signal which caused the<br /> child to stop. This macro can only be evaluated<br /><br /> if <strong>WIFSTOPPED</strong> returned non-zero.<br /><br /> stopped, and whose status has not been reported.<br /><br /></pre> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/waitpid.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/waitpid.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-19T10:25:00+05:30'>3/19/2008 10:25:00 AM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/2049593251552980130' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/2049593251552980130' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=2049593251552980130&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/C%20and%20C%2B%2B' rel='tag'>C and C++</a>, <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a>, <a href='https://prashuch.blogspot.com/search/label/Solaries' rel='tag'>Solaries</a>, <a href='https://prashuch.blogspot.com/search/label/Unix' rel='tag'>Unix</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> <div class='inline-ad'> <script type="text/javascript"><!-- google_ad_client="pub-8859345293937280"; google_ad_host="pub-1556223355139109"; google_ad_host_channel="00000"; google_ad_width=234; google_ad_height=60; google_ad_format="234x60_as"; google_ad_type="text"; google_color_border="FFFFFF"; google_color_bg="FFFFFF"; google_color_link="29303B"; google_color_url="473624"; google_color_text="1B0431"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='7461653893658784355' itemprop='postId'/> <a name='7461653893658784355'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/signal-management-1-in-linux.html'>signal management 1 in linux/+</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-7461653893658784355' itemprop='description articleBody'> <code><tt>#include <<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/signal.h.html">signal.h</a>><br /><br /> int <span style="font-weight: bold;">sighold</span>(int</tt> <i>sig</i><tt>);<br /> int <span style="font-weight: bold;">sigignore</span>(int</tt> <i>sig</i><tt>);<br /> int <span style="font-weight: bold;">sigpause</span>(int</tt> <i>sig</i><tt>);<br /> int <span style="font-weight: bold;">sigrelse</span>(int</tt> <i>sig</i><tt>);<br /> void (*sigset(int</tt> <i>sig</i><tt>, void (*</tt><i>disp</i><tt>)(int)))(int);<br /><br /><span style="font-weight: bold;">Description :</span><br /></tt></code><p>The <i>sighold</i>(), <i>sigignore</i>(), <i>sigpause</i>(), <i>sigrelse</i>(), and <i>sigset</i>() functions provide simplified signal management.</p> <p>The <i>sigset</i>() function shall modify signal dispositions. The <i>sig</i> argument specifies the signal, which may be any signal except SIGKILL and SIGSTOP. The <i>disp</i> argument specifies the signal's disposition, which may be SIG_DFL, SIG_IGN, or the address of a signal handler. If <i>sigset</i>() is used, and <i>disp</i> is the address of a signal handler, the system shall add <i>sig</i> to the calling process' signal mask before executing the signal handler; when the signal handler returns, the system shall restore the calling process' signal mask to its state prior to the delivery of the signal. In addition, if <i>sigset</i>() is used, and <i>disp</i> is equal to SIG_HOLD, <i>sig</i> shall be added to the calling process' signal mask and <i>sig</i>'s disposition shall remain unchanged. If <i>sigset</i>() is used, and <i>disp</i> is not equal to SIG_HOLD, <i>sig</i> shall be removed from the calling process' signal mask.</p> <p>The <i>sighold</i>() function shall add <i>sig</i> to the calling process' signal mask.</p> <p>The <i>sigrelse</i>() function shall remove <i>sig</i> from the calling process' signal mask.</p> <p>The <i>sigignore</i>() function shall set the disposition of <i>sig</i> to SIG_IGN.</p> <p>The <i>sigpause</i>() function shall remove <i>sig</i> from the calling process' signal mask and suspend the calling process until a signal is received. The <i>sigpause</i>() function shall restore the process' signal mask to its original state before returning.</p> <p>If the action for the SIGCHLD signal is set to SIG_IGN, child processes of the calling processes shall not be transformed into zombie processes when they terminate. If the calling process subsequently waits for its children, and the process has no unwaited-for children that were transformed into zombie processes, it shall block until all of its children terminate, and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/wait.html"><i>wait</i>()</a>, <a href="http://www.opengroup.org/onlinepubs/000095399/functions/waitid.html"><i>waitid</i>()</a>, and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/waitpid.html"><i>waitpid</i>()</a> shall fail and set <i>errno</i> to [ECHILD].</p><h4>RETURN VALUE</h4>pon successful completion, <i>sigset</i>() shall return SIG_HOLD if the signal had been blocked and the signal's previous disposition if it had not been blocked. Otherwise, SIG_ERR shall be returned and <i>errno</i> set to indicate the error. <p>The <i>sigpause</i>() function shall suspend execution of the thread until a signal is received, whereupon it shall return -1 and set <i>errno</i> to [EINTR].</p> <p>For all other functions, upon successful completion, 0 shall be returned. Otherwise, -1 shall be returned and <i>errno</i> set to indicate the error.</p><p style="font-weight: bold;">FAILING CONDITIONS :</p><p>These functions shall fail if:</p><ul><li>The <i>sig</i> argument is an illegal signal number.</li><li>An attempt is made to catch a signal that cannot be caught, or to ignore a signal that cannot be ignored.</li></ul> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/signal-management-1-in-linux.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/signal-management-1-in-linux.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-19T10:04:00+05:30'>3/19/2008 10:04:00 AM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/7461653893658784355' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/7461653893658784355' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=7461653893658784355&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/C%20and%20C%2B%2B' rel='tag'>C and C++</a>, <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a>, <a href='https://prashuch.blogspot.com/search/label/Solaries' rel='tag'>Solaries</a>, <a href='https://prashuch.blogspot.com/search/label/Unix' rel='tag'>Unix</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='2070666832181236878' itemprop='postId'/> <a name='2070666832181236878'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/xtem-syntax.html'>Xtem Syntax</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-2070666832181236878' itemprop='description articleBody'> <span style="font-weight: bold;">About xterm</span> <p>Terminal emulator for<b><a href="http://www.computerhope.com/unix/ux.htm"> X</a></b>-windows Terminal<br /></p> <p class="nb"><a name="02"></a>Syntax</p> <p><i>xterm [-toolkitoption ...] [-option]</i></p> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody><tr> <td valign="top" width="120">-help</td> <td valign="top">This causes xterm to print out a verbose message describing its options.</td> </tr> <tr> <td valign="top" width="120">-132</td> <td valign="top">Normally, the VT102 DECCOLM escape sequence that switches between 80 and 132 column mode is ignored. This option causes the DECCOLM escape sequence to be recognized, and the xterm window will resize appropriately.</td> </tr> <tr> <td valign="top" width="120">-ah</td> <td valign="top">This option indicates that xterm should always highlight the text cursor. By default, xterm will display a hollow text cursor whenever the focus is lost or the pointer leaves the window.</td> </tr> <tr> <td valign="top" width="120">+ah</td> <td valign="top">This option indicates that xterm should do text cursor highlighting based on focus.</td> </tr> <tr> <td valign="top" width="120">-b number</td> <td valign="top">This option specifies the size of the inner border (the distance between the outer edge of the characters and the window border) in pixels. The default is 2.</td> </tr> <tr> <td valign="top" width="120">-cb</td> <td valign="top">Set the vt100 resource cutToBeginningOfLine to FALSE.</td> </tr> <tr> <td valign="top" width="120">+cb</td> <td valign="top">Set the vt100 resource cutToBeginningOfLine to TRUE.</td> </tr> <tr> <td valign="top" width="120">-cc</td> <td valign="top">This sets classes indicated by the given ranges for using in selecting by words. See the section specifying character classes.</td> </tr> <tr> <td valign="top" width="120">-cn</td> <td valign="top">This option indicates that newlines should not be cut in line-mode selections.</td> </tr> <tr> <td valign="top" width="120">+cn</td> <td valign="top">This option indicates that newlines should be cut in line-mode selections.</td> </tr> <tr> <td valign="top" width="120">-cr color</td> <td valign="top">This option specifies the color to use for text cursor. The default is to use the same foreground color that is used for text.</td> </tr> <tr> <td valign="top" width="120">-cu</td> <td valign="top">This option indicates that xterm should work around a bug in the <b><a href="http://www.computerhope.com/unix/umore.htm">more</a></b> program that causes it to incorrectly display lines that are exactly the width of the window and are followed by a line beginning with a tab (the leading tabs are not displayed). This option is so named because it was originally thought to be a bug in the curses(3x) cursor motion package.</td> </tr> <tr> <td valign="top" width="120">+cu</td> <td valign="top">This option indicates that xterm should not work around the more(3x) bug mentioned above.</td> </tr> <tr> <td valign="top" width="120">-e program [arguments]</td> <td valign="top">This option specifies the program (and its command line arguments) to be run in the xterm window. It also sets the window title and icon name to be the basename of the program being executed if neither -T nor -n are given on the command line. This must be<br /> the last option on the command line.</td> </tr> <tr> <td valign="top" width="120">-fb font</td> <td valign="top">This option specifies a font to be used when displaying bold text. This font must be the same height and width as the normal font. If only one of the normal or bold fonts is specified, it will be used as the normal font and the bold font will be produced by overstriking this font. The default is to do overstriking of the normal font.</td> </tr> <tr> <td valign="top" width="120">-im</td> <td valign="top">Turn on the useInsertMode resource.</td> </tr> <tr> <td valign="top" width="120">+im</td> <td valign="top">Turn off the useInsertMode resource.</td> </tr> <tr> <td valign="top" width="120">-j</td> <td valign="top">This option indicates that xterm should do jump scrolling. Normally, text is scrolled one line at a time; this option allows xterm to move multiple lines at a time so that it doesn't fall as far behind. Its use is strongly recommended since it make xterm much faster when scanning through large amounts of text. The VT100 escape sequences for enabling and disabling smooth scroll as well as the ``VT Options'' menu can be used to turn this feature on or off.</td> </tr> <tr> <td valign="top" width="120">+j</td> <td valign="top">This option indicates that xterm should not do jump scrolling.</td> </tr> <tr> <td valign="top" width="120">-ls</td> <td valign="top">This option indicates that the shell that is started in the xterm window will be a login shell<br />(i.e., the first character of argv[0] will be a dash, indicating to the shell that it should read<br /> the user's .login or .profile).</td> </tr> <tr> <td valign="top" width="120">+ls</td> <td valign="top">This option indicates that the shell that is started should not be a login shell (i.e. it will be a normal ``subshell'').</td> </tr> <tr> <td valign="top" width="120">-mb</td> <td valign="top">This option indicates that xterm should ring a margin bell when the user types near the right end of a line. This option can be turned on and off from the ``VT Options'' menu.</td> </tr> <tr> <td valign="top" width="120">+mb</td> <td valign="top">This option indicates that margin bell should not be rung.</td> </tr> <tr> <td valign="top" width="120">-mc milliseconds</td> <td valign="top">This option specifies the maximum time between multi-click selections.</td> </tr> <tr> <td valign="top" width="120">-ms color</td> <td valign="top">This option specifies the color to be used for the pointer cursor. The default is to use the foreground color.</td> </tr> <tr> <td valign="top" width="120">-nb number</td> <td valign="top">This option specifies the number of characters from the right end of a line at which the margin bell, if enabled, will ring. The default is 10.</td> </tr> <tr> <td valign="top" width="120">-rw</td> <td valign="top">This option indicates that reverse-wraparound should be allowed. This allows the cursor to backup from the leftmost column of one line to the rightmost column of the previous line. This is very useful for editing long shell command lines and is encouraged. This option can be turned on and off from the ``VT Options'' menu.</td> </tr> <tr> <td valign="top" width="120">+rw</td> <td valign="top">This option indicates that reverse-wraparound should not be allowed.</td> </tr> <tr> <td valign="top" width="120">-aw</td> <td valign="top">This option indicates that auto-wraparound should be allowed. This allows the cursor to automatically wrap to the beginning of the next line when when it is at the rightmost position of a line and text is output.</td> </tr> <tr> <td valign="top" width="120">+aw</td> <td valign="top">This option indicates that auto-wraparound should not be allowed.</td> </tr> <tr> <td valign="top" width="120">-s</td> <td valign="top">This option indicates that xterm may scroll asynchronously, meaning that the screen does not have to be kept completely up to date while scrolling. This allows xterm to run faster when network latencies are very high and is typically useful when running across a very large Internet or many gateways.</td> </tr> <tr> <td valign="top" width="120">+s</td> <td valign="top">This option indicates that xterm should scroll synchronously.</td> </tr> <tr> <td valign="top" width="120">-sb</td> <td valign="top">This option indicates that some number of lines that are scrolled off the top of the window should be saved and that a scrollbar should be displayed so that those lines can be viewed. This option may be turned on and off from the ``VT Options'' menu.</td> </tr> <tr> <td valign="top" width="120">+sb</td> <td valign="top">This option indicates that a scrollbar should not be displayed.</td> </tr> <tr> <td valign="top" width="120">-sf</td> <td valign="top">This option indicates that Sun Function Key escape codes should be generated for function keys.</td> </tr> <tr> <td valign="top" width="120">+sf</td> <td valign="top">This option indicates that the standard escape codes should be generated for function keys.</td> </tr> <tr> <td valign="top" width="120">-si</td> <td valign="top">This option indicates that output to a window should not automatically reposition the screen to the bottom of the scrolling region. This option can be turned on and off from the ``VT Options'' menu.</td> </tr> <tr> <td valign="top" width="120">+si</td> <td valign="top">This option indicates that output to a window should cause it to scroll to the bottom.</td> </tr> <tr> <td valign="top" width="120">-sk</td> <td valign="top">This option indicates that pressing a key while using the scrollbar to review previous lines of text should cause the window to be repositioned automatically in the normal position at the bottom of the scroll region.</td> </tr> <tr> <td valign="top" width="120">+sk</td> <td valign="top">This option indicates that pressing a key while using the scrollbar should not cause the window to be repositioned.</td> </tr> <tr> <td valign="top" width="120">-sl number</td> <td valign="top">This option specifies the number of lines to save that have been scrolled off the top of the screen. The default is 64.</td> </tr> <tr> <td valign="top" width="120">-t</td> <td valign="top">This option indicates that xterm should start in Tektronix mode, rather than in VT102 mode. Switching between the two windows is done using the ``Options'' menus.</td> </tr> <tr> <td valign="top" width="120">+t</td> <td valign="top">This option indicates that xterm should start in VT102 mode.</td> </tr> <tr> <td valign="top" width="120">-tm string</td> <td valign="top">This option specifies a series of terminal setting keywords followed by the characters that should be bound to those functions, similar to the stty program. Allowable keywords include: intr, quit, erase, kill, eof, eol, swtch, start, stop, brk, susp, dsusp, rprnt, flush, weras, and lnext. Cotrol characters may be specified as ^char (e.g. ^c or ^u) and ^? may be used to indicate delete.</td> </tr> <tr> <td valign="top" width="120">-tn name</td> <td valign="top">This option specifies the name of the terminal type to be set in the TERM environment variable. This terminal type must exist in the termcap database and should have li# and co# entries.</td> </tr> <tr> <td valign="top" width="120">-ut</td> <td valign="top">This option indicates that xterm shouldn't write a record into the the system log file /etc/utmp.</td> </tr> <tr> <td valign="top" width="120">+ut</td> <td valign="top">This option indicates that xterm should write a record into the system log file /etc/utmp.</td> </tr> <tr> <td valign="top" width="120">-vb</td> <td valign="top">This option indicates that a visual bell is preferred over an audible one. Instead of ringing the terminal bell whenever a Control-G is received, the window will be flashed.</td> </tr> <tr> <td valign="top" width="120">+vb</td> <td valign="top">This option indicates that a visual bell should not be used.</td> </tr> <tr> <td valign="top" width="120">-wf</td> <td valign="top">This option indicates that xterm should wait for the window to be mapped the first time before starting the subprocess so that the initial terminal size settings and environment variables are correct. It is the application's responsibility to catch subsequent terminal size changes.</td> </tr> <tr> <td valign="top" width="120">+wf</td> <td valign="top">This option indicates that xterm show not wait before starting the subprocess.</td> </tr> <tr> <td valign="top" width="120">-C</td> <td valign="top">This option indicates that this window should receive console output. This is not supported on all systems. To obtain console output, you must be the owner of the console device, and you must have read and write permission for it. If you are running X under xdm on the console screen you may need to have the session startup and reset programs explicitly change the ownership of the console device in order to get this option to work.</td> </tr> <tr> <td valign="top" width="120">Sccn</td> <td valign="top">This option specifies the last two letters of the name of a pseudoterminal to use in slave mode, plus the number of the inherited file descriptor. The option is parsed ``%c%c%d''. This allows xterm to be used as an input and output channel for an existing program and is sometimes used in specialized applications.</td> </tr> <tr> <td valign="top" width="120">%geom</td> <td valign="top">This option specifies the preferred size and position of the Tektronix window. It is shorthand for specifying the ``*tekGeometry'' resource.</td> </tr> <tr> <td valign="top" width="120">#geom</td> <td valign="top">This option specifies the preferred position of the icon window. It is shorthand for specifying the ``*iconGeometry'' resource.</td> </tr> <tr> <td valign="top" width="120">-T string</td> <td valign="top">This option specifies the title for xterm's windows. It is equivalent to -title.</td> </tr> <tr> <td valign="top" width="120">-n string</td> <td valign="top">This option specifies the icon name for xterm's windows. It is shorthand for specifying the ``*icon- Name'' resource. Note that this is not the same as the toolkit option -name (see below). The default icon name is the application name.</td> </tr> <tr> <td valign="top" width="120">-r </td> <td valign="top">This option indicates that reverse video should be simulated by swapping the foreground and background colors. It is equivalent to -rv.</td> </tr> <tr> <td valign="top" width="120">-w number</td> <td valign="top">This option specifies the width in pixels of the border surrounding the window. It is equivalent to -borderwidth or -bw.</td> </tr> <tr> <td valign="top" width="120">-bg color</td> <td valign="top">This option specifies the color to use for the background of the window. The default is ``white.''</td> </tr> <tr> <td valign="top" width="120">-bd color</td> <td valign="top">This option specifies the color to use for the border of the window. The default is ``black.''</td> </tr> <tr> <td valign="top" width="120">-bw color</td> <td valign="top">This option specifies the width in pixels of the border surrounding the window.</td> </tr> <tr> <td valign="top" width="120">-fg color</td> <td valign="top">This option specifies the color to use for displaying text. The default is ``black.''</td> </tr> <tr> <td valign="top" width="120">-fn color</td> <td valign="top">This option specifies the font to be used for displaying normal text. The default is fixed.</td> </tr> <tr> <td valign="top" width="120">-fn font</td> <td valign="top">This option specifies the font to be used for displaying normal text. The default is fixed.</td> </tr> <tr> <td valign="top" width="120">-name name</td> <td valign="top">This option specifies the application name under which resources are to be obtained, rather than the default executable file name. Name should not contain ``.'' or ``*'' characters.</td> </tr> <tr> <td valign="top" width="120">-title string</td> <td valign="top">This option specifies the window title string, which may be displayed by window managers if the user so chooses. The default title is the command line specified after the -e option, if any, otherwise the application name.</td> </tr> <tr> <td valign="top" width="120">-rv</td> <td valign="top">This option indicates that reverse video should be simulated by swapping the foreground and background colors.</td> </tr> <tr> <td valign="top" width="120">-geometry geometry</td> <td valign="top">This option specifies the preferred size and position of the VT102 window; see X(1).</td> </tr> <tr> <td valign="top" width="120">-display display</td> <td valign="top">This option specifies the X server to contact; see <b><a href="http://www.computerhope.com/unix/ux.htm">X</a></b>.</td> </tr> <tr> <td valign="top" width="120">-xrm resourcestring</td> <td valign="top">This option specifies a resource string to be used. This is especially useful for setting resources that do not have separate command line options.</td> </tr> <tr> <td valign="top" width="120">-iconic</td> <td valign="top">This option indicates that xterm should ask the window manager to start it as an icon rather than as the normal window.</td> </tr> <tr> <td valign="top" width="120">-dc</td> <td valign="top">This option disables the escape sequence to change the vt100 foreground and background colors, the text cursor color, the mouse cursor foreground and background colors and the Tektronix emulator foreground and background colors.</td> </tr> <tr> <td valign="top" width="120">+dc</td> <td valign="top">This option enables the escape sequence to change the vt100 foreground and background colors, the text cursor color, the mouse cursor foreground and background colors and the Tektronix emulator foreground and background</td> </tr> </tbody></table> <p class="nb"><a name="03"></a>Examples</p> <p><b>xterm</b> - runs the X terminal (if supported).</p> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/xtem-syntax.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/xtem-syntax.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-19T09:00:00+05:30'>3/19/2008 09:00:00 AM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/2070666832181236878' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/2070666832181236878' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=2070666832181236878&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a>, <a href='https://prashuch.blogspot.com/search/label/Solaries' rel='tag'>Solaries</a>, <a href='https://prashuch.blogspot.com/search/label/Unix' rel='tag'>Unix</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> <div class="date-outer"> <h2 class='date-header'><span>Monday, March 17, 2008</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='2628309942771911702' itemprop='postId'/> <a name='2628309942771911702'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/find-free-physical-memory-in-linux.html'>Find the Free Physical Memory in Linux/+</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-2628309942771911702' itemprop='description articleBody'> in Linux:<br /> free -m<br /><br />in Solaries :<br /> prtconf | awk'/^Memory/{print}'<br /> (or)<br /> prtconf | grep Memory <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/find-free-physical-memory-in-linux.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/find-free-physical-memory-in-linux.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-17T12:20:00+05:30'>3/17/2008 12:20:00 PM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/2628309942771911702' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/2628309942771911702' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=2628309942771911702&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a>, <a href='https://prashuch.blogspot.com/search/label/Solaries' rel='tag'>Solaries</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> <div class="date-outer"> <h2 class='date-header'><span>Wednesday, March 12, 2008</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='7185251612775907656' itemprop='postId'/> <a name='7185251612775907656'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/parsing-arguments-for-your-shell-script.html'>Parsing arguments for your shell script</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-7185251612775907656' itemprop='description articleBody'> <div class="xar-clearleft"> <p>Suppose you want to have some options on your bash shell script, some flags that you can use to alter its behavior. You could do the parsing directly, using ${#} to tell you how many arguments have been supplied, and testing <code>${1:0:1}</code> to test the first character of the first argument to see if it is a minus sign. You would need some <code>if/then</code> or <code>case</code> logic to identify which option it is and whether it takes an argument. What if the user doesn't supply a required argument? What if the user calls your script with two options combined (e.g., <code>-ab</code>)? Will you also parse for that? The need to parse options for a shell script is a common situation. Lots of scripts have options. Isn't there a more standard way to do this?</p> </div> <div id="featurecontent" class="xar-align-left"> <p><em>This article is excerpted from the newly published book </em><a href="http://www.amazon.com/exec/obidos/asin/0596526784/vasoft-20">bash Cookbook</a><em>.</em></p> <p>The solution -- use bash's built-in <em>getopts</em> command to help parse options. Here is an example, based largely on the example in the manpage for getopts</p> <pre> #!/usr/bin/env bash<br /> # cookbook filename: getopts_example<br /> #<br /> # using getopts<br /> #<br /> aflag=<br /> bflag=<br /> while getopts 'ab:' OPTION<br /> do<br /> case $OPTION in<br /> a) aflag=1<br /> ;;<br /> b) bflag=1<br /> bval="$OPTARG"<br /> ;;<br /> ?) printf "Usage: %s: [-a] [-b value] args\n" $(basename $0) >&2<br /> exit 2<br /> ;;<br /> esac<br /> done<br /> shift $(($OPTIND - 1))<br /><br /> if [ "$aflag" ]<br /> then<br /> printf "Option -a specified\n"<br /> fi<br /> if [ "$bflag" ]<br /> then<br /> printf 'Option -b "%s" specified\n' "$bval"<br /> fi<br /> printf "Remaining arguments are: %s\n" "$*"<br /></pre> <p>There are two kinds of options supported here. The first and simpler kind is an option that stands alone. It typically represents a flag to modify a command's behavior. An example of this sort of option is the <code>-l</code> option on the <code>ls</code> command. The second kind of option requires an argument. An example of this is the <code>mysql</code> command's <code>-u</code> option, which requires that a username be supplied, as in <code>mysql -u sysadmin</code>. Let's look at how getopts supports the parsing of both kinds.</p> <p>The use of getopts has two arguments.</p> <pre> <span style="font-weight: bold; color: rgb(51, 102, 255);">getopts 'ab:' OPTION</span><br /></pre> <p>The first is a list of option letters. The second is the name of a shell variable. In our example, we are defining <code>-a</code> and <code>-b</code> as the only two valid options, so the first argument in <code>getopts</code> has just those two letters -- and a colon. What does the colon signify? It indicates that <code>-b</code> needs an argument, just like <code>-u</code> <em>username</em> or <code>-f</code> <em>filename</em> might be used. The colon needs to be adjacent to any option letter taking an argument. For example, if only <code>-a</code> took an argument we would need to write '<code>a:b</code>' instead.</p> <p>The getopts built-in will set the variable named in the second argument to the value that it finds when it parses the shell script's argument list (<code>$1</code>, <code>$2</code>, etc.). If it finds an argument with a leading minus sign, it will treat that as an option argument and put the letter into the given variable (<code>$OPTION</code> in our example). Then it returns true (i.e., <code>0</code>) so that the while loop will process the option then continue to parse options by repeated calls to getopts until it runs out of arguments (or encounters a double minus <code>--</code> to allow users to put an explicit end to the options). Then getopts returns false (i.e., non-zero) and the while loop ends.</p> <p>Inside the loop, when the parsing has found an option letter for processing, we use a <code>case</code> statement on the variable <code>$OPTION</code> to set flags or otherwise take action when the option is encountered. For options that take arguments, that argument is placed in the shell variable <code style="font-weight: bold; color: rgb(51, 51, 255);">$OPTARG</code> (a fixed name not related to our use of <code>$OPTION</code> as our variable). We need to save that value by assigning it to another variable because as the parsing continues to loop, the variable <code>$OPTARG</code> will be reset on each call to getopts.</p> <p>The third case of our <code>case</code> statement is a question mark, a shell pattern that matches any single character. When getopts finds an option that is not in the set of expected options (<code>'ab:'</code> in our example) then it will return a literal question mark in the variable (<code>$OPTION</code> in our example). So we could have made our case statement read \?) or '?') for an exact match, but the ? as a pattern match of any single character provides a convenient default for our <code>case</code> statement. It will match a literal question mark as well as matching any other single character.</p> <p>In the usage message that we print, we have made two changes from the example script in the manpage. First, we use <code>$(basename $0)</code> to give the name of the script without all the extra pathnames that may have been part of how it was invoked. Secondly, we redirect this message to standard error (<code>>&2</code>) because that is really where such messages belong. All of the error messages from getopts that occur when an unknown option or missing argument is encountered are always written to standard error. We add our usage message to that chorus.</p> <p>When the <code>while</code> loop terminates, we see the next line to be executed is:</p> <pre> <span style="font-weight: bold; color: rgb(51, 102, 255);">shift $(($OPTIND - 1))</span><br /></pre> <p>which is a <code>shift</code> statement used to move the positional parameters of the shell script from <code>$1</code>, <code>$2</code>, etc. down a given number of positions (tossing the lower ones). The variable <code>$OPTIND</code> is an index into the arguments that getopts uses to keep track of where it is when it parses. Once we are done parsing, we can toss all the options that we've processed by doing this <code>shift</code> statement. For example, if we had this command line:</p> <pre> myscript -a -b alt plow harvest reap<br /></pre> <p>then after parsing for options, <code>$OPTIND</code> would be set to 4. By doing a shift of three <code>($OPTIND-1)</code> we would get rid of the options and then a quick <code style="font-weight: bold; color: rgb(0, 153, 0);">echo$*</code> would give this:</p> <pre> plow harvest reap<br /></pre> <p>So, the remaining (non-option) arguments are ready for use in your script (in a <code>for</code> loop perhaps). In our example script, the last line is a <code>printf</code> showing all the remaining arguments.</p></div> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/parsing-arguments-for-your-shell-script.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/parsing-arguments-for-your-shell-script.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-12T18:42:00+05:30'>3/12/2008 06:42:00 PM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/7185251612775907656' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/7185251612775907656' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=7185251612775907656&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a>, <a href='https://prashuch.blogspot.com/search/label/Shell%20Scripting' rel='tag'>Shell Scripting</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> <div class="date-outer"> <h2 class='date-header'><span>Tuesday, March 04, 2008</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='2737067332611396207' itemprop='postId'/> <a name='2737067332611396207'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/how-to-i-select-columns-from-file.html'>How to Select Columns From a File?</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-2737067332611396207' itemprop='description articleBody'> <span id="intelliTXT" name="intelliTxt"> The <strong>cut</strong> command takes a vertical slice of a file, printing only the specified columns or fields. Like the <strong>sort</strong> command, the <strong>cut</strong> command defines a field as a word set off by blanks, unless you specify your own delimiter. It's easiest to think of a column as just the <em>n</em>th character on each line। In other words, "column 5" consists of the fifth character of each line.<br /><br /><br /></span><span id="intelliTXT" name="intelliTxt"> Consider a slight variation on the <strong>company.data</strong> file we've been playing with in this section: <p><span style="font-family:Courier;">406378:Sales:Itorre:Jan<br />031762:Marketing:Nasium:Jim<br />636496:Research:Ancholie:Mel<br />396082:Sales:Jucacion:Ed</span></p> <p>If you want to print just columns 1 to 6 of each line (the employee serial numbers), use the <strong>-c1-6</strong> flag, as in this command:</p> <p><span style="font-family:Courier;"><strong>cut -c1-6 company.data</strong><br />406378<br />031762<br />636496<br />396082</span></p> <p>If you want to print just columns 4 and 8 of each line (the first letter of the department and the fourth digit of the serial number), use the <strong>-c4,8</strong> flag, as in this command:</p> <p><span style="font-family:Courier;"><strong>cut -c4,8 company.data</strong><br />3S<br />7M<br />4R<br />0S</span></p> <p>And since this file obviously has fields delimited by colons, we can pick out just the last names by specifying the <strong>-d:</strong> and <strong>-f3</strong> flags, like this:</p> <p><span style="font-family:Courier;"><strong>cut -d: -f4,3 company.data</strong><br />Itorre<br />Nasium<br />Ancholie<br />Jucacion</span></p> <p>Here is a summary of the most common flags for the <strong>cut</strong> command:</p> <p><strong>-c </strong>[<em>n | n,m | n-m</em>] Specify a single column, multiple columns (separated by a comma), or range of columns (separated by a dash).<strong><br />-f </strong>[<em>n | n,m | n-m</em>] Specify a single field, multiple fields (separated by a comma), or range of fields (separated by a dash).<strong><br />-d</strong><em>c </em>Specify the field delimiter.<strong><br />-s </strong>Suppress (don't print) lines not containing the delimiter.</p></span> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/how-to-i-select-columns-from-file.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/how-to-i-select-columns-from-file.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-04T15:35:00+05:30'>3/04/2008 03:35:00 PM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/2737067332611396207' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/2737067332611396207' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=2737067332611396207&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a>, <a href='https://prashuch.blogspot.com/search/label/Shell%20Scripting' rel='tag'>Shell Scripting</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='8300499115887417830' itemprop='postId'/> <a name='8300499115887417830'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/find-command.html'>find command</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-8300499115887417830' itemprop='description articleBody'> find - search for files in a directory hierarchy<a name="lbAJ"></a> <a name="lbAC"> </a> <h2>SYNOPSIS</h2> <b>find</b> [path...] [expression] <a name="lbAD"> </a> <h2>DESCRIPTION</h2> This manual page documents the GNU version of <b>find</b>. <b>find</b> searches the directory tree rooted at each given file name by evaluating the given expression from left to right, according to the rules of precedence (see section OPERATORS), until the outcome is known (the left hand side is false for <i>and</i> operations, true for <i>or</i>), at which point <b>find</b> moves on to the next file name. <p> The first argument that begins with `-', `(', `)', `,', or `!' is taken to be the beginning of the expression; any arguments before it are paths to search, and any arguments after it are the rest of the expression. If no paths are given, the current directory is used. If no expression is given, the expression `-print' is used. </p><p> <b>find</b> exits with status 0 if all files are processed successfully, greater than 0 if errors occur. <a name="lbAE"> </a> </p><h2>EXPRESSIONS</h2> The expression is made up of options (which affect overall operation rather than the processing of a specific file, and always return true), tests (which return a true or false value), and actions (which have side effects and return a true or false value), all separated by operators. -and is assumed where the operator is omitted. If the expression contains no actions other than -prune, -print is performed on all files for which the expression is true. <a name="lbAF"> </a> <h3>OPTIONS</h3> All options always return true. They always take effect, rather than being processed only when their place in the expression is reached. Therefore, for clarity, it is best to place them at the beginning of the expression. <dl compact="compact"><dt>-daystart</dt><dd> Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the beginning of today rather than from 24 hours ago. </dd><dt>-depth</dt><dd> Process each directory's contents before the directory itself. </dd><dt>-follow</dt><dd> Dereference symbolic links. Implies -noleaf. </dd><dt>-help, --help</dt><dd> Print a summary of the command-line usage of <b>find</b> and exit. </dd><dt>-maxdepth <i>levels</i></dt><dd> Descend at most <i>levels</i> (a non-negative integer) levels of directories below the command line arguments. `-maxdepth 0' means only apply the tests and actions to the command line arguments. </dd><dt>-mindepth <i>levels</i></dt><dd> Do not apply any tests or actions at levels less than <i>levels</i> (a non-negative integer). `-mindepth 1' means process all files except the command line arguments. </dd><dt>-mount</dt><dd> Don't descend directories on other filesystems. An alternate name for -xdev, for compatibility with some other versions of <b>find</b>. </dd><dt>-noleaf</dt><dd> Do not optimize by assuming that directories contain 2 fewer subdirectories than their hard link count. This option is needed when searching filesystems that do not follow the Unix directory-link convention, such as CD-ROM or MS-DOS filesystems or AFS volume mount points. Each directory on a normal Unix filesystem has at least 2 hard links: its name and its `.' entry. Additionally, its subdirectories (if any) each have a `..' entry linked to that directory. When <b>find</b> is examining a directory, after it has statted 2 fewer subdirectories than the directory's link count, it knows that the rest of the entries in the directory are non-directories (`leaf' files in the directory tree). If only the files' names need to be examined, there is no need to stat them; this gives a significant increase in search speed. </dd><dt>-version, --version</dt><dd> Print the <b>find</b> version number and exit. </dd><dt>-xdev</dt><dd> Don't descend directories on other filesystems. </dd></dl> <a name="lbAG"> </a> <h3>TESTS</h3> Numeric arguments can be specified as <dl compact="compact"><dt><i>+n</i></dt><dd> for greater than <i>n</i>, </dd><dt><i>-n</i></dt><dd> for less than <i>n</i>, </dd><dt><i>n</i></dt><dd> for exactly <i>n</i>. </dd><dt>-amin <i>n</i></dt><dd> File was last accessed <i>n</i> minutes ago. </dd><dt>-anewer <i>file</i></dt><dd> File was last accessed more recently than <i>file</i> was modified. -anewer is affected by -follow only if -follow comes before -anewer on the command line. </dd><dt>-atime <i>n</i></dt><dd> File was last accessed <i>n</i>*24 hours ago. </dd><dt>-cmin <i>n</i></dt><dd> File's status was last changed <i>n</i> minutes ago. </dd><dt>-cnewer <i>file</i></dt><dd> File's status was last changed more recently than <i>file</i> was modified. -cnewer is affected by -follow only if -follow comes before -cnewer on the command line. </dd><dt>-ctime <i>n</i></dt><dd> File's status was last changed <i>n</i>*24 hours ago. </dd><dt>-empty</dt><dd> File is empty and is either a regular file or a directory. </dd><dt>-false</dt><dd> Always false. </dd><dt>-fstype <i>type</i></dt><dd> File is on a filesystem of type <i>type</i>. The valid filesystem types vary among different versions of Unix; an incomplete list of filesystem types that are accepted on some version of Unix or another is: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. You can use -printf with the %F directive to see the types of your filesystems. </dd><dt>-gid <i>n</i></dt><dd> File's numeric group ID is <i>n</i>. </dd><dt>-group <i>gname</i></dt><dd> File belongs to group <i>gname</i> (numeric group ID allowed). </dd><dt>-ilname <i>pattern</i></dt><dd> Like -lname, but the match is case insensitive. </dd><dt>-iname <i>pattern</i></dt><dd> Like -name, but the match is case insensitive. For example, the patterns `fo*' and `F??' match the file names `Foo', `FOO', `foo', `fOo', etc. </dd><dt>-inum <i>n</i></dt><dd> File has inode number <i>n</i>. </dd><dt>-ipath <i>pattern</i></dt><dd> Like -path, but the match is case insensitive. </dd><dt>-iregex <i>pattern</i></dt><dd> Like -regex, but the match is case insensitive. </dd><dt>-links <i>n</i></dt><dd> File has <i>n</i> links. </dd><dt>-lname <i>pattern</i></dt><dd> File is a symbolic link whose contents match shell pattern <i>pattern</i>. The metacharacters do not treat `/' or `.' specially. </dd><dt>-mmin <i>n</i></dt><dd> File's data was last modified <i>n</i> minutes ago. </dd><dt>-mtime <i>n</i></dt><dd> File's data was last modified <i>n</i>*24 hours ago. </dd><dt>-name <i>pattern</i></dt><dd> Base of file name (the path with the leading directories removed) matches shell pattern <i>pattern</i>. The metacharacters (`*', `?', and `[]') do not match a `.' at the start of the base name. To ignore a directory and the files under it, use -prune; see an example in the description of -path. </dd><dt>-newer <i>file</i></dt><dd> File was modified more recently than <i>file</i>. -newer is affected by -follow only if -follow comes before -newer on the command line. </dd><dt>-nouser</dt><dd> No user corresponds to file's numeric user ID. </dd><dt>-nogroup</dt><dd> No group corresponds to file's numeric group ID. </dd><dt>-path <i>pattern</i></dt><dd> File name matches shell pattern <i>pattern</i>. The metacharacters do not treat `/' or `.' specially; so, for example,<br /> find . -path './sr*sc'<br /> will print an entry for a directory called './src/misc' (if one exists). To ignore a whole directory tree, use -prune rather than checking every file in the tree. For example, to skip the directory `src/emacs' and all files and directories under it, and print the names of the other files found, do something like this:<br /> find . -path './src/emacs' -prune -o -print<br /> </dd><dt>-perm <i>mode</i></dt><dd> File's permission bits are exactly <i>mode</i> (octal or symbolic). Symbolic modes use mode 0 as a point of departure. </dd><dt>-perm -<i>mode</i></dt><dd> All of the permission bits <i>mode</i> are set for the file. </dd><dt>-perm +<i>mode</i></dt><dd> Any of the permission bits <i>mode</i> are set for the file. </dd><dt>-regex <i>pattern</i></dt><dd> File name matches regular expression <i>pattern</i>. This is a match on the whole path, not a search. For example, to match a file named `./fubar3', you can use the regular expression `.*bar.' or `.*b.*3', but not `b.*r3'. </dd><dt>-size <i>n</i>[bckw]</dt><dd> File uses <i>n</i> units of space. The units are 512-byte blocks by default or if `b' follows <i>n</i>, bytes if `c' follows <i>n</i>, kilobytes if `k' follows <i>n</i>, or 2-byte words if `w' follows <i>n</i>. The size does not count indirect blocks, but it does count blocks in sparse files that are not actually allocated. </dd><dt>-true</dt><dd> Always true. </dd><dt>-type <i>c</i></dt><dd> File is of type <i>c</i>: <dl compact="compact"><dt><br /></dt><dd> <dl compact="compact"><dt>b</dt><dd> block (buffered) special </dd><dt>c</dt><dd> character (unbuffered) special </dd><dt>d</dt><dd> directory </dd><dt>p</dt><dd> named pipe (FIFO) </dd><dt>f</dt><dd> regular file </dd><dt>l</dt><dd> symbolic link </dd><dt>s</dt><dd> socket </dd><dt>D</dt><dd> door (Solaris) </dd></dl> </dd></dl> </dd><dt>-uid <i>n</i></dt><dd> File's numeric user ID is <i>n</i>. </dd><dt>-used <i>n</i></dt><dd> File was last accessed <i>n</i> days after its status was last changed. </dd><dt>-user <i>uname</i></dt><dd> File is owned by user <i>uname</i> (numeric user ID allowed). </dd><dt>-xtype <i>c</i></dt><dd> The same as -type unless the file is a symbolic link. For symbolic links: if -follow has not been given, true if the file is a link to a file of type <i>c</i>; if -follow has been given, true if <i>c</i> is `l'. In other words, for symbolic links, -xtype checks the type of the file that -type does not check. </dd></dl> <a name="lbAH"> </a> <h3>ACTIONS</h3> <dl compact="compact"><dt>-exec <i>command</i> ;</dt><dd> Execute <i>command</i>; true if 0 status is returned. All following arguments to <b>find</b> are taken to be arguments to the command until an argument consisting of `;' is encountered. The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of <b>find</b>. Both of these constructions might need to be escaped (with a `\') or quoted to protect them from expansion by the shell. The command is executed in the starting directory. </dd><dt>-fls <i>file</i></dt><dd> True; like -ls but write to <i>file</i> like -fprint. </dd><dt>-fprint <i>file</i></dt><dd> True; print the full file name into file <i>file</i>. If <i>file</i> does not exist when <b>find</b> is run, it is created; if it does exist, it is truncated. The file names ``/dev/stdout'' and ``/dev/stderr'' are handled specially; they refer to the standard output and standard error output, respectively. </dd><dt>-fprint0 <i>file</i></dt><dd> True; like -print0 but write to <i>file</i> like -fprint. </dd><dt>-fprintf <i>file</i> <i>format</i></dt><dd> True; like -printf but write to <i>file</i> like -fprint. </dd><dt>-ok <i>command</i> ;</dt><dd> Like -exec but ask the user first (on the standard input); if the response does not start with `y' or `Y', do not run the command, and return false. </dd><dt>-print</dt><dd> True; print the full file name on the standard output, followed by a newline. </dd><dt>-print0</dt><dd> True; print the full file name on the standard output, followed by a null character. This allows file names that contain newlines to be correctly interpreted by programs that process the <b>find</b> output. </dd><dt>-printf <i>format</i></dt><dd> True; print <i>format</i> on the standard output, interpreting `\' escapes and `%' directives. Field widths and precisions can be specified as with the `printf' C function. Unlike -print, -printf does not add a newline at the end of the string. The escapes and directives are: <dl compact="compact"><dt><br /></dt><dd> <dl compact="compact"><dt>\a</dt><dd> Alarm bell. </dd><dt>\b</dt><dd> Backspace. </dd><dt>\c</dt><dd> Stop printing from this format immediately and flush the output. </dd><dt>\f</dt><dd> Form feed. </dd><dt>\n</dt><dd> Newline. </dd><dt>\r</dt><dd> Carriage return. </dd><dt>\t</dt><dd> Horizontal tab. </dd><dt>\v</dt><dd> Vertical tab. </dd><dt>\\</dt><dd> A literal backslash (`\'). </dd><dt>\NNN</dt><dd> The character whose ASCII code is NNN (octal). </dd></dl> <p> A `\' character followed by any other character is treated as an ordinary character, so they both are printed. </p><dl compact="compact"><dt>%%</dt><dd> A literal percent sign. </dd><dt>%a</dt><dd> File's last access time in the format returned by the C `ctime' function. </dd><dt>%A<i>k</i></dt><dd> File's last access time in the format specified by <i>k</i>, which is either `@' or a directive for the C `strftime' function. The possible values for <i>k</i> are listed below; some of them might not be available on all systems, due to differences in `strftime' between systems. <dl compact="compact"><dt><br /></dt><dd> <dl compact="compact"><dt>@</dt><dd> seconds since Jan. 1, 1970, 00:00 GMT. </dd></dl> <p> Time fields: </p><dl compact="compact"><dt>H</dt><dd> hour (00..23) </dd><dt>I</dt><dd> hour (01..12) </dd><dt>k</dt><dd> hour ( 0..23) </dd><dt>l</dt><dd> hour ( 1..12) </dd><dt>M</dt><dd> minute (00..59) </dd><dt>p</dt><dd> locale's AM or PM </dd><dt>r</dt><dd> time, 12-hour (hh:mm:ss [AP]M) </dd><dt>S</dt><dd> second (00..61) </dd><dt>T</dt><dd> time, 24-hour (hh:mm:ss) </dd><dt>X</dt><dd> locale's time representation (H:M:S) </dd><dt>Z</dt><dd> time zone (e.g., EDT), or nothing if no time zone is determinable </dd></dl> <p> Date fields: </p><dl compact="compact"><dt>a</dt><dd> locale's abbreviated weekday name (Sun..Sat) </dd><dt>A</dt><dd> locale's full weekday name, variable length (Sunday..Saturday) </dd><dt>b</dt><dd> locale's abbreviated month name (Jan..Dec) </dd><dt>B</dt><dd> locale's full month name, variable length (January..December) </dd><dt>c</dt><dd> locale's date and time (Sat Nov 04 12:02:33 EST 1989) </dd><dt>d</dt><dd> day of month (01..31) </dd><dt>D</dt><dd> date (mm/dd/yy) </dd><dt>h</dt><dd> same as b </dd><dt>j</dt><dd> day of year (001..366) </dd><dt>m</dt><dd> month (01..12) </dd><dt>U</dt><dd> week number of year with Sunday as first day of week (00..53) </dd><dt>w</dt><dd> day of week (0..6) </dd><dt>W</dt><dd> week number of year with Monday as first day of week (00..53) </dd><dt>x</dt><dd> locale's date representation (mm/dd/yy) </dd><dt>y</dt><dd> last two digits of year (00..99) </dd><dt>Y</dt><dd> year (1970...) </dd></dl> </dd></dl> </dd><dt>%b</dt><dd> File's size in 512-byte blocks (rounded up). </dd><dt>%c</dt><dd> File's last status change time in the format returned by the C `ctime' function. </dd><dt>%C<i>k</i></dt><dd> File's last status change time in the format specified by <i>k</i>, which is the same as for %A. </dd><dt>%d</dt><dd> File's depth in the directory tree; 0 means the file is a command line argument. </dd><dt>%f</dt><dd> File's name with any leading directories removed (only the last element). </dd><dt>%F</dt><dd> Type of the filesystem the file is on; this value can be used for -fstype. </dd><dt>%g</dt><dd> File's group name, or numeric group ID if the group has no name. </dd><dt>%G</dt><dd> File's numeric group ID. </dd><dt>%h</dt><dd> Leading directories of file's name (all but the last element). </dd><dt>%H</dt><dd> Command line argument under which file was found. </dd><dt>%i</dt><dd> File's inode number (in decimal). </dd><dt>%k</dt><dd> File's size in 1K blocks (rounded up). </dd><dt>%l</dt><dd> Object of symbolic link (empty string if file is not a symbolic link). </dd><dt>%m</dt><dd> File's permission bits (in octal). </dd><dt>%n</dt><dd> Number of hard links to file. </dd><dt>%p</dt><dd> File's name. </dd><dt>%P</dt><dd> File's name with the name of the command line argument under which it was found removed. </dd><dt>%s</dt><dd> File's size in bytes. </dd><dt>%t</dt><dd> File's last modification time in the format returned by the C `ctime' function. </dd><dt>%T<i>k</i></dt><dd> File's last modification time in the format specified by <i>k</i>, which is the same as for %A. </dd><dt>%u</dt><dd> File's user name, or numeric user ID if the user has no name. </dd><dt>%U</dt><dd> File's numeric user ID. </dd></dl> <p> A `%' character followed by any other character is discarded (but the other character is printed). </p></dd></dl> </dd><dt>-prune</dt><dd> If -depth is not given, true; do not descend the current directory.<br /> If -depth is given, false; no effect. </dd><dt>-ls</dt><dd> True; list current file in `ls -dils' format on standard output. The block counts are of 1K blocks, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used. </dd></dl> <a name="lbAI"> </a> <h3>OPERATORS</h3> Listed in order of decreasing precedence: <dl compact="compact"><dt>( <i>expr</i> )</dt><dd> Force precedence. </dd><dt>! <i>expr</i></dt><dd> True if <i>expr</i> is false. </dd><dt>-not <i>expr</i></dt><dd> Same as ! <i>expr</i>. </dd><dt><i>expr1 expr2</i></dt><dd> And (implied); <i>expr2</i> is not evaluated if <i>expr1</i> is false. </dd><dt><i>expr1</i> -a <i>expr2</i></dt><dd> Same as <i>expr1 expr2</i>. </dd><dt><i>expr1</i> -and <i>expr2</i></dt><dd> Same as <i>expr1 expr2</i>. </dd><dt><i>expr1</i> -o <i>expr2</i></dt><dd> Or; <i>expr2</i> is not evaluated if <i>expr1</i> is true. </dd><dt><i>expr1</i> -or <i>expr2</i></dt><dd> Same as <i>expr1</i> -o <i>expr2</i>. </dd><dt><i>expr1</i> , <i>expr2</i></dt><dd> List; both <i>expr1</i> and <i>expr2</i> are always evaluated. The value of <i>expr1</i> is discarded; the value of the list is the value of <i>expr2</i>. </dd></dl> <h2>EXAMPLES<a name="examples"> </a></h2> <pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find /home -user joe</b></pre> Find every file under the directory /home owned by the user joe. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find /usr -name *stat</b></pre> Find every file under the directory /usr ending in ".stat". <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find /var/spool -mtime +60</b></pre> Find every file under the directory /var/spool that was modified more than 60 days ago. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find /tmp -name core -type f -print | xargs /bin/rm -f</b></pre> Find files named <b>core</b> in or below the directory <b>/tmp</b> and delete them. Note that this will work incorrectly if there are any filenames containing newlines, single or double quotes, or spaces. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f</b></pre> <p>Find files named <b>core</b> in or below the directory <b>/tmp</b> and delete them, processing filenames in such a way that file or directory names containing single or double quotes, spaces or newlines are correctly handled. The <b>-name</b> test comes before the <b>-type</b> test in order to avoid having to call <b><a href="http://linux.about.com/library/cmd/linux.about.com/library/cmd/blcmdl2_stat.htm">stat</a>(2)</b> on every file. </p><p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find . -type f -exec file '{}' \;</b></pre> Runs `file' on every file in or below the current directory. Notice that the braces are enclosed in single quote marks to protect them from interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though ';' could have been used in that case also. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find / \( -perm -4000 -fprintf /root/suid.txt '%#m %u %p\n' \) , \</b><br /><b> \( -size +100M -fprintf /root/big.txt '%-10s %p\n' \)</b></pre> Traverse the filesystem just once, listing setuid files and directories into <b>/root/suid.txt</b> and large files into <b>/root/big.txt</b>. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find $HOME -mtime 0</b></pre> Search for files in your home directory which have been modified in the last twenty-four hours. This command works this way because the time since each file was last modified is divided by 24 hours and any remainder is discarded. That means that to match <b>-mtime</b> <p> <b>0</b>, a file will have to have a modification in the past which is less than 24 hours ago. </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find . -perm 664</b></pre> Search for files which have read and write permission for their owner, and group, but which other users can read but not write to. Files which meet these criteria but have other permissions bits set (for example if someone can execute the file) will not be matched. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find . -perm -664</b></pre> Search for files which have read and write permission for their owner and group, and which other users can read, without regard to the presence of any extra permission bits (for example the executable bit). This will match a file which has mode 0777, for example. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find . -perm /222</b></pre> Search for files which are writable by somebody (their owner, or their group, or anybody else). <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find . -perm /220</b><br /><b>find . -perm /u+w,g+w</b><br /><b>find . -perm /u=w,g=w</b></pre> All three of these commands do the same thing, but the first one uses the octal representation of the file mode, and the other two use the symbolic form. These commands all search for files which are writable by either their owner or their group. The files don't have to be writable by both the owner and group to be matched; either will do. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find . -perm -220</b><br /><b>find . -perm -g+w,u+w</b></pre> Both these commands do the same thing; search for files which are writable by both their owner and their group. <p> </p><pre style="background: rgb(221, 221, 221) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b>find . -perm -444 -perm /222 ! -perm /111</b><br /><b>find . -perm -a+r -perm /a+w ! -perm /a+x</b></pre> These two commands both search for files that are readable for everybody (-perm -444 or -perm -a+r), have at least on write bit set (-perm /222 or -perm /a+w) but are not executable for anybody (! -perm /111 and ! -perm /a+x respectively) <p> <a name="lbAJ"> </a> </p> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/find-command.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/find-command.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-04T10:31:00+05:30'>3/04/2008 10:31:00 AM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/8300499115887417830' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/8300499115887417830' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=8300499115887417830&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/Linux' rel='tag'>Linux</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> <div class="date-outer"> <h2 class='date-header'><span>Monday, March 03, 2008</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='36017496' itemprop='blogId'/> <meta content='3847374480937908618' itemprop='postId'/> <a name='3847374480937908618'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://prashuch.blogspot.com/2008/03/difference-between-static-global.html'>Difference Between Static & Global Variable</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-3847374480937908618' itemprop='description articleBody'> Variables defined local to a function disappear at the end of the function scope. So when we call the function again, storage for variables is created and values are reinitialized. So if we want the value to be extent throughout the life of a program, we can define the local variable as "static." Initialization is performed only at the first call and data is retained between func calls.<br /><br />Had it been gloal variable, it would have been available outside the scope of the function, but static variable is not available outside the scope of a function (helpful in localizing errors - as it can't be changed outside the function scope).<br /><br />Static and global variable differ a lot in their behaviour to life and scope. First, let me distinguish between life and scope. Life of an object determines whether the object is still in the memory (of the process) whereas scope of the object is whether can I know the variable by its name at this position. It is possible that object is live, but not visible (not in scope) but not that object is not alive but in scope (except for dynamically allocated objects where you refer object through pointers).<br /><br />Static variables are local in scope to their module in which they are defined, but life is throughout the program. Say for a static variable inside a function cannot be called from outside the function (because it's not in scope) but is alive and exists in memory. The next time this function is entered (within the same program) the same chunk of memory would be accessed now retaining the variables old value and no new memory is allocated this time for this variable like other variables in the function (automatic variables). So basically the variable persists throughout the program. <span style="font-weight: bold;">Similarly if a static variable is defined in a global space (say at beginning of file) then this variable will be accessible only in this file (file scope).</span><br /><br />On the other hand global variables have to be defined globally, persists (life is) throughout the program, scope is also throughout the program. This means such variables can be accessed from any function, any file of the program.<br /><br />So if you have a global variable and u r distributing ur files as a library and you want others to not access your global variable, you may make it static by just prefixing keyword static (of course if same variable is not required in other files of yours). <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <span itemprop='name'>Prashanth</span> </span> </span> <span class='post-timestamp'> at <meta content='http://prashuch.blogspot.com/2008/03/difference-between-static-global.html' itemprop='url'/> <a class='timestamp-link' href='https://prashuch.blogspot.com/2008/03/difference-between-static-global.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2008-03-03T15:13:00+05:30'>3/03/2008 03:13:00 PM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://www.blogger.com/comment/fullpage/post/36017496/3847374480937908618' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/36017496/3847374480937908618' title='Email Post'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-1323347076'> <a href='https://www.blogger.com/post-edit.g?blogID=36017496&postID=3847374480937908618&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://prashuch.blogspot.com/search/label/C%20and%20C%2B%2B' rel='tag'>C and C++</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> </div> <div class='blog-pager' id='blog-pager'> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='https://prashuch.blogspot.com/search?updated-max=2008-03-20T17:47:00%2B05:30&max-results=10&reverse-paginate=true' id='Blog1_blog-pager-newer-link' title='Newer Posts'>Newer Posts</a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://prashuch.blogspot.com/search?updated-max=2008-03-03T15:13:00%2B05:30&max-results=10&start=10&by-date=false' id='Blog1_blog-pager-older-link' title='Older Posts'>Older Posts</a> </span> <a class='home-link' href='https://prashuch.blogspot.com/'>Home</a> </div> <div class='clear'></div> <div class='blog-feeds'> <div class='feed-links'> Subscribe to: <a class='feed-link' href='https://prashuch.blogspot.com/feeds/posts/default' target='_blank' type='application/atom+xml'>Posts (Atom)</a> </div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <script src="http://widgetserver.com/syndication/subscriber/InsertWidget.js?appId=e41934d8-3939-4bbc-be54-40e42b41ccb6" type="text/javascript"></script><noscript>Get the <a href="http://www.widgetbox.com/widget/crickternews-livescorecard-widget">Cricket Live Score Widget from CricketerNews.com</a> widget and many other <a href="http://www.widgetbox.com/galleryhome/">great free widgets</a> at <a href="http://www.widgetbox.com">Widgetbox</a>!</noscript> </div> <div class='clear'></div> </div></div> </div> </div> <div class='column-left-outer'> <div class='column-left-inner'> <aside> <div class='sidebar section' id='sidebar-left-1'><div class='widget Feed' data-version='1' id='Feed1'> <h2>Picaso</h2> <div class='widget-content' id='Feed1_feedItemListDisplay'> <span style='filter: alpha(25); opacity: 0.25;'> <a href='http://picasaweb.google.com/data/feed/base/user/prashanthkumar.chanda@gmail.com'>Loading...</a> </span> </div> <div class='clear'></div> </div></div> <table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'> <tbody> <tr> <td class='first columns-cell'> <div class='sidebar section' id='sidebar-left-2-1'><div class='widget HTML' data-version='1' id='HTML4'> <div class='widget-content'> <div id="vu_ytplayer_vjVQa1PpcFPWXmlRQyD7wr14npv7xzOqu5HVu_prugY="><a href="http://www.youtube.com/browse">Watch the latest videos on YouTube.com</a></div><script src="http://www.youtube.com/watch_custom_player?id=vjVQa1PpcFPWXmlRQyD7wr14npv7xzOqu5HVu_prugY=" type="text/javascript"></script> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML7'> <h2 class='title'>Search</h2> <div class='widget-content'> <style type="text/css"> @import url(http://www.google.com/cse/api/branding.css); </style> <div style="background-color:#999999;color:#000000" class="cse-branding-right"> <div class="cse-branding-form"> <form id="cse-search-box" action="http://www.google.co.in/cse" target="_blank"> <div> <input value="partner-pub-8859345293937280:2uhe5d-7uc5" name="cx" type="hidden"/> <input value="ISO-8859-1" name="ie" type="hidden"/> <input name="q" size="20" type="text"/> <input value="Search" name="sa" type="submit"/> </div> </form> </div> <div class="cse-branding-logo"> <img alt="Google" src="http://www.google.com/images/poweredby_transparent/poweredby_999999.gif"/> </div> <div class="cse-branding-text"> Custom Search </div> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML9'> <h2 class='title'>Subscribe for new postings</h2> <div class='widget-content'> <form action="http://www.feedburner.com/fb/a/emailverify" style="border:1px solid #ccc;padding:3px;text-align:center;" target="popupwindow" method="post" onsubmit="window.open('http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2041691', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true"><p>Enter your email address:</p><p><input style="width:140px" name="email" type="text"/></p><input value="http://feeds.feedburner.com/~e?ffid=2041691" name="url" type="hidden"/><input value="Welcome to the World of Knowledge and Fun..." name="title" type="hidden"/><input value="en_US" name="loc" type="hidden"/><input value="Subscribe" type="submit"/><p>Delivered by <a href="http://www.feedburner.com" target="_blank">FeedBurner</a></p></form> </div> <div class='clear'></div> </div><div class='widget Text' data-version='1' id='Text1'> <div class='widget-content'> <br/>"<span style="font-weight: bold; color: rgb(0, 153, 0);">Debugging is twice as hard as writing the code in the first place.</span><span style="font-weight: bold; color: rgb(0, 153, 0);">Therefore, if you write the code as cleverly as possible, you are,</span><span style="font-weight: bold; color: rgb(0, 153, 0);">by definition, not smart enough to debug it.</span>"<br/><span style="color: rgb(255, 0, 0); font-weight: bold;">--Brian Kernighan</span><br/> </div> <div class='clear'></div> </div><div class='widget Label' data-version='1' id='Label1'> <h2>Labels</h2> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Achievements'>Achievements</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/AMD'>AMD</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Books'>Books</a> <span dir='ltr'>(2)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Browsers'>Browsers</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Bugs'>Bugs</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/C%20and%20C%2B%2B'>C and C++</a> <span dir='ltr'>(20)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Career%20Guidance'>Career Guidance</a> <span dir='ltr'>(3)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Cracks'>Cracks</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Cricket'>Cricket</a> <span dir='ltr'>(8)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Desktops'>Desktops</a> <span dir='ltr'>(4)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Drivers'>Drivers</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Enquary'>Enquary</a> <span dir='ltr'>(3)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Finance'>Finance</a> <span dir='ltr'>(6)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/fresher%20Jobs'>fresher Jobs</a> <span dir='ltr'>(3)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Fun'>Fun</a> <span dir='ltr'>(30)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/General'>General</a> <span dir='ltr'>(4)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Good%20ones'>Good ones</a> <span dir='ltr'>(6)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Governament%20Jobs'>Governament Jobs</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/GSM%20Networks'>GSM Networks</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Health'>Health</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Informative'>Informative</a> <span dir='ltr'>(6)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Informix'>Informix</a> <span dir='ltr'>(5)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Inspiring'>Inspiring</a> <span dir='ltr'>(8)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Interview'>Interview</a> <span dir='ltr'>(3)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/IPL'>IPL</a> <span dir='ltr'>(5)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Java'>Java</a> <span dir='ltr'>(5)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/JDBC'>JDBC</a> <span dir='ltr'>(2)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Jobs'>Jobs</a> <span dir='ltr'>(4)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Linux'>Linux</a> <span dir='ltr'>(21)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Microsoft'>Microsoft</a> <span dir='ltr'>(2)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Mobile%20Technology'>Mobile Technology</a> <span dir='ltr'>(4)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Mother%20Boards'>Mother Boards</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/News'>News</a> <span dir='ltr'>(3)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Open%20Office'>Open Office</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Oppertunities'>Oppertunities</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/PC'>PC</a> <span dir='ltr'>(5)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Personality%20Development'>Personality Development</a> <span dir='ltr'>(2)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Results'>Results</a> <span dir='ltr'>(2)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Sardar'>Sardar</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Shell%20Scripting'>Shell Scripting</a> <span dir='ltr'>(4)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Shopping'>Shopping</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Solaries'>Solaries</a> <span dir='ltr'>(9)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Technical%20Info'>Technical Info</a> <span dir='ltr'>(2)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Technology'>Technology</a> <span dir='ltr'>(4)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Unix'>Unix</a> <span dir='ltr'>(8)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Virus'>Virus</a> <span dir='ltr'>(1)</span> </li> <li> <a dir='ltr' href='https://prashuch.blogspot.com/search/label/Windows'>Windows</a> <span dir='ltr'>(2)</span> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <h2>Blog Archive</h2> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2010/'> 2010 </a> <span class='post-count' dir='ltr'>(1)</span> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2010/06/'> June </a> <span class='post-count' dir='ltr'>(1)</span> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2010_06_23_archive.html'> Jun 23 </a> <span class='post-count' dir='ltr'>(1)</span> <ul class='posts'> <li><a href='https://prashuch.blogspot.com/2010/06/178-isam-error-database-is-locked.html'>178: ISAM error: Database is locked; pending chang...</a></li> </ul> </li> </ul> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008/'> 2008 </a> <span class='post-count' dir='ltr'>(144)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008/07/'> July </a> <span class='post-count' dir='ltr'>(7)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_07_31_archive.html'> Jul 31 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_07_30_archive.html'> Jul 30 </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008/06/'> June </a> <span class='post-count' dir='ltr'>(22)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_06_20_archive.html'> Jun 20 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_06_19_archive.html'> Jun 19 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_06_16_archive.html'> Jun 16 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_06_13_archive.html'> Jun 13 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_06_11_archive.html'> Jun 11 </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_06_06_archive.html'> Jun 06 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_06_04_archive.html'> Jun 04 </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008/05/'> May </a> <span class='post-count' dir='ltr'>(9)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_05_29_archive.html'> May 29 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_05_28_archive.html'> May 28 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_05_27_archive.html'> May 27 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_05_23_archive.html'> May 23 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_05_22_archive.html'> May 22 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_05_13_archive.html'> May 13 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_05_09_archive.html'> May 09 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008/04/'> April </a> <span class='post-count' dir='ltr'>(27)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_04_24_archive.html'> Apr 24 </a> <span class='post-count' dir='ltr'>(6)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_04_21_archive.html'> Apr 21 </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_04_10_archive.html'> Apr 10 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_04_09_archive.html'> Apr 09 </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_04_04_archive.html'> Apr 04 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_04_03_archive.html'> Apr 03 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_04_01_archive.html'> Apr 01 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008/03/'> March </a> <span class='post-count' dir='ltr'>(33)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_28_archive.html'> Mar 28 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_27_archive.html'> Mar 27 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_26_archive.html'> Mar 26 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_25_archive.html'> Mar 25 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_24_archive.html'> Mar 24 </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_20_archive.html'> Mar 20 </a> <span class='post-count' dir='ltr'>(15)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_19_archive.html'> Mar 19 </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_17_archive.html'> Mar 17 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_12_archive.html'> Mar 12 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_04_archive.html'> Mar 04 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_03_03_archive.html'> Mar 03 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008/02/'> February </a> <span class='post-count' dir='ltr'>(46)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_02_29_archive.html'> Feb 29 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_02_28_archive.html'> Feb 28 </a> <span class='post-count' dir='ltr'>(4)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_02_27_archive.html'> Feb 27 </a> <span class='post-count' dir='ltr'>(9)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_02_25_archive.html'> Feb 25 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_02_21_archive.html'> Feb 21 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_02_18_archive.html'> Feb 18 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://prashuch.blogspot.com/2008_02_15_archive.html'> Feb 15 </a> <span class='post-count' dir='ltr'>(26)</span> </li> </ul> </li> </ul> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget LinkList' data-version='1' id='LinkList1'> <h2>Links</h2> <div class='widget-content'> <ul> <li><a href='http://www.incometaxindiaefiling.gov.in/portal/index.jsp'>Incomtax Portal</a></li> <li><a href='http://www.cpptutor.com/index.htm'>C++ Language Tutorials</a></li> <li><a href='http://www.winentrance.com/results/'>Exam Results</a></li> <li><a href='http://dictionary.reference.com/'>Dictionary</a></li> <li><a href='http://www.cert.org/secure-coding/'>Secure Coding</a></li> <li><a href='http://www.linux-tutorial.info/'>Linux knowledge Base and Tutorial</a></li> <li><a href='http://www.technologyreview.com/'>Technology Review</a></li> <li><a href='http://www.imdb.com/'>English Movies Rating</a></li> <li><a href='http://indyarocks.com/'>Indyarocks(Free SMS sending Site)</a></li> <li><a href='http://www.onlinesbi.com/'>SBI online</a></li> <li><a href='http://www.dhanunjayatravels.com/'>Dhanunjaya Travels</a></li> <li><a href='http://www.freerice.com/index.php'>Free Rice ( Welfare Site ..)</a></li> <li><a href='http://timesofindia.indiatimes.com/default.cms'>Times of India (English Daily)</a></li> <li><a href='http://www.google.co.in/'>Google India</a></li> <li><a href='http://www.indianrail.gov.in/'>Indian Railway</a></li> <li><a href='http://www.eenadu.net/'>Eenadu (Telugu News paper)</a></li> <li><a href='http://mail.google.com/'>Gmail</a></li> <li><a href='http://www.timepassmails.com/'>Timepass mails</a></li> <li><a href='http://www.cricinfo.com/'>Crickinfo</a></li> <li><a href='http://www.rediff.com/'>Rediff</a></li> <li><a href='http://www.yahoomail.com/'>Yahoo mail</a></li> <li><a href='http://news.google.com/'>Google News</a></li> </ul> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML1'> <div class='widget-content'> <div id="vu_ytplayer_vjVQa1PpcFPWXmlRQyD7whgf8Nguk4aGIDEopvpe-1E="><a href="http://www.youtube.com/browse">Watch the latest videos on YouTube.com</a></div><script src="http://www.youtube.com/watch_custom_player?id=vjVQa1PpcFPWXmlRQyD7whgf8Nguk4aGIDEopvpe-1E=" type="text/javascript"></script> </div> <div class='clear'></div> </div></div> </td> <td class='columns-cell'> <div class='sidebar section' id='sidebar-left-2-2'><div class='widget HTML' data-version='1' id='HTML10'> <h2 class='title'>Feed Burner</h2> <div class='widget-content'> <p><a href="http://www.feedburner.com" target="_blank"><img alt="I heart FeedBurner" style="border:0" src="http://www.feedburner.com/fb/images/pub/i_heart_fb.gif"/></a></p> </div> <div class='clear'></div> </div></div> </td> </tr> </tbody> </table> <div class='sidebar section' id='sidebar-left-3'><div class='widget HTML' data-version='1' id='HTML2'> <h2 class='title'>211 Degrees!!!</h2> <div class='widget-content'> <object width="425" height="355"><param value="http://www.youtube.com/v/FpJQqzJj534&hl=en" name="movie"/><param value="transparent" name="wmode"/><embed width="425" src="http://www.youtube.com/v/FpJQqzJj534&hl=en" wmode="transparent" height="355" type="application/x-shockwave-flash"></embed></object> </div> <div class='clear'></div> </div></div> </aside> </div> </div> <div class='column-right-outer'> <div class='column-right-inner'> <aside> </aside> </div> </div> </div> <div style='clear: both'></div> <!-- columns --> </div> <!-- main --> </div> </div> <div class='main-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <footer> <div class='footer-outer'> <div class='footer-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left footer-fauxborder-left'> <div class='fauxborder-right footer-fauxborder-right'></div> <div class='region-inner footer-inner'> <div class='foot no-items section' id='footer-1'></div> <table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'> <tbody> <tr> <td class='first columns-cell'> <div class='foot no-items section' id='footer-2-1'></div> </td> <td class='columns-cell'> <div class='foot no-items section' id='footer-2-2'></div> </td> </tr> </tbody> </table> <!-- outside of the include in order to lock Attribution widget --> <div class='foot section' id='footer-3' name='Footer'><div class='widget Attribution' data-version='1' id='Attribution1'> <div class='widget-content' style='text-align: center;'> Ethereal theme. Powered by <a href='https://www.blogger.com' target='_blank'>Blogger</a>. </div> <div class='clear'></div> </div></div> </div> </div> <div class='footer-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </footer> <!-- content --> </div> </div> <div class='content-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <script type='text/javascript'> window.setTimeout(function() { document.body.className = document.body.className.replace('loading', ''); }, 10); </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/4033524873-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'ACvIOeBABdJGTlURnBk9spzIHC--:1786533690551';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d36017496','//prashuch.blogspot.com/search?updated-max\x3d2008-03-19T22:24:00-07:00\x26max-results\x3d10','36017496'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '36017496', 'title': 'Welcome to the World of Knowledge and Fun...', 'url': 'https://prashuch.blogspot.com/search?updated-max\x3d2008-03-19T22:24:00-07:00\x26max-results\x3d10', 'canonicalUrl': 'http://prashuch.blogspot.com/search?updated-max\x3d2008-03-19T22:24:00-07:00\x26max-results\x3d10', 'homepageUrl': 'https://prashuch.blogspot.com/', 'searchUrl': 'https://prashuch.blogspot.com/search', 'canonicalHomepageUrl': 'http://prashuch.blogspot.com/', 'blogspotFaviconUrl': 'https://prashuch.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'en-US', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Welcome to the World of Knowledge and Fun... - Atom\x22 href\x3d\x22https://prashuch.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Welcome to the World of Knowledge and Fun... - RSS\x22 href\x3d\x22https://prashuch.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Welcome to the World of Knowledge and Fun... - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/36017496/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseClientId': 'ca-pub-8859345293937280', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': true, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d9e3b6f1f0b3dbd1', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'pageName': '', 'pageTitle': 'Welcome to the World of Knowledge and Fun...'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'Ethereal', 'localizedName': 'Ethereal', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': false, 'variant': 'hummingBirds2', 'variantId': 'hummingBirds2'}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Welcome to the World of Knowledge and Fun...', 'description': '', 'url': 'https://prashuch.blogspot.com/search?updated-max\x3d2008-03-19T22:24:00-07:00\x26max-results\x3d10', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': false, 'search': {}}}]); _WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', document.getElementById('Navbar1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/54888553-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/828616780-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'main', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_FeedView', new _WidgetInfo('Feed1', 'sidebar-left-1', document.getElementById('Feed1'), {'title': 'Picaso', 'showItemDate': false, 'showItemAuthor': false, 'feedUrl': 'http://picasaweb.google.com/data/feed/base/user/prashanthkumar.chanda@gmail.com', 'numItemsShow': 2, 'loadingMsg': 'Loading...', 'openLinksInNewWindow': false, 'useFeedWidgetServ': 'true'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'sidebar-left-2-1', document.getElementById('HTML4'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML7', 'sidebar-left-2-1', document.getElementById('HTML7'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML9', 'sidebar-left-2-1', document.getElementById('HTML9'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_TextView', new _WidgetInfo('Text1', 'sidebar-left-2-1', document.getElementById('Text1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar-left-2-1', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-left-2-1', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LinkListView', new _WidgetInfo('LinkList1', 'sidebar-left-2-1', document.getElementById('LinkList1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-left-2-1', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML10', 'sidebar-left-2-2', document.getElementById('HTML10'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML2', 'sidebar-left-3', document.getElementById('HTML2'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', document.getElementById('Attribution1'), {}, 'displayModeFull')); </script> </body> </html>