Printer FriendlyEmail Article Link

What are some very useful UNIX scripts and / or commands?

Answer

LISTS CPU HOGGING PROCESSES
ps aux | tail +2 | sort -k 1.15,1.19nr | head

FTP’ing large files from a QWEST server to Spirent’s FTP server
ftp ftp.sab.spirentcom.com  or ftp 96.241.21.103

TO REMOVE DIRECTORY AND ALL IT’S SUBDIRECTORIES
rm -r {directory name}

TO UNLOAD A CORE FILE
strings core

TO SEE THE PROCESS REPSONSIBLE FOR THE CORE
file core

TO DISPLAY THE SYSTEM DUMP OF A PROCESS
dump –H user_server

TO DISPLAY SPECIFICS ABOUT THE PROGRAM
file freq_pm_mgr

LISTS BIG FILES HOGGING UP DISK SPACE
ls -Rals | sort -rn | more

USE “ESC \” TO ALLOW THE OS TO FINISH TYPING FOR YOU
ESC \

REMOVE ALL FILES IN A DIRECTORY
ls | xargs rm

FINDING A FILE WITHOUT ALL THE EXTRAS
find / -name filename -print 2>/dev/null

RUNNING TRACEROUTE ON A HP BOX
/usr/contrib/bin/traceroute  address

USE THE BELOW WHEN GETTING THE MESSAGE “ksh: /usr/bin/grep: arg list too long”
find . -name "DDM*.log*" -exec grep -l "15-MIN" {} \; | more

LOGGING IN AS A USER WITHOUT NEEDING A PASSWORD
rsh <host> -l hlisys  <OR>   rlogin

TO LIST THE PATCH LEVELS CURRENTLY INSTALL ON A SERVER
swlist -l fileset
/usr/sbin/swlist –I | grep –i gold

COMPRESS AND UNCOMPRESS FILES
compress -v filename
uncompress -v filename.Z

TURNING ON DEBUGS
Turning on debugs may require that you use the version of  “debug” that’s located in /hekimian/library*/bin.

TURNING ON DEBUGS FOR PERFORM

Turning on other Perform process logging (Fast Packet)
. $CENTEROP_ROOT/perform.env
CenterOpDebug.exe show $CPP_ORB_INIT_REF_ARG

Turning on Io_Server logging (Fast Packet)
$MEDIATION_HOME/bin/io_debug.exe enable io_server - - - def1D

Showing Io_server logging (Fast Packet)
$MEDIATION_HOME/bin/io_debug.exe show |grep server


MOUNTING AND UNMOUNTING A CDROM FILESYSTEM
mount –a
umount cdrom

TO KILL ALL PROCESSES MATCHING A SPECIFIC CRITERIOR

killall.cmd <criteria>

Ie:  killall.cmd defunct

Script …

cat killall

for i in `ps -ef | grep $1 | grep -v "grep $1" | awk '{ print $2 }' `
do
        kill -9 $i
done

CRONTAB ENTRY TO OUTPUT FILE SYSTEM SIZE TO A FILE AT THE TOP OF EVERY HOUR
0 0-23 * * * date >>/tmp/df.out;df -k >>/tmp/df.out

ADDING ^D TO THE END OF EVERY LINE
:1,$s/$/^d/g

Or scripted to append ^d at the end of each record (whether it’s a single line or more) ~B. Kiser

cat bmk.out | while read line1
do
if test ! -z "$line1";then
echo $line1;save=`echo $line1`
else
echo $save ^D
fi
done > bmk.test

DL COMMAND TO QUICKLY VIEW document servers from the unix prompt:
dl service/doc svr #
dl /cptirksip/1      (for cat)
dl -f /cptirksip/1   (for live view)

LIST SYSTEM HOGGERS AS ROOT
topas or top

DISPLAYS THE ENTIRE HP HARDWARE CONFIGURATION
getconf
stm
echo "selall\ninfolog\nexit" | /usr/sbin/cstm

DISPLAYS THE ENTIRE AIX HARDWARE CONFIGURATION
prtconf

You can use the prtconf command to list your AIX hardware configuration. including CPU's, memory, adapters, disk and network. The prtconf command is available for the current version of AIX 4.3.3, and on AIX 5. For those running older versions of AIX, here's a list of commands that provide the same information:
General
prtconf   -  list system configuration
lscfg [-v]  - devices (-v = verbose for microcode levels, etc)
lscfg -v    - devices verbose (microcode level, firmware, etc)
lsdev -Cc adapter - adapter cards
lsdev -Cc disk  - disks
lsdev -Cc processor     - CPU's
lsattr -El sys0  - serial number, model number, memory
AIX
oslevel   - AIX OS level
instfix -i |grep ML  - AIX maintenance level
lslpp -l  - installed SW and levels
Disk
lsvg -o   - active volume groups
lsvg -p vgname  - disk drives in VG
lsvg -l  vgname  - LV's in VG (ie: lsvg -l hekvg)
lslv  lvname  - LV detail
lslv -l lvname  - LV disk location
lspv   - disks
lspv -l hdisk#  - LV's residing on a disk
Network
lsdev -Cc if  -List network interfaces
netstat -rn  -List network gateways

EMAILING A FILE (ATTACHMENT) FROM UNIX USING THE MAIL COMMAND
Here is an example.  I tarred up a file (ktl.tar) and am going to uuencode it as "attachment.tt" and email it.

uuencode ktl.tar attachment.tt | mail kevin.lloyd@spirentcom.com

To view the attachment, the person receiving the email only needs to untar it.

When the person receives the attachment it will be called "attachment.tt"; when they untar it, it will be called "ktl.tar".

TO LIST H/W MODEL NUMBER
uname –m

TO LIST HP SYSTEM SETTINGS (KERNEL) 
cat /stand/system

TO GZIP AND GUNZIP 
zip / gunzip -d

EXAMPLE OF ADDING A PERSISTENT ROUTE IN MS DOS
route add –p 10.32.0.0 mask 255.255.0.0 10.32.9.1

EXAMPLE OF OUTPUTTING THE INFORMIX DATABASE SCHEMA FOR A SPECIFIED DB
dbschema –d pmint > filename.txt
dbschema –d perform > filename.txt

TO MONITOR UNIX PORTS FOR STATUS INFO
netstat –a <can grep for a particular port>

TO REMOVE THE 1ST CHARACTER ON EACH LINE IN A FILE
1,$s/^X//     X = any character

TO DO A SEARCH AND REPLACE IN vi
:1,$s/old/new/g

LIST ALL THE DIRECTORIES AND THERE DISK USAGE
du –sk * | sort -rn

TO DISPLAY THE CURRENT SHARED MEMORY STATUS 
ipcs –amo | more

TO SET OR SHOW THE WORSTATION OPERATING PARAMETERS
stty / stty intr ^C / stty erase <sp> <bs> <enter> / stty sane

TO DISPLAY CURRENT THREAD RUNNING
ps -me -o=THREADS

LIST THE TOP PAGING SPACE CONSUMER IN DECREASING ORDER
svmon -gP -t 3 |grep -p Pid|grep '^.*[0-9]'

SHOW PAGING SPACE USAGE
lsps -s

TO SEARCH FOR A FILE FROM THE OS LEVEL
find / -name filename 2> /dev/null

TO MANUALLY ROUTE A WEBSITE WHEN LOGGED INTO PPP
route add <web address> mask 255.255.255.255 <ip address of your machine>

DISPLAYS THE LAST TIME THE OS WAS REBOOTED
who –b

LETS YOU USE vi FUNTIONS AT THE COMMAND LINE
ksh –o vi

TARS ALL FILES IN A DIRECTORY
tar cvf <targetfile> ./*

UN-TARS A FILE TO A DIRECTORY
tar xvf FILENAME

TO LIST THE CONTENTS OF A TAR FILE
tar tvf FILENAME

TO ARCHIVE A BUNCH OF FILES WITHOUT THE CONTRAINTS OF TAR
ls | cpio -0 > TARGET DIRECTORY LOCATION

LIST ALL DEVICES AND THEIR STATUS
lsdev –C

DISPLAYS THE STATUS OF ALL PRINTERS
lpstat –t

DELETES A PRINT JOB FROM THE QUEUE
lprm <job#>

DISPLAYS THE DISPACE USAGE FOR ALL MOUNTED VOLUMES
df
bdf (HP)

DISPLAYS THE ROUTING STATUS
netstat –rn

“Not enough space in the file system” for VI to view/edit a file
export EXINT=”set number directory=DIRECTORY PATH”

DISPLAYS CPU USAGE IN INCREMENTS OF 5 SECONDS
sar 1 5

MONITORS THE OS PUTTING THE PROCESS HOGS ON TOP
monitor –top

DISPLAYS HOW LONG THE OS HAS BEEN UP (IN DAYS)
uptime

DISPLAYS THE KERNEL SETTING IN UNIX
sysdef

MODEL COMMAND
model

BRING UP THE SSA MENU
diag

KEEPS A PROCESS RUNNING IN THE BACKGROUND WHEN THE USER LOGS OUT
nohup <script> &

TO RUN TRACE A KSH COMMAND OR SCRIPT
ksh –x <script or command>

TO SEE DISK USAGE FROM BIG TO SMALL
du –sk * | sort -rn

TO GET THE SSA MENU
diag

TO VIEW THE SYSTEM KERNEL ENVONRMENT ON A HP BOX
cat /stand/system

GIVES SUBCOMMAND TO A STREAMING TAPE DEVICE
tctl –f rmt

TO VIEW THE ENTRIES IN YOUR PATH
echo $PATH

TO ADD AN ENTRIE PATH TO YOUR PATH
{Goto the directory you wish to add then issue the following command}
export PATH.:$PATH

TO KILL THE ABOVE, OR ANY PROCESS, YOU SPECIFIED WITH THE “&” SYMBOL
kill 0

SNAPSHOT OF LOGICAL VOLUMES ON AIX
date, uname –a, lsdev –Cc disk, lspv, lspv hdisk0, lspv hdisk1, lspv –l hdisk0, lspv –l hdisk1

ZERO OUT A FILE
> filename

CREATE AN EMPTY FILE
touch filename

TO VIEW WTMP FILES
who wtmp | pg

TO CLEAR OUT ALL RECORDS FROM A TABLE USING SQL
delete * from tablename

TO REBOOT A AIX OR HP BOX
AIX:  shutdown -Fr
HP:  reboot

TO PRODUCE A LIST OF THE THREAD THAT WERE ACTIVE AT THE TIME OF AN INFORMIX CRASH

onstat -g ath shmem.43dc4595.0

IBM Informix Dynamic Server Version 7.31.HD10    -- On-Line -- Up 89 days 00:04:15 -- 165632 Kbytes

Threads:
 tid     tcb      rstcb    prty status                vp-class      name
 2       d341e950 0        2    sleeping forever        3lio        lio vp 0
 3       d341ece0 0        2    sleeping forever        4pio        pio vp 0
 4       d341eeb0 0        2    sleeping forever        5aio        aio vp 0
 5       d3425550 0        2    sleeping forever        6msc        msc vp 0
 6       d34258e0 d346b018 4    ready                   1cpu        main_loop()
 7       d3425c70 0        2    sleeping forever        1cpu        sm_poll
 8       d3426050 0        2    running                 7soc        soctcppoll
 9       d34263e0 0        3    sleeping forever        1cpu        sm_listen
 10      d34267c8 0        2    ready                   1cpu        sm_discon
 11      d3426b58 0        3    sleeping forever        1cpu        soctcplst
 12      d34466b0 d346b528 2    sleeping forever        1cpu        flush_sub(0)
 13      d34469b8 d346ba38 2    sleeping forever        1cpu        flush_sub(1)
 14      d3446d10 d346bf48 2    sleeping forever        1cpu        flush_sub(2)
 15      d3468c70 d346c458 2    sleeping forever        1cpu        flush_sub(3)
 16      d3977148 d346c968 2    sleeping forever        1cpu        flush_sub(4)
 17      d3977450 d346ce78 2    sleeping forever        1cpu        flush_sub(5)
 18      d3977758 d346d388 2    sleeping forever        1cpu        flush_sub(6)
 19      d3977ab0 d346d898 2    sleeping forever        1cpu        flush_sub(7)
 20      d3977e40 d346dda8 2    sleeping forever        1cpu        flush_sub(8)
 21      d39781d0 d346e2b8 2    sleeping forever        1cpu        flush_sub(9)
 22      d3978560 d346e7c8 2    sleeping forever        1cpu        flush_sub(10)
 23      d39788f0 d346ecd8 2    sleeping forever        1cpu        flush_sub(11)
 24      d3978c80 d346f1e8 2    sleeping forever        1cpu        flush_sub(12)
 25      d3995148 d346f6f8 2    sleeping forever        1cpu        flush_sub(13)
 26      d39954d8 d346fc08 2    sleeping forever        1cpu        flush_sub(14)
 27      d3995868 d3470118 2    sleeping forever        1cpu        flush_sub(15)
 28      d3995bf8 d3470628 2    sleeping forever        1cpu        flush_sub(16)
 29      d3995f88 d3470b38 2    sleeping forever        1cpu        flush_sub(17)
 30      d3996318 d3471048 2    sleeping forever        1cpu        flush_sub(18)
 31      d39966a8 d3471558 2    sleeping forever        1cpu        flush_sub(19)
 32      d3996a38 d3471a68 2    sleeping forever        1cpu        flush_sub(20)
 33      d3996dc8 d3471f78 2    sleeping forever        1cpu        flush_sub(21)
 34      d39ad308 d3472488 2    sleeping forever        1cpu        flush_sub(22)
 35      d39ad638 d3472998 2    sleeping forever        1cpu        flush_sub(23)
 36      d39ad9c8 d3472ea8 2    sleeping forever        1cpu        flush_sub(24)
 37      d39add58 d34733b8 2    sleeping forever        1cpu        flush_sub(25)
 38      d39ae0e8 d34738c8 2    sleeping forever        1cpu        flush_sub(26)
 39      d39ae478 d3473dd8 2    sleeping forever        1cpu        flush_sub(27)
 40      d39ae808 d34742e8 2    sleeping forever        1cpu        flush_sub(28)
 41      d39aeb98 d34747f8 2    sleeping forever        1cpu        flush_sub(29)
 42      d39c5148 d3474d08 3    sleeping forever        1cpu        aslogflush
 43      d39c5450 d3475218 1    sleeping secs: 40       1cpu        btscanner 0
 58      d3a27148 d3475728 4    ready                   1cpu        onmode_mon
 61      d39f5148 d3476148 2    cond wait  netnorm      1cpu        sqlexec
 70      d39c6950 d3477a98 2    cond wait  netnorm      1cpu        sqlexec
 71      d39c6ce0 d3477fa8 2    cond wait  netnorm      1cpu        sqlexec
 21400   d39f57e0 d347b758 2    cond wait  netnorm      1cpu        sqlexec
 61882   d58db3a8 d347f928 2    cond wait  netnorm      1cpu        sqlexec

TO VIEW AN INDIVIDUAL THREAD
onstat -g stk <thread #> /tmp/shmem.1b94d8.0
onstat -g stk 6 /tmp/shmem.1b94d8.0


Product : UNIX,Informix