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
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 “) }’
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
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
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