Archive for the ‘ Tools ’ Category

Useful Linux Scripts

We didn’t come up with this one, but it’s a very handy reference guide. In good medieval monastery style, we’re copying it here in order to safeguard this information for future generations.

PS command:

The PS command is useful to check for performance problems:

1) Displaying top CPU-consuming processes:

ps aux | head -1; ps aux | sort -rn +2 | head -10

2) Displaying top 10 memory-consuming processes:

ps aux | head -1; ps aux | sort -rn +3 | head

3) Displaying process in order of being penalized:

ps -eakl | head -1; ps -eakl | sort -rn +5

4) Displaying process in order of priority:

ps -eakl | sort -n +6 | head

5) Displaying process in order of nice value

ps -eakl | sort -n +7

6) Displaying the process in order of time

ps vx | head -1;ps vx | grep -v PID | sort -rn +3 | head -10

7) Displaying the process in order of real memory use

ps vx | head -1; ps vx | grep -v PID | sort -rn +6 | head -10

8) Displaying the process in order of I/O

ps vx | head -1; ps vx | grep -v PID | sort -rn +4 | head -10

9) Displaying WLM classes

ps -a -o pid, user, class, pcpu, pmem, args

10) Determinimg process ID of wait processes:

ps vg | head -1; ps vg | grep -w wait

11) Wait process bound to CPU (replace PID with the actual process number)

ps -mo THREAD -p PID

lsof Command:

1) List all open files:

lsof

2) List all open Internet, x.25 (HP-UX), and UNIX domain files:

lsof -i -U

3) List all open IPv4 network files in use by the process whose PID is 1234:

lsof -i 4 -a -p 1234

4) List all files using any protocol on ports 513, 514, or 515 of host wonderland.cc.purdue.edu:

lsof -i @wonderland.cc.purdue.edu:513-515

5) List all files using any protocol on any port of mace.cc.purdue.edu (cc.purdue.edu is the default domain)::

lsof -i @mace

6) List all open files for login name “abe”, or user ID 1234, or process 456, or process 123, or process 789:

lsof -p 456,123,789 -u 1234,abe

7) List all open files on device /dev/hd4:

lsof /dev/hd4

8) Find the process that has /u/abe/foo open:

lsof /u/abe/foo

9) Send a SIGHUP to the processes that have /u/abe/bar open:

kill -HUP `lsof -t /u/abe/bar`

10) Find any open file, including an open UNIX domain socket file, with the name /dev/log:

lsof /dev/log

11) Find processes with open files on the NFS file system named /nfs/mount/point whose server is inaccessible, and presuming your mount table supplies the device number for /nfs/mount/point:

lsof -b /nfs/mount/point

12) Do the preceding search with warning messages suppressed:

lsof -bw /nfs/mount/point

13) Ignore the device cache file:

lsof -Di

14) Obtain PID and command name field output for each process, file descriptor, file device number, and file inode number for each file of each process:

lsof -FpcfDi

15) List the files at descriptors 1 and 3 of every process running the lsof command for login ID “abe” every 10 seconds:

lsof -c lsof -a -d 1 -d 3 -u abe -r10

16) List the current working directory of processes running a command that is exactly four characters long and has an `o` or `O` in character three with this regular expression form of the -c c option:

lsof -c /^..o.$/i -a -d cwd

17) Find an IP version 4 socket file by its associated numeric dot-form address:

lsof -i@128.210.15.17   

18) Display list of open ports:

lsof -i

19) List information about TCP sessions on your server (specifically SSH in this example):

lsof -i tcp@`hostname`:22

20) List information about all TCP session:

lsof -i tcp@`hostname`

21) List information about all sockets using port 53 (will display named information on UDP/TCP)

lsof -i @`hostname`:53

22) List information about all UDP sessions

lsof -i udp@`hostname`

23) List all open files with “ssh” in them:

lsof -c ssh

24) List everything but with UIDs insted of the UID name from /etc/passwd:

lsof -l

25) List all open files with “ssh” and only the UIDs:

lsof -l -c ssh

26) List all open files for the /tmp dir. Very slow, but good for finding that nasty process that’s holding a file open (although: fuser -m /tmp, will do the same thing):

lsof +D /tmp 

fuser and netstat Commands:

1) Kill all processes accessing the file system /home in any way:

fuser -km /home 

2) Invoke something if no other process is using /dev/ttyS1:

if fuser -s /dev/ttyS1; then :; else something; fi 

3) Some Important Command to find DDOS Attack:

fuser telnet/tcp shows all processes at the (local) TELNET port.
netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
netstat -ntu | grep -v TIME_WAIT | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
netstat -an | grep :80 | awk '{print $5}' | cut -f1 -d":" | sort | uniq -c | sort -n

4) netstat command example:

netstat –listen

5) Display open ports and established TCP connections:

netstat -vatn

6) For UDP port try following command:

netstat -vaun

7) If you want to see FQDN then remove -n flag:

# netstat -vat

Latex formula as a native powerpoint object

It’s always a dilemma: latex is great for formulas but well, not so much at making slideshows or posters. Powerpoint on the other hand is great at the latter, but sucks balls at the first. No matter which tool you use to create your powerpoint, a lot of frustration, broken coffee mugs and hairloss ensues. Wouldn’t it be great if you could just typeset formulas in powerpoint using latex?

Enter: Tex 4 PPT
It renders your latex formula in the native ppt vector format. This means that it’ll look good at any resolution.

It requires a working Miktex install and microsoft’s .net framework.