About Me

- A little contribution to the linux newbies.

Friday, October 9, 2009

Expect - Sample Scripts

Following scripts will "ssh" into the remote machine and will "execute the command" that you pass to be executed on the remote system.

#!/usr/bin/expect -f
# USAGE:
#----------------------------------------------------
# ./ssh-expect.exp 'command to be executed on remote machine'
#----------------------------------------------------
# set Variables
set password [lrange $argv 0 0]
set remote_ipaddr [lrange $argv 1 1]
set scriptname [lrange $argv 2 2]
set arg1 [lrange $argv 3 3]
set timeout -1
spawn ssh root@$remote_ipaddr $scriptname $arg1
match_max 100000
# Look for passwod prompt
expect "*?assword:*"
# Send password to the remote machine
send -- "$password\r"
send -- "\r"
#terminate the connection
expect eof

Perl - Sample Scripts (useful for interview)

Script - to remove leading and trailing spaces from the passed string
--------------------------------------------------------------------------------------------------
#/usr/bin/perl


my $string = <>;
@temp = split / / , $string;
$string =~ s/^\s+//; #remove leading spaces
$string =~ s/\s+$//; #remove trailing spaces

print @temp
--------------------------------------------------------------------------------------------------

Thursday, October 1, 2009

Linux Admin - command line Interview questions

following are some sample question that you can get during a Linux command line interview

Question : In this system there is following directory structure.
-> 1 x Dir (main directory) -> 10 x Sub-Dir -> 10 x files in each subdirectories
Find out which file in the directory was lastly modified.

Answer :
$ find -type f -mtime -1


Exp : this command will find the lastly modified(within last 24 hours) file in the directory structure

Question: How can you send email from command line ??

Answer:
$ "mail e-mail @domain.com"
Subject:
Type in the Body "the message " that you want to send

press a Dott (.) when you are done.

Cc: "Leave it blank "


you can also put some one on the Cc list too..


Question: How can you create exactly 1MB sized file from command line ?

Answer :

$ dd if=/dev/zero of=output.file bs=1024 count=1024


Question: How can you find the largest file in a directory structure ?

Answer :
$ find /home/ -printf "%s:%p\n"|sort -k1n|tail -1

This will get you the largest sized file from the directory structure.

Question: How can you check what shell are you currently using

Answer:
$ echo $SHELL

or

$ ps | grep `echo $$` | awk '{print $4}'

Booting Linux from Serial Console - Without VGA

Perform the following steps and reboot the machine :

STEP 1 :

$ vi /boot/grub/grub.conf

serial --unit=0 --speed=9600
terminal --timeout=10 serial console

console=tty0 console=ttyS0,9600


here is a sample how your file should look like -

--------------------------------------Sample-------------------------------------------
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
serial --unit=0 --speed=9600
terminal --timeout=5 serial console
title Fedora (2.6.25-14.fc9.i686)
root (hd0,0)
kernel /vmlinuz-2.6.25-14.fc9.i686 ro root=UUID=b1f4e87a-85cf-491d-9f96-a9409864680e console=tty0 console=ttyS0,9600
initrd /initrd-2.6.25-14.fc9.i686.img
-----------------------------------------------------------------------------------------------
STEP 2 :

$ vi /etc/inittab

s0:2345:respawn:/sbin/agetty ttyS0 115200,9600 linux


after rebooting the machine - it should come up on serial console and not on VGA

Note: make sure that your BIOS is set on the same settings..