Linux

bash one-liners: grep, sed, awk, find

#READ ARGS IN CMD LINE:
for arg in $@
do
    printf $arg
done
 
#READ LINES OF A FILE
while read line; do 
    printf $line
done < in.txt
 
#FIND MIN, MAX, AVERAGE USING AWK
awk 'NR == 1 { max=$1; min=$1; sum=0 } { if ($1>max) max=$1; if ($1<min) min=$1; sum+=$1;} END {if(NR>0) printf "%d,%d,%d", min, max, sum/NR}'
 
 
#COUNT OF EACH UNIQ ITEM
sort| uniq -c
 
sed 's/:/ /g'
 
grep -v 'patt' file
 
#!/bin/sh
 
for filename in /tmp/*
do
  echo $filename
done;
 
 
awk '{ sum += $6 } END { print sum }' filename 
awk '{sub(/[ \t]+$/, "");print}' filename 
awk '/Dog/,/Cat/' filename 
awk '/virtual/{n++}; END {print n+0}' filename 
awk '{print FNR "\t" $0}' files*
 
#Convert Windows/DOS newlines (CRLF) to Unix newlines (LF) from Unix
awk '{ sub(/\r$/,""); print }'
#Convert Unix newlines (LF) to Windows/DOS newlines (CRLF) from Unix
awk '{ sub(/$/,"\r"); print }'
#Print the sum of fields in every line
awk '{ s = 0; for (i = 1; i <= NF; i++) s = s+$i; print s }'
#Print the sum of fields in all lines
awk '{ for (i = 1; i <= NF; i++) s = s+$i }; END { print s+0 }'
sed -n '45,50p' filename           # print line nos. 45-50 of a file
 
#Calculate total size of a directory in Mb
 
ls –al |awk '{total +=$5};END {print "Total size: " total/1024/1024 " Mb"}'
 
 
#find examples
find . -name '*OR*.xls' -exec du '{}' \;
#Finding the Top 5 Big Files
find . -type f -exec ls -s {} \; | sort -n -r | head -5
#Find all directories
find . -type d
#Find files bigger than the given size
# find ~ -size +100M
Comments (0)

Send SMS when Email received using Fetchmail/gnokii

fetchmail -v | grep ‘message for alert’| sed ‘s/message for
alert.*//’| nawk ‘{ if($0 > 0) print system(“gnokii
–sendsms 01712345678 < alert.txt “) }’

Comments (0)

Using Cisco vpnclient in Linux

Download vpnclient-linux-4.8.00.0490-k9.tar.gz
ftp://ftp.cs.cornell.edu/pub/rvr/upload/vpnclient-linux-4.8.00.0490-k9.tar.gz

http://www.longren.org/files/vpnclient-linux-4.8.00.0490-k9.tar.gz

Untar
$ tar xzf vpnclient-linux-4.8.00.0490-k9.tar.gz

Download the patch

http://tuxx-home.at/projects/cisco-vpnclient/vpnclient-linux-2.6.22.diff

http://www.longren.org/files/vpnclient-linux-2.6.22.diff

Apply patch
$ patch < vpnclient-linux-2.6.22.diff Install
$ sudo ./vpn_install

Start
$ sudo /etc/init.d/vpnclient_init start

Place .pcf configuration files in /etc/opt/cisco-vpnclient/Profiles/

Connect
$ sudo vpnclient connect configFile

Comments (0)

Send emails from Debian command line using Gmail

#apt-get install ssmtp

#vi /etc/ssmtp/ssmtp.conf

root=username@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=username@gmail.com
UseSTARTTLS=YES
AuthUser=username
AuthPass=password
FromLineOverride=YES

To send mail from other accounts:
#vi /etc/ssmtp/revaliases

root:username@gmail.com:smtp.gmail.com:587
localusername:username@gmail.com:smtp.gmail.com:587

Comments (0)

Using fetchmail to check gmail in linux

bash
$su
 
#apt-get install fetchmail
 
#fetchmail
 
#apt-get install sendmail
 
#telnet localhost 25
 
 
$ ldd /usr/bin/fetchmail
 
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib/i686/cmov/libcrypt.so.1 (0xb7eac000)
libresolv.so.2 => /lib/i686/cmov/libresolv.so.2 (0xb7e98000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7e03000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7ddf000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7ddc000)
libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb7d97000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7c4d000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7c22000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7ac7000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7abf000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7abc000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7ab8000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7aa3000)
/lib/ld-linux.so.2 (0xb7eee000)
 
> Check if libssl is there.
 
 
 
$ mkdir .certs
 
$ openssl s_client -connect pop.gmail.com:995 -showcerts
 
CONNECTED(00000003)
depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
-----BEGIN CERTIFICATE-----
MIIC3TCCAkagAwIBAgIDCDijMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDcxMDI1MTc1MzE2WhcNMDkxMjI0MTg1MzE2
WjBoMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
TW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xFjAUBgNVBAMTDXBv
cC5nbWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO03QxerFKZV
8yeomuL4zSl8Pr7hMWnKMMgp/CwhwadeBmL0LQHHbjL/6z/Z59ZQvrztqkwhchA2
APKzUwRVTyn7Shx6vBqk6oFmTqoOLmY6hbq6l8uVdUv0AfbHwio8CnLpK2+nbuFl
flPwx1DH0E3grD8+CrH5SmScfTWbDkcXAgMBAAGjga4wgaswDgYDVR0PAQH/BAQD
AgTwMB0GA1UdDgQWBBTJRG/OFpZt+BV43JM3NshHMjpwazA6BgNVHR8EMzAxMC+g
LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDAf
BgNVHSMEGDAWgBRI5mj5K9KylddH2CMgEE8zmJCf1DAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAOKr3mhxtwFCS3J6lbeaf
3KrHKi935BZkI75sRbON+hog0t2ovcM2i7fxs3xneH8USLsHgfxNBj9tkMogMK/K
sO/NUVZ/IfyqcNNkp2619qTQXthKRH42JKpAKgNhT1bdno3pxn+eDEpqmU3CE7IP
HDCjWOK1fGkZ/yFAuTxuxAc=
-----END CERTIFICATE-----
---
Server certificate
subject=/C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
issuer=/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
No client certificate CA names sent
---
SSL handshake has read 883 bytes and written 300 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : RC4-MD5
Session-ID: F32697D1198BA62AA1A4331C73B91305952C99FBAF7A8A7691888388FF3B52F6
Session-ID-ctx:
Master-Key: A75D8AB1871CAD93E3A5C04F15EB10E1DE5F6EE87A64BA61663D4859EEA8BE63EFC4B9FE59CACE695A06222E7930326C
Key-Arg : None
Start Time: 1247480072
Timeout : 300 (sec)
Verify return code: 21 (unable to verify the first certificate)
---
+OK Gpop ready for requests from 123.49.42.65 b37pf15002261ana.26
 
 
$ vi .certs/gmail.pem
 
-----BEGIN CERTIFICATE-----
MIIC3TCCAkagAwIBAgIDCDijMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDcxMDI1MTc1MzE2WhcNMDkxMjI0MTg1MzE2
WjBoMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
TW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xFjAUBgNVBAMTDXBv
cC5nbWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO03QxerFKZV
8yeomuL4zSl8Pr7hMWnKMMgp/CwhwadeBmL0LQHHbjL/6z/Z59ZQvrztqkwhchA2
APKzUwRVTyn7Shx6vBqk6oFmTqoOLmY6hbq6l8uVdUv0AfbHwio8CnLpK2+nbuFl
flPwx1DH0E3grD8+CrH5SmScfTWbDkcXAgMBAAGjga4wgaswDgYDVR0PAQH/BAQD
AgTwMB0GA1UdDgQWBBTJRG/OFpZt+BV43JM3NshHMjpwazA6BgNVHR8EMzAxMC+g
LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDAf
BgNVHSMEGDAWgBRI5mj5K9KylddH2CMgEE8zmJCf1DAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAOKr3mhxtwFCS3J6lbeaf
3KrHKi935BZkI75sRbON+hog0t2ovcM2i7fxs3xneH8USLsHgfxNBj9tkMogMK/K
sO/NUVZ/IfyqcNNkp2619qTQXthKRH42JKpAKgNhT1bdno3pxn+eDEpqmU3CE7IP
HDCjWOK1fGkZ/yFAuTxuxAc=
-----END CERTIFICATE-----
 
 
 
$ vi .certs/equifax.pem
 
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----
 
 
$ c_rehash ~/.certs/
Doing /home/asif/.certs/
gmail.pem => 7f549ca4.0
equifax.pem => 594f1775.0
 
 
$ openssl s_client -connect pop.gmail.com:995 -CApath ~/.certs/
CONNECTED(00000003)
depth=1 /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
verify return:1
depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIC3TCCAkagAwIBAgIDCDijMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDcxMDI1MTc1MzE2WhcNMDkxMjI0MTg1MzE2
WjBoMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
TW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xFjAUBgNVBAMTDXBv
cC5nbWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO03QxerFKZV
8yeomuL4zSl8Pr7hMWnKMMgp/CwhwadeBmL0LQHHbjL/6z/Z59ZQvrztqkwhchA2
APKzUwRVTyn7Shx6vBqk6oFmTqoOLmY6hbq6l8uVdUv0AfbHwio8CnLpK2+nbuFl
flPwx1DH0E3grD8+CrH5SmScfTWbDkcXAgMBAAGjga4wgaswDgYDVR0PAQH/BAQD
AgTwMB0GA1UdDgQWBBTJRG/OFpZt+BV43JM3NshHMjpwazA6BgNVHR8EMzAxMC+g
LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDAf
BgNVHSMEGDAWgBRI5mj5K9KylddH2CMgEE8zmJCf1DAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAOKr3mhxtwFCS3J6lbeaf
3KrHKi935BZkI75sRbON+hog0t2ovcM2i7fxs3xneH8USLsHgfxNBj9tkMogMK/K
sO/NUVZ/IfyqcNNkp2619qTQXthKRH42JKpAKgNhT1bdno3pxn+eDEpqmU3CE7IP
HDCjWOK1fGkZ/yFAuTxuxAc=
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com
issuer=/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
No client certificate CA names sent
---
SSL handshake has read 883 bytes and written 300 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : RC4-MD5
Session-ID: B8EE297E004CF252BCDCCBCBF98A0232D8875622093AAFA279EDBEB4AA5B3F65
Session-ID-ctx:
Master-Key: E668D7B7BD517A1C0A74A540BD4F185CD6D04AF12A7ACBC3120CE70C130F6739F2028D51F82ED6F24725105E95295BE9
Key-Arg : None
Start Time: 1247480949
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
+OK Gpop ready for requests from 123.49.42.65 d21pf15522937and.50
 
 
$vi ~/.fetchmailrc
 
# set username
set postmaster "asif"
# set polling time (5 minutes)
#set daemon 600
 
poll pop.gmail.com with proto POP3
user 'asif@gmail.com' there with password 'asif123' is asif here options ssl
sslcertck sslcertpath /home/asif/.certs/
 
 
#poll imap.gmail.com with proto IMAP
# user 'asif@gmail.com' there with password 'asif123' is asif here options ssl
# sslcertck sslcertpath /home/asif/.certs/
 
 
 
$ fetchmail --help
usage: fetchmail [options] [server ...]
Options are as follows:
-c, --check check for messages without fetching
-v, --verbose work noisily (diagnostic output)
-d, --daemon run as a daemon once per n seconds
--invisible don't write Received & enable host spoofing
-a, --[fetch]all retrieve old and new messages
-K, --nokeep delete new messages after retrieval
-k, --keep save new messages after retrieval
-F, --flush delete old messages from server
--limitflush delete oversized messages
-n, --norewrite don't rewrite header addresses
-l, --limit don't fetch messages over given size
-r, --folder specify remote folder name
--showdots show progress dots even in logfiles
 
 
 
$ fetchmail -v
fetchmail: 6.3.9-rc2 querying pop.gmail.com (protocol POP3) at Wed 15 Jul 2009 04:20:38 PM BDT: poll started
Trying to connect to 209.85.133.109/995...connected.
fetchmail: Issuer Organization: Equifax
fetchmail: Unknown Issuer CommonName
fetchmail: Server CommonName: pop.gmail.com
fetchmail: pop.gmail.com key fingerprint: 44:A8:E9:2C:FB:A9:7E:6D:F9:DB:F3:62:B2:9E:F1:A9
fetchmail: POP3< +OK Gpop ready for requests from 123.49.42.65 b32pf1930937ana.79 fetchmail: POP3> CAPA
fetchmail: POP3< +OK Capability list follows fetchmail: POP3< USER fetchmail: POP3< RESP-CODES fetchmail: POP3< EXPIRE 0 fetchmail: POP3< LOGIN-DELAY 300 fetchmail: POP3< X-GOOGLE-VERHOEVEN fetchmail: POP3< UIDL fetchmail: POP3< . fetchmail: POP3> USER asif@gmail.com
fetchmail: POP3< +OK send PASS fetchmail: POP3> PASS *
fetchmail: POP3< +OK Welcome. fetchmail: POP3> STAT
fetchmail: POP3< +OK 0 0 fetchmail: No mail for asif@gmail.com at pop.gmail.com fetchmail: POP3> QUIT
fetchmail: POP3< +OK Farewell.
fetchmail: 6.3.9-rc2 querying pop.gmail.com (protocol POP3) at Wed 15 Jul 2009 04:20:41 PM BDT: poll completed
fetchmail: normal termination, status 1
Comments (0)
Go to Top