A unique blog for Unix, Linux based Tips, tricks and Shell Scripts. This is intended to be one-stop Information Center for all your Unix, Linux needs.
Wednesday, May 6, 2009
Performance comparision
For checking the time taken for execution of any command do the following:
Say you want to execute "ls -l grep sanju.txt" and measure time taken for this.
Now open a bash shell and on the prompt
$time ls -l grep sanju.txt
it shows you the time taken by the command execution
Tuesday, May 5, 2009
Unaliasing in BASH
Unaliasing in BASH
How can we unalias a command temporarily without using unalias command ?
just put the escape character before the command i.e. "\"e.g. :-
$\ls
It will show the without alias.
Thursday, January 22, 2009
Some useful commands
gview : load VIM, improved vi editor
history : display a list of previous commands
!! : repeat previous command
ls -p grep "/" : list sub-directories in the current directory
touch file.ext : create a NULL file named 'file.ext'
vmstat : virtual memory status
uname : system information
Wednesday, September 17, 2008
TRIMMING THE LOG
I call it trimlog:
#! /bin/sh
# trimlog
filesize=`cat $1wc -l`
trim=`expr $filesize - $2`
if [ $trim -gt 0 ]
then
sed "1,$trim d" $1 > /tmp/$1
mv /tmp/$1 $1
echo $1 trimmed by $trim lines
else
echo "Invalid argument"
fi
Use it by feeding in the name of the log you want to trim followedby the number of lines you want to keep:
# trimlog oracle_listener.log 10000
Of course you can't use it in the /tmp directory.
There are probably newer and more efficient ways to do this, but this works.
kill really does not KILL
kill -INT 1234
where 1234 is the Process ID is really, this set an interrupt signal, Ctrl-C is an example of interupt signal givento shell.
kill -HUP 1234
some UNIX daemons handle this, to do refreshing business.
kill -KILL 1234
This is the sure kill,which cannot be handled by any process. Also know as,
kill -9 1234
Just, check the in the file /usr/include/sys/signal.h for all signals on the system or you can use:
kill -l
to get the complete list of signals.
Note: More about this can be found onkill and signal man pages.
AUTOMATIC LOGIN TO REMOTE HOSTS w/o PASSWORD
>From hosts (user:deepak), you wish to logon tohost1 (user:paul).
Paul would create a .rhostsfile in his directory
chmod 744 .rhosts
(No write permission forothers)
The first line would contain
host1.domain.com deepak
Now, deepak should be able to logon to host2.domain.comas user paul by using rlogin.
Deepak will type
e.g.
rlogin hosts.domain.com -l paul
And he should be in.
Monday, September 15, 2008
CRYPT AN ASCII FILE
To encrypt simply pipe the STDOUT ofthe file to "crypt" and redirect it toa new file name. Enter a passowrd whenprompted with "Enter key".
$ cat foo crypt > foo.e
Enter key:
To unencrypt simply pipe the STDOUT ofthe encrypted file to "crpyt" andredirect it to a new file name. Entera passowrd when prompted with"Enter key".
$ cat foo.e crypt > foo.new
Enter key:
Thursday, September 4, 2008
CASE TRANSLATION
trans ()
{
tr '[:upper:]' '[:lower:]' < $1 > $2
}
TRANS()
{
tr '[:lower:]' '[:upper:]' <$1 > $2
}
The first function trans will translate all uppercaseletters in the first file(argument) to lowercase in the second file.
The second function TRANS does the exact opposite.
Friday, August 1, 2008
Tracking User's activity using "script -a"
But remember, Its not a User History.... It stores all commands entered by all users (.e. its the shell history .
Add the following line to your BASH profile
script -a ~/.termlog`date +%m%d%y`
This enable to capture all the terminal activities to a file ending with current date
Monday, July 28, 2008
Cut and paste text files by columns
Here’s a generic UNIX way: (startcol and endcol refer to character columns, including whitespace. Tab counts as 1.)
cut -cstartcol-endcol file {>receiving file} paste sourcefile1 sourcefile2 {>final file}
I like to preview and fine-tune my commands by looking at the result on standard out (the shell window) and then redirecting output to a (temporary) file when things look right. Those feeling really adventurous can combine things into a single command line…
Great Unix Tips & Tricks: Vol 1
Whether you are a newbie to Linux or you are a seasoned guru, you are bound to find some scripts or programs which just make your life on the computer exponentially easier. The following is a list of them and explains what they do.
1. tac
tac is a command similar to cat, except that it reverses the output of the specified file.
tac
2. Multiple X-Sessions
Using multiple X-Sessions allows a user to have open more than just one instance of XFree, so multiple desktop environments can be used at a time.
startx -- :
terminal name is simply which terminal X should start on. By default it starts on
0:0. If you want two open, you may want it open on 0:1, which can be run by:
startx -- :1
The resulting desktops will exist on F7 - F12.
3. links
links is a text based browser which has full support for tables
links
sparse files
$ cat bigcore.c
#include
#include
int main(void) {
int fd = open("core", O_CREAT|O_WRONLY|O_TRUNC, 0600);
lseek(fd, 0x12345678, SEEK_SET);
write(fd, "1", 1);
close(fd);
return 0;
}
$ cc -o bigcore bigcore.c
$ ./bigcore
$ ls -l core
-rw------- 1 dmr staff 305419897 May 1 03:50 core
$ du -k core
48 core
$
Wednesday, July 9, 2008
Games
Naturally there are also lots of free games, many simple but fun games are included with Linux distributions, but some are not, so I have included links about those too.
Linux Game Publishing
Tux Games
Linux Gaming
Linuxgames
The Linux Game
Mandrake eXPerience FREE GAMES section
Article on Gaming and Linux in 2003
Tuesday, July 8, 2008
Command based Calculator in BASH
To use this feature, simply type in the arithmetic expression you wish to evaluate at the prompt within double parentheses, as illustrated below. Bash will attempt to perform the calculation and return the answer.
bash> echo $((16/2))
8
bash> echo $((16*2))
32
Open source I use and recommend
Virtual Desktop
Organize your applications over several virtual Windows desktops. In this "once you've tried it, you can't live without it" category, we have two strong contenders: VirtuaWin and Virtual Dimension. The latter application has some extra features, but it's a virtual (sorry) tie: you can't lose trying either one of them. [Windows Only]
File Archiver
7-Zip can create ZIP, GZIP, BZIP2 and TAR archives, and can unpack RAR, CAB, even your old LZH and ARJ files. And the Windows version integrates into Windows Explorer. What's not to like?
Server Operating System
I am always happy to put in a word for my favourite Unix server operating system, FreeBSD. While GNU/Linux may have better support for bleeding-edge hardware, I find FreeBSD more stable, scalable, secure and usable. When you consider all the various Linux distributions out there, the fact that there is one FreeBSD is, frankly, less confusing. The excellent ports system and the fact that FreeBSD can run Linux binaries are icing on the cake.
X Server
If you need to run a particular X application on Windows, or if you prefer xterm to putty, you need Cygwin/X. It's a large download, and there are decent commercial alternatives in this category, but this is my pick. [Windows Only]
Web Browser and Email
Yes, Firefox is slowly but surely winning the browser war, so I don't need to plug it a whole lot. Thunderbird will probably do the same thing to Outlook eventually, once more people try this full-featured (spell-checking, address book, spam filter, etc.) email client that provides the same slick email interface whether you're running Linux, Windows or OS X. Highly recommended.
Database
Which one is best: MySQL or PostgreSQL? The debate rages on, but the two have recently come much closer in terms of capabilities, with MySQL playing catch-up in terms of features (stored procedures, triggers, views, etc.). It's getting tougher and tougher to pick a winner, but I think they each have their strengths and appropriate place, and quite honestly, I'm as happy as a clam using either one.
SFTP Client
If you need to securely transfer files between a Windows client and a remote computer running SSH, and you want a GUI interface, FileZilla will make your life easier. [Windows Only]
Text Editor
If you know what a text editor is, you probably already have a favourite, and if past experience is any guide, you probably will use it exclusively the rest of your days. The one they will pry from my cold, dead fingers is Vim.
Terminal Emulator
If you work on Windows, but need to access remote Unix accounts, how can you not already love PuTTY? If only they would finish the Mac OS X port, I could die happy. Until that day, I'll use iTerm on OS X, if only for the tabbed windows. In conjunction with either of these terminal emulators, I could not work without GNU Screen, a console window manager that allows you to run interactive shells in multiple virtual terminals.
Argument of the previous command
For example:
$ ls -l /home/sanju/somefile
$ vi $_
It will open /usr/home/somefile using vi editor.
Wednesday, July 2, 2008
Limiting File Size in UNIX
Removing non-consecutive duplicate lines from a file
In order to remove non-consecutive duplicate lines, use awk:
awk '!x[$0]++' FILE
A list of directories
printf "%s\n" */
With a Bourne shell:
echo */.
The Easy PATH
==============
path()
{
oldIFS=$IFS
IFS=:
printf "%s\n" $PATH
IFS=$oldIFS
}
==============
A typical run of the function:
$ path
/bin
/usr/bin
/usr/bin/X11
/usr/X11R6/bin
/usr/local/bin
/home/sanju/bin
/home/sanju/scripts