Search This Blog


How to delete temporary Windows files

del %temp%\*.* /f /s /q /a:H /a:A /a:S /a:-

ECHO Deleting %systemroot%\Temp\TEMP

del %systemroot%\Temp\temp\*.* /f /s /q /a:H /a:A /a:S /a:-
del %TMP% *.* /f /s /q /a:H /a:A /a:S /a:-
del %WINDIR%\system32\spool\printers\*.*/ f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Opera\Opera\profile\cache4\*.*" /f /s /q /a:H /a:A /a:S /a:-

ECHO Emptying Recycleing Bin ....

del %systemDrive%\RECYCLER\*.* /f /s /q /a:H /a:A /a:S /a:-

del "%appdata%\Sun\Java\Deployment\tmp\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Sun\Java\Deployment\log\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Sun\Java\Deployment\cache\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Lavasoft\Ad-Aware\Quarantine\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Lavasoft\Ad-Aware\Logs\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Kazaa Lite\db\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Microsoft\Dr Watson\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Spybot - Search & Destroy\Backups\" /f /s /q /a:H /a:A /a:S /a:-
del "%appdata%\Spybot - Search & Destroy\Logs\" /f /s /q /a:H /a:A /a:S /a:-
del "%USERPROFILE%\Local Settings\Temporary Internet Files\" /f /s /q /a:H /a:A /a:S /a:-
del "%USERPROFILE%\Local Settings\Temp\" /f /s /q /a:H /a:A /a:S /a:-
del "%USERPROFILE%\Local Settings\History\" /f /s /q /a:H /a:A /a:S /a:-
del "%USERPROFILE%\Recent\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\system32\spool\PRINTERS\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\Temp\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\Prefetch\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\pchealth\helpctr\Temp\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\pchealth\helpctr\OfflineCache\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\pchealth\helpctr\Logs\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\Debug\" /f /s /q /a:H /a:A /a:S /a:-
del "%windir%\Cache\" /f /s /q /a:H /a:A /a:S /a:-

Windows environmental variables

ALLUSERSPROFILE%ALLUSERSPROFILE%Local returns the location of the All Users Profile.
APPDATA%APPDATA%Local returns the location where applications store data by default.
CD%CD%Local returns the current directory string.
CMDCMDLINE%CMDCMDLINE%Local returns the exact command line used to start the current cmd.exe.
CMDEXTVERSION%CMDEXTVERSION%System returns the version number of the current Command Processor Extensions.
COMPUTERNAME%COMPUTERNAME%System returns the name of the computer.
COMSPEC%COMSPEC%System returns the exact path to the command shell executable.
DATE%DATE%System returns the current date. This variable uses the same format as the date /t command. Cmd.exe generates this variable. For more information about the date command, see the Date command.
ERRORLEVEL%ERRORLEVEL%System returns the error code of the most recently used command. A non-0 value usually indicates an error.
HOMEDRIVE%HOMEDRIVE%System returns which local workstation drive letter is connected to the user's home directory. This variable is set based on the value of the home directory. The user's home directory is specified in Local Users and Groups.
HOMEPATH%HOMEPATH%System returns the full path of the user's home directory. This variable is set based on the value of the home directory. The user's home directory is specified in Local Users and Groups.
HOMESHARE%HOMESHARE%System returns the network path to the user's shared home directory. This variable is set based on the value of the home directory. The user's home directory is specified in Local Users and Groups.
LOGONSERVER%LOGONSERVER%Local returns the name of the domain controller that validated the current logon session.
NUMBER_OF_PROCESSORS%NUMBER_OF_PROCESSORS%System specifies the number of processors installed on the computer.
OS%OS%System returns the OS name. Windows XP and Windows 2000 display the OS as Windows_NT.
PATH%PATH%System specifies the search path for executable files.
PATHEXT%PATHEXT%System returns a list of the file extensions that the OS considers to be executable.
PROCESSOR_ARCHITECTURE%PROCESSOR_ARCHITECTURE%System returns the processor's chip architecture. Values: x86, IA64.
PROCESSOR_IDENTIFIER%PROCESSOR_IDENTIFIER%System returns a description of the processor.
PROCESSOR_LEVEL%PROCESSOR_LEVEL%System returns the model number of the computer's processor.
PROCESSOR_REVISION%PROCESSOR_REVISION%System returns the revision number of the processor.
Program Files%PROGRAMFILES%returns the location of the default install directory for applications.
PROMPT%PROMPT%Local returns the command-prompt settings for the current interpreter. Cmd.exe generates this variable.
RANDOM%RANDOM%System returns a random decimal number between 0 and 32767. Cmd.exe generates this variable.
SYSTEMDRIVE%SYSTEMDRIVE%System returns the drive containing the Windows root directory (i.e., the system root).
SYSTEMROOT%SYSTEMROOT%System returns the location of the Windows root directory.
TEMP%TEMP%System and User return the default temporary directories for applications that are available to users who are currently logged on. Some applications require TEMP and others require TMP.
TMP%TMP%System and User return the default temporary directories for applications that are available to users who are currently logged on. Some applications require TEMP and others require TMP.
TIME%TIME%System returns the current time. This variable uses the same format as the time /t command. Cmd.exe generates this variable. For more information about the time command, see the Time command.
USERDOMAIN%USERDOMAIN%Local returns the name of the domain that contains the user's account.
USERNAME%USERNAME%Local returns the name of the user currently logged on.
USERPROFILE%USERPROFILE%Local returns the location of the profile for the current user.
WINDIR%WINDIR%System returns the location of the OS directory




#Purpose to remove the Enters from the Windows Clipboard while
#copy pasting large bunches of text from pdf files
#tested on WinXP and WinVista. Hint put a shortcut on the Desktop and assign keyboard
#shortcuts mine is AltGr + R

package removeEnters ;
use strict ;
use warnings ;

use Win32::Clipboard ;

main(); #action !!!

sub main
local $/; # enable localized slurp mode
my $text = Win32::Clipboard::Get(); #get the text from the clipboard

#added the logic to remove the enters only in paragraphs
#todo what about the enters after lists ?! requires some backtracking
$text =~s/\r\n([a-z])/ $1/g ; #remove the enters out of it
$text=~s/(—End—|ATTENTION)/\n\n$1\n/g ;
print "the text is \n" ;
print "$text" ;





linux cheat sheet

# v.1.9.5 docs at the end 
# get a nice prompt 
export PS1=" \u@\h [\d \t] [\w] $ \n\n  "
export PS1="\h [\d \t] [\w] $ \n\n  "
# aliases
# show dirs with nice time newest modified on top 
alias ll='ls -alrt --time-style=long-iso'
#-- srch and repl %var_id% with var_id_val in dirs in $component_name_dir_tmp
find "$dir" -type d |\
perl -nle '$o=$_;s#'"$to_srch"'#'"$to_repl"'#g;$n=$_;`mkdir -p $n` ;'
find "$dir" -type f |\
perl -nle '$o=$_;s#'"$to_srch"'#'"$to_repl"'#g;$n=$_;rename($o,$n) unless -e $n ;'
#-- srch and repl %var_id% with var_id_val in files in $component_name_dir_tmp
find "$dir" -type f -exec perl -pi -e "s#$to_srch#$to_repl#g" {} \;
find "$dir/" -type f -name '*.bak' | xargs rm -f
# find the only the uniq file names of specific file type 
find `pwd` -name '*.xml' | perl -pe 's/(.*)(\\|\/)(.*)/$3/;' | sort  | uniq -u
# how-to find in files - e.g. search by a perl regex in files and redirect the output to vim 
find `pwd` -name '*.pm' -exec grep -inHP -A 1 'sub [a-zA-Z0-9]*\s+\{' {} \; | vim -
# how-to search for a regex and build the ready open vim to found line cmds
find $dir -name '*.ext' -exec grep -nHP 'regex' {} \; | perl -ne 'm/^(.*):(\d{1,10})(.*)/g;print "vim ". "+$2 " . "$1 \n"'
# get system info
cat /proc/cpuinfo | less
cat /proc/meminfo | sort -nr -k 2 | perl -ne 'split /\s+/;printf ("%-15s %20d MB \n" , "$_[0]" , ($_[1]/1024))'
fdisk -l
# go the previous dir you where 
cd -
pushd .; popd
#how-to check opened ports with nmap
nmap -sT -O localhost
# get selinux security context
ls -al --lcontext $dir
# change the selinux security context 
chcon -vR -u system_u -r object_r -t httpd_sys_content_t $dir
# use rsync to preserve permissions
rsync -v -X -r -E -o -g --perms --acls $src_dir $tgt_dir
rsync -v -r --partial --progress --human-readable --stats $src_dir $tgt_dir
rsync -v -r --partial --progress --human-readable --stats $src_dir/$f $tgt_dir/$f
while read line_with_spaces ; do sh /path/to/ "$line_with_spaces" ; done < $file_with_lines_with_spaces
# nice listing
find . -type f -exec stat -c '%n %y' {} \; | sort -n | less
# check permissions effectively 
find . -type f -exec stat -c "%U:%G %a %n" {} \; | less
export file_name_to_filter=infa-reporter
stat -c "%n %y" *.zip | perl -ne 'm/^(.*?) (.*)/g; printf "%-70s %-50s \n" , "$1" , "$2"' | sort -r -k 2 | grep -i $file_name_to_filter
# The ultimate "find in files"
find /etc/httpd/ -type f -print0 | xargs --null grep -nHP 'StartServers\s+\d' | less
for file in `find / -type f \( -name "*.pl" -or -name "*.pm" \) -exec file {} \; | grep text | perl -nle 'split /:/;print $_[0]' `; do grep -i --color -nH 'string_to_search'  $file ; done ;
#  or even faster , be aware of funny file names xargs -0
find / -name '*bak' -print0 | xargs --null grep -nPH 'curl'
# find and replace recursively
find . -name '*.html' -print0 | xargs -0 perl -pi -e 's/foo/bar/g'
# how-to check disk space
find $dir -maxdepth 2 -type d -exec du -B M --max-depth=1 {} \; | sort -nr | less
# find all the files greather than 100 MB , sort them by the size and print their sizes 
find $dir -type f -size +2M -exec du -B M {} \; | sort -nr | less 
du -B M --max-depth 3 $dir | perl -nle 's#\s+# #g;print' | perl -ne 'm/^(.*?) (.*)/g; printf "%10s %-50s \n" , "$1" , "$2"' | sort -nr -k1 | less
# how-to search bunch of tar.gz files 
cmd="zgrep $StringToFind '{}' >> $FileToOutput"
find ${DirFindRoot} -type f  -name ${nameFilter} -print0 | xargs -0 -I '{}' sh -c "$cmd"
# disk usage of users under the /home directory in MB
export dir=/data/reseller/tmp/;
clear;du -all --block-size=1M $dir --max-depth=2 | sort -n | perl -ne '@a=split /\s+/g;$a[0]=~s/(?<=\d)(?=(?:\d\d\d)+\b)/ /g;printf "%15s %10s",$a[0],"$a[1]  \n" '
# show in megs and sort each folder
find $dir -type d -exec du --summarize -B M {} \; | sort -nr | perl -ne '@a=split /\s+/g;$a[0]=~s/(?<=\d)(?=(?:\d\d\d)+\b)/ /g;printf "%15d %10s",$a[0],"$a[1]  \n" '| less
tcpdump dst and tcp port 22
tcpdump dst 
# record the current session via script
mkdir ~/scriptlogs
script -a ~/data/log/script/`date +%Y%m%d%H%M%S`_script.log
#/usr/bin is for normal user executables, /usr/sbin is for superuser executables, /usr/sfw is for external software (like gnu one), but provided with bundle of OS, /usr/ccs is for development utilities, usually not need for daily tasks like make, lex, yacc, sccs
# take the last 5 commands for faster execution to the temp execution script
tail -n 5 /root/.bash_history >> /var/
# I saw the command cd /to/some/suching/dir/which/was/very/long/to/type
echo so I redid it and saved my fingers
#how-to check my history without the line numbers  
history | cut -c 8- | grep env
# how to deal with command outputs
command | filtercommand > command_output.txt 2>errors_from_command.txt
#  find the files having os somewhere in their names and only those having linux
find . -name '*os*' | grep linux | less
# find all xml type of files and display only the rows having wordToFindInRow
find . -name '*.xml' -exec cat {} \;| grep wordToFindInRow | less
# START === bash shortcuts 
# Go to the beginning of the line you are currently typing on
Ctrl + A 
# Go to the end of the line you are currently typing on
Ctrl + E
# move a word forward 
Alt + F
# move a word backwards
Alt + B
# STOP === bash shortcuts 
# how-to mount an usb stick
# remember to change the path other wise you will get the device is busy errror
mkdir /mnt/usbflash
mount /dev/sdb1 -t vfat /mnt/usbflash
umount /mnt/usbflash
#display the first 20 lines of the file
head -n 20 too-long-file 
# how to restart a service initiated at startup
/etc/rc.d/init.d/sendmail start | stop | status | restart
# see all the rules associated with the firewall
iptables -L -n -v --line-numbers
gunzip *
# To start remote session click on the putty screen , configure putty
# settings to pull full screen with alt + Enter
# right click on the title bar , settings , change the font , copy
# paste from and to the terminal window text
# how to ensure the sshd daemon is running
ps -ef | grep sshd
# how to kill process interactively
killall -v -i sshd
# the most efficent way to search your history is to hit Ctrl R and
#type the start of the command. It will autocomplete as soon as there’s
#a match to a history entry, then you just hit enter. If you want to
#complete the command (add to it ) use the right arrow to
#escape from the quick search box ...
#How to see better which file were opened , which directories were visited
#type always the fullpath after the vi - use the $PWD env variable to
#open files in the current directory , thus after opening the file
#vi /$PWD , press tab to complete the name of the current directory ,
#type the name of the file. THUS AFTER RUNNING
history | grep vim
#of course the same could be seen from the /home/username/.viinfo file /files
#where to set the colors for the terminal (if you are lucky to have one
# with colors ; )
open a file containing "sh" in its name bellow the "/usr/lib" directory
:r !find /usr/lib -name *sh*
go over the file and gf
#which version of Linux I am using
uname -a
#How to copy paste text in the putty window from client to server -
#click the right button of your pointing device
#How to copy paste text from the putty window from server to client -
#right-click the window title and select copy all to Clipboard.
#To restart a service
service sshd restart
service --status-all --- show the status of all services
# change the owneership of the directory recursively
chown -vR user$group $dir
# perform action recursively on a set of files
find . -name '*.pl' -exec perl -wc {} \;
for file in `find . -type f`;do echo cp $file ./backups/; done;
for file in `ls *.docx -1`;do echo cp $file ./backups/$file.`date +%Y%m%d%H%M%S`.docx;done;
# make Bash append rather than overwrite the history on disk:
shopt -s histappend
# henever displaying the prompt, write the previous line to disk:
PROMPT_COMMAND='history -a'
# than run the script
#how-to replace single char in file
tr '\t' ',' < FileWithTabs > fileWithCommas
# Allow access to the box from only one ip address
# create a backup file based on the timestamp on bash
cp -v fileName.ext fileName.ext.`date +%Y%m%d_%H%M%S`.bak
#check disk space
df -a -h | tail -n +2   | perl -nle 'm/(.*)\s+(\d{1,2}%\s+(.*))/g;printf "%-20s %-30s %-90s \n","$2",$3,$1' | sort -nr | less
df -a -B M | column -t | sort -nr -k 5
df  -h ***
# how-to get running processes 
ps -ef --forest 
# how-to kill misbehaving process ... you will need to adjust the -f 2 part 
# depending on the output of the ps -ef command above 
for pid in $(ps -ef | grep procToFind | perl -ne 's/\s+/ /g;print $_ . "\n";' | cut -d ' ' -f 2) ; do echo kill -9 $pid ; done ;
for pid in $(ps -ef | grep chrome | perl -ne 's/\s+/ /g;print $_ . "\n";' | cut -d ' ' -f 2) ; do echo kill -9 $pid ; done ;
#how-to create relative file paths tar package recursively fromm a dir
cd $RootDirToStartRelativePathsFrom
tar -cvzpf $pckg_to_create.tar .
# exctract tar file into cd  
tar -xvf $pck_to_exctract_to_cwd.tar
#how-to create tar archieve
tar cvf $archive_name.tar $dir/
#how-to unpack tar file
tar xvf $file
#how-to unpack gz archive
gzip -cd $file | tar -xvf -
# print line number 52
sed -n '52p' # method 1
sed '52!d' # method 2
sed '52q;d' # method 3, efficient on large files
# START === create symlink
export target_path=/cygdrive/c/var/anc
export link_path=/nz/anc
mkdir -p `dirname $link_path`
unlink $link_path
ln -s "$target_path" "$link_path"
ls -la $link_path;
# STOP === create symlink
# START === user management
#how-to add a linux group
groupadd -g "$gid" "$group"
cat /etc/group | grep --color "$group"
#how-to add an user
useradd --uid "$uid" --home-dir "$home_dir" --gid "$group" \
--create-home --shell /bin/bash "$user" \
--comment "$desc"
cat /etc/passwd | grep --color "$user"
# modify a user
usermod -a -G $group $user
# change the password for the specified user (own password)
passwd $user 
#how-to forces to change password when logging in for the first time
passwd -f login 
#change user pass to expire never 
chage -I -1 -m 0 -M 99999 -E -1 $user
# and check results 
chage -l $user
#Ei should not return anything !!!
passwd -s -a | grep NP (=No Password)
#delete an user
userdel $user
#administer the /etc/group file
# START === user management
#how-to extracts rpm packages contents
export ins=foo-bar.rpm
rpm2cpio $ins | cpio -id
#how-to extract *.tar.gz 
gzip -dc *.tar.gz | tar xvf -
cd foo-bar-dir
#--- show all installed packages
rpm -dev 
#how-to build binaries as a non-root 
./configure --prefix=$HOME && make && make install
#exctract a single file:
gzip -dc fileName.tar.gz | tar -xvf - filename
find . -name '*.log' -print | zip cipdq`date +%Y%m%d%H%M%S` -@
# find several types of files 
find . -type f \( -name "*.pl" -or -name "*.pm" \)
find / -type f | xargs grep -nH 'curl'
# print the word to find + the next 3 lines
grep -A 3 -i "theWordToFind" demo_text
find . -type f -name '*.sh' -print -exec grep -n gpg {} \;
# create a list of files
find . -print0 | xargs -r0 echo "$@"
# where am I
uname -a ; 
# who am I 
id ; 
# when this is happening 
date "+%Y.%m.%d %H:%M:%S" ; 
# reboot ... !!! BOOM BOOM BOOM !!!
shutdown -r now 
# shutdown the whole system 
shutdown -f -s 00
#how-to kill a process 
ps -aux | grep $proc_to_find
pidof $prod_to_find
kill -9 $proc_to_find
# which processes are listening on my system
netstat --tcp --listening --programs
netstat --tcp
netstat --route
#monitoring commands 
# show the top processes
# now press Shift + o, and choose the field to sort by 
# running processes status 
ps -auxw | less 
ps -ef | less 
#List all currently loaded kernel modules
lsmod | less 
#Displays the system's current runlevel.
# get the Processes attached to open files or open network ports:
lsoff | less 
# monitor the virtual memory 
# show the free memory
free -m
# check memory usage
egrep --color 'Mem|Cache|Swap' /proc/meminfo
#what cpu am a running
less /proc/cpuinfo
#Display/examine memory map and libraries (so). Usage: pmap pid
ps -aux | grep $MyProcToPMap
pmap   $MyprocToPMapPID
#how-to sort output by a delimited by single delimiter column 
# in this example the - char is used for delimiter , the output is 
# by their sending sequence , use proper file naming convention files 
# ls -1 gives us:
# fileBeginningTillFirstDelimiter-TheColumnToSortBy-TheRestFromTheFileNameDelimiter
ls -1 | awk -F1 'BEGIN {FS="-"};{print $2 "¤" $1 "-" $2 "-" $3 }' | sort -nr | cut -d ¤ -f 2,5 
# the same approach with perl
ls -1 | perl -p -i -e 's/^([^\-]*)(\-)([^\-]*)(\-)([^\-]*)/$3¤$1.2.8$4$5/g' | sort -nr | cut -d ¤ -f 2,5  
# how-to use sftp with remoteUserName having publicIdentity of PublicIdentityUserName
sftp -v -o "IdentityFile /var/www/.ssh-id/PublicIdentityUserName" \
-o "UserKnownHostsFile /var/www/.ssh-id/known_hosts" remoteUserName@ServerHostNameOrIpd
ssh -v -o ServerAliveInterval 300 -o ServerAliveCountMax 1 
# ==================================================================
# START Jobs control 
# start some very long lasting command 
find / -name '*.crt' | less 
# now press Ctrl + Z 
# the terminal says "Jobs stopped"
# now check the open jobs 
# you should see something like 
# [1]+  Stopped                 find / -name '*.crt' | less
# now put the job in the background and start working on something else by Ctrl + Z 
bg 1
# run the next command 
# how-to copy file via scp by using specificy identity
scp -v -o "IdentityFile /home/userName/.ssh/id_rsa" /data/path/dir/* \
# now again stop the job first by Ctrl + Z 
# check again the running jobs 
# use should see the both of the jobs started 
# now put the first on in the forground 
fg 1
# Repeat that several times untill you get it ; ) !!!
# start command in the background
command1 &
# how-to redirect STDERR STDOUT to log file 
sh $ | tee 2>&1 $log_file
# how-to start a separate shell 
( command &) &
# get the STDERR and STDOUTPUT 
output=$(command 2>&1)
# how-to detach an already started job from the terminal
disown -h %1
# how-to start 
nohup &
# run a proc every 2 seconds
watch -n 2 "$cmd_to_run"
# END Jobs control 
# ==================================================================
nicedate=`date +%Z-%Y%m%d%H%M%S`
# kill a process by name
# ps -ef | grep wget | perl -ne 'split /\s+/;print "kill $_[7] with PID $_[1] \n";`kill -9 $_[1];`'
ps -ef | grep $ProcNameToKill | grep -v "grep $ProcNameToKill" | \
perl -ne 'split /\s+/;print "kill $_[7] with PID $_[1] \n";`kill -9 $_[1];`'
# how-to display human readable file sizes on systems with stupid du
# of course you would have to have perl next_line_is_templatized
find $dir -type f -exec du -k {} \; | \
perl -ne 'split /\s+/;my $SizesInMegs=$_[0]/1024; \
printf ( "%10d %10s \n" , "$SizesInMegs" , "MB $_[1]")' | sort -nr 
export dir=/
echo sizes in MB
find $dir -type f -exec du -k {} \; | \
perl -ne 'split /\s+/;my $SizesInMegs=$_[0]/1024; \
printf ( "%10d %-100s \n" , "$SizesInMegs" , "$_[1]")' | sort -nr | more
#who has been accessing via ssh 
for file in `find /var/log/secure* | sort -rn` ; do grep -nHP 'user' $file ; done; | less
#print files recursively 
clear;find $dir -type f -exec ls -alt --time-style=long-iso --color=tty {} \; | \
perl -ne 'split(/\s+/);printf ( "%10s %2s %-20s \n" , "$_[5]", "$_[6]", "$_[7]") ; ' | sort -nr
#how-to print relative file paths to /some/DirName with perl one liner 
find /some/DirName -type f | perl -ne 'split/DirName\//;print "$_[1]"  '
# see nice dir recursively listing newest first
find $dir -name '*.tmp' -exec ls -alt --time-style=long-iso --color=tty {} \; | \
perl -ne 'split/\s+/;print "$_[5] $_[6] $_[7] \n" ;' | sort -nr | less
# how-to sort files based on a number sequence in their file names
# list dir files , grap a number from their names , print with NumberFileName, sort , \
# print finally the names without the Number but sorted 
 ls -1 | perl -ne 'm/(\d{8})/; print $1 . $_ ;' | sort -nr | perl -ne 's/(\d{8})//;print $_'
# START === how-to implement public private key authentication 
# create pub priv keys on server
# START copy 
ssh-keygen -t rsa
# copy the rsa pub key to the ssh server
scp ~/.ssh/ $ssh_user@$ssh_server:/home/$ssh_user/
# STOP copy  
# Hit enter twice 
# START copy 
cat >> ~/.ssh/authorized_keys
cat ~/.ssh/authorized_keys
chmod 0600  ~/.ssh/authorized_keys
ls -al ~/.ssh/authorized_keys
rm -fv ~/
# START copy 
ssh-keygen -t dsa
# STOP copy  
# Hit enter twice 
# START copy 
cat > ~/.ssh/authorized_keys2
cat ~/.ssh/authorized_keys2
chmod 644  ~/.ssh/authorized_keys2
# STOP === how-to implement public private key authentication
# show me a nice calendar 
cal -m -3
# START === how-to enable port forwarding or tunnelling
export local_port=6000
export remote_port=6000
export ssh_user=type_here_ssh_user
export ssh_server=type_here_the_hostname
export db_server=type_here_the_db_hostname
#[-L [bind_address:]port:host:hostport] 
ssh -L localhost:$local_port:$db_server:$remote_port $ssh_user@$ssh_server
# STOP === how-to enable port forwarding or tunnelling
# START === cron scheduling 
#edit the crontab
crontab -e
# view the crontab
crontab -l 
# * * * * * command to be executed
# - - - - -
# | | | | |
# | | | | +- - - - day of week (0 - 6) (Sunday=0)
# | | | +- - - - - month (1 - 12)
# | | +- - - - - - day of month (1 - 31)
# | +- - - - - - - hour (0 - 23)
# +--------------- minute
# STOP === cron scheduling 
#how-to limit the resources of the current session 
help ulimit 
nameTerminal $USER@`hostname`_ON_`pwd`__at__`date +%Y-%m-%d_%H:%M:%S`
# how-to send via e-mails the files of a dir with mailx
export dir=`pwd`
export attachments=$(find $dir -type f| perl -ne 'print "-a $_"'| xargs)
echo $attachments | mailx $attachments -s "$dir files" $MyEmail
mailx $(find $dir -type f| perl -ne 'print "-a $_"'| xargs) -s "$fir files" $MyEmail < `echo $(find $dir -type f| perl -ne 'print "-a $_"'| xargs)`
# change user password expiry information
for usr in "$userlist"; do sudo passwd $usr; sudo chage -E -1 -M -1 $usr; sudo chage -d0 $usr; done
#how-to check the file encoding
file_encoding=$(file -bi $file | sed -e 's/.*[ ]charset=//')
# Purpose: 
# to provide a simple cheat sheet for most of the Linux related commands
# usefull web sources:
# how-to add new repository to yum
yum-config-manager --add-repo
#how-to view installed packages with yum on RH
yum list installed | less
yum clean all 
yum -y install perl
# update all but the linux kernel packages
yum -y --exclude=kernel\* update
/nz/kit/sbin/sendMail -dst -msg "subject line" -bodyTextFile $outfile -removeFile
# start putty with preloaded session on windowz
cmd /c start /max putty -load username@hostname
#how-to install only specific package from cygwin via cmd
setup-x86_64.exe -n -q -s -P %package_name%
cat "$list_file" |   { while read -r jira_issue ; do c=$((c+1)) ; test $c -eq 5 && sleep $c && export c=0 ; ( sh /maintenance/ip/sfw/sh/jira --action progressIssue --issue $jira_issue --step 41 )& done }
# how-to enable pw auth on apache
htpasswd -c $pw_file $user
#how-to change the access and mofication timestamp
touch -a -m -t "$ts" "$file"
# how-to install packages on ubuntu
apt-get -y install $package_name
# howto install packages on red-hat
yum install $package_name
#v1.9.5 how-to use text editor for longer command typing
set EDITOR=vim
#v1.9.5 - how-to get variations by curly expansions
echo {A,B,C}{0,1,3}
#useful sources - hint: google site:<site>
# VersionHistory
# 1.9.5 --- 2014-23-04 22:37:07 --- ysg --- Ctrl+X,E trick
# eof file:linux-cheat-sheet


setting up Drupal development environment on Windows XP

1. Download and install WAMP
- (or google download WAMP
2. Download and install Drupal
- Start with tutorial ---
- , choose version , download
- unzip the folder to C:\wamp\www , so that the following folder C:\wamp\www\drupal-5.2
structure should be available
3. Start the WAMP
Start - Programs - WAMP Server - start Wamp Server
- check functionality firefox http://localhost/
- start sqllite manager firefox http://localhost/sqlitemanager/
- login with the default root for the database cd "C:\wamp\mysql\bin" , mysql -u root mysql
4. Create the database (C:\wamp\www\drupal-5.2\INSTALL.mysql.txt
- logon to mysql CLI mysql -u root -p

- command to create the database
ON first.*
TO 'username'@'localhost' IDENTIFIED BY 'pass';

Query OK, 0 rows affected (0.01 sec)

- flush the previliges

Query OK, 0 rows affected (0.01 sec)

5. Run the install script

firefox http://localhost/drupal-5.2/install.php?profile=default

6. Create the database for the Drupal installation
- in the mysql prompt -- create database dbDrupal;
- show all created databases --- show databases;
7. Fill up the textfields on the site with the data used so far:
Database name: dbdrupal
Database username: username
Database password: pass
press Save configuration : You should see the
Drupal installation complete

8. Procede with http://localhost/drupal-5.2/
- check the Drupal status http://localhost/drupal-5.2/?q=admin/logs/status
- some problems are displayed , click on files , click on create the following structure is created C:\wamp\www\drupal-5.2\files

9. How to change the password for a user in mysql prompt
mysql default username is root and default pass is mysql
so one has to login with the following command mysql -u root and type the password mysql when prompt
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newVerySecrtePass');

10. Annoyed for searchiing for the path of mysql -- add C:\wamp\mysql\bin to the path

11. Go to http://localhost/drupal-5.2/
- Configure your website
- create admin root , pass Extremely secret
- go to administration section , configure other users



edit locally , run on the server

This is constrained implementation of an broader idea. First the idea consisting of the following:
- to be able to work locally (e.g. on a Windows PC with TextPad )on an entire project of any type of source files - e.g. Perl, Java , C++ , etc.
- to be able to check for syntax errors with one keyboard shortcut on the server environment - e.g. one shortcut would upload the entire project on the server and call the syntax checking command, as well as get the possible errors or success messages and bring them back to the TextPad's environment for jump to error line
- to be able to run the whole project (with any possible parameters ) with receiving any possible ok and / or error messages

So far my implementation is combariably small , but it works using winscp as the file transfer and server side command execution tool.

Any thoughts would be appreciated ... Code:

package upDown ;
use warnings ;
use strict ;
#Docs at the end ..

sub main
my $self = shift ;
my $cmd ="winscp /console userName\ /" ;
`$cmd` ;
for ( "./ok.log" , "./error.log" )
{ dumpFile($self , $_ );
} #of main

sub dumpFile
my $self = shift ;
my $file = shift ;
open (FILE,$file);
my @rows = ;
foreach my $line (@rows) { print "$line" ; }
close (FILE);

main(); #action!!!



# Upload the code file , run the command on the server
# Download the command results , echo them from this script
#to be captured by the TextPad for jumping to the error row
#PREREQUISITES Windows + winscp + configured session
#Textpad + configured the following option Ctrl + 7 , perl $FileName
#Capture output , Regex: ^.+at (.+) line ([0-9]+)[.,]? , $FileDir , $
# - parametrize the code file name
# - how about a whole file folder project - e.g. uploading recursively ....
# - parametrize session name
#Note: the *. pl fileext is just for the Perl syntax highlighting ... you should have winscp in your path
#This file should be in the same dir as the Perl tool
# Automatically answer all prompts negatively not to stall
# the script on errors
option batch on
# Enable overwrite confirmations that conflict with the previous
option confirm on
# Change remote directory
cd /home8/24/userName/var
# Force ASCII mode transfer
option transfer ASCII
#upload the file
put C:\temp\temp\
call perl 1>ok.log 2>error.log
# Download file to the local directory d:\
#get both the logs \ to the end of the folders!!!
get ok.log C:\temp\temp\
get error.log C:\temp\temp\
#delete the logs
call rm -f error.log
call rm -f ok.log
# Disconnect
# Exit WinSCP


perl (41) Cheat Sheet (25) how-to (24) sql server 2008 (13) windows (13) oracle (12) sql (12) Unix (11) linux (11) cmd windows batch (10) mssql (10) cmd (9) script (9) textpad (9) netezza (8) sql server 2005 (8) cygwin (7) meta data mssql (7) metadata (7) code generation (6) Informatica (5) cheatsheet (5) energy (5) tsql (5) utilities (5) bash (4) excel (4) future (4) generic (4) html (4) perl modules (4) programs (4) settings (4) sh (4) shortcuts (4) поуки (4) принципи (4) Focus Fusion (3) Solaris (3) cool programs (3) development (3) economy (3) example (3) freeware (3) fusion (3) morphus (3) mssql 2005 (3) nuclear (3) nz (3) parse (3) python (3) sftp (3) sofware development (3) source (3) sqlplus (3) table (3) vim (3) .Net (2) C# (2) China (2) GUI (2) Google (2) GoogleCL (2) Solaris Unix (2) ascii (2) awk (2) batch (2) cas (2) chrome extensions (2) code2html (2) columns (2) configuration (2) conversion (2) duplicates (2) excel shortcuts (2) export (2) file (2) free programs (2) git cheat sheet (2) informatica sql repository (2) logging (2) mssql 2008 (2) mysql (2) next big future (2) nsis (2) nz netezza cheat sheet (2) nzsql (2) ora (2) prediction (2) publish (2) release management (2) report (2) security (2) single-click (2) sqlserver 2005 (2) sqlserver 2008 (2) src (2) ssh (2) template (2) tools (2) vba (2) video (2) xlt (2) xml (2) youtube videos (2) *nix (1) .vimrc (1) .virmrc vim settings configs (1) BSD license (1) Bulgaria (1) Dallas (1) Database role (1) Dense plasma focus (1) Deployment (1) ERP (1) ExcelToHtml (1) GD (1) GDP (1) HP-UX (1) Hosting (1) INC (1) IT general (1) ITIL management bullshit-management (1) IZarc (1) Java Web Start (1) JavaScript anchor html jquery (1) Khan Academy (1) LINUX UNIX BASH AND CYGWIN TIPS AND TRICKS (1) Linux Unix rpm cpio build install configure (1) Linux git source build .configure make (1) ListBox (1) MIT HYDROGEN VIRUS (1) OO (1) Obama (1) PowerShell (1) Run-time (1) SDL (1) SIWA (1) SOX (1) Scala (1) Services (1) Stacks (1) SubSonic (1) TED (1) abstractions (1) ansible hosts linux bash (1) ansible linux deployment how-to (1) ansible yum pip python (1) apache (1) apache 2.2 (1) application life cycle (1) architecture (1) archive (1) arguments (1) avatar (1) backup (1) bash Linux open-ssh ssh ssh_server ssh_client public-private key authentication (1) bash perl search and replace (1) bash stub (1) bin (1) biofuels (1) biology (1) books (1) browser (1) bubblesort (1) bugs (1) build (1) byte (1) cas_sql_dev (1) chennai (1) chrome (1) class (1) claut (1) cmdow (1) code generation sqlserver (1) command (1) command line (1) conf (1) confluence (1) console (1) convert (1) cool programs windows free freeware (1) copy-paste (1) csv (1) ctags (1) current local time (1) cygwin X11 port-forwarding mintty xclock Linux Unix X (1) cygwin bash how-to tips_n_tricks (1) cygwin conf how-to (1) data (1) data types (1) db2 cheat sheet (1) db2 starter ibm bash Linux (1) debt (1) diagram (1) dictionaries (1) digital (1) disk (1) disk space (1) documentation (1) dos (1) dubai (1) e-cars (1) electric cars (1) electricity (1) emulate (1) errors (1) exponents (1) export workflow (1) extract (1) fast export (1) fexp (1) file extension (1) file permissions (1) findtag (1) firewall (1) for loop (1) freaky (1) functions (1) fusion research (1) german (1) git gitlab issues handling system (1) google cli (1) google code (1) google command line interface (1) gpg (1) ha (1) head (1) helsinki (1) history (1) hop or flop (1) host-independant (1) how-to Windows cmd time date datetime (1) ibm db2 cognos installation example db deployment provisioning (1) ideas (1) image (1) informatica oracle sql (1) informatica repo sql workflows sessions file source dir (1) informatica source files etl (1) install (1) it management best practices (1) java (1) jump to (1) keyboard shortcuts (1) ksh (1) level (1) linkedin (1) linux bash ansible hosts (1) linux bash commands (1) linux bash how-to shell expansion (1) linux bash shell grep xargs (1) linux bash tips and t ricks (1) linux bash unix cygwin cheatsheet (1) linux bash user accounts password (1) linux bash xargs space (1) linux cheat sheet (1) linux cheat-sheet (1) linux cheatsheet cheat-sheet revised how-to (1) linux how-to non-root vim (1) linux ssh hosts parallel subshell bash oneliner (1) london (1) make (1) me (1) metacolumn (1) metadata functions (1) metaphonre (1) method (1) model (1) movie (1) multithreaded (1) mysql cheat sheet (1) mysql how-to table datatypes (1) n900 (1) nano (1) neteza (1) netezza bash linux nps (1) netezza nps (1) netezza nps nzsql (1) netezza nz Linux bash (1) netezza nz bash linux (1) netezza nz nzsql sql (1) netezza nzsql database db sizes (1) non-password (1) nord pol (1) nps backup nzsql schema (1) number formatting (1) nz db size (1) nz table count rows (1) nzsql date timestamp compare bigint to_date to_char now (1) on-lier (1) one-liners (1) one-to-many (1) oneliners (1) open (1) open source (1) openrowset (1) oracle PL/SQL (1) oracle Perl perl (1) oracle installation usability (1) oracle number formatting format-model ora-sql oracle (1) oracle templates create table (1) oracle trigger generic autoincrement (1) oracle vbox virtual box cheat sheet (1) oracle virtual box cheat sheet (1) outlook (1) parser (1) password (1) paths (1) perl @INC compile-time run-time (1) perl disk usage administration Linux Unix (1) perl modules configuration management (1) permissions (1) php (1) picasa (1) platform (1) postgreSQL how-to (1) powerShell cmd cygwin mintty.exe terminal (1) ppm (1) predictions (1) prices (1) principles (1) productivity (1) project (1) prompt (1) proxy account (1) public private key (1) publishing (1) putty (1) qt (1) read file (1) registry (1) relationship (1) repository (1) rm (1) scp (1) scripts (1) scsi (1) sed (1) sendEmail (1) sh stub (1) shortcuts Windows sql developer Oracle (1) sidebar (1) silicon (1) smtp (1) software procurement (1) sofware (1) sort (1) sql script (1) sql_dev (1) sqlcmd (1) sqlite (1) sqlite3 (1) sshd (1) sshd cygwin (1) stackoverflow (1) stored procedure (1) stub (1) stupidity (1) subroutines (1) svn (1) sysinternals (1) tail (1) tar (1) temp table (1) templates (1) teradata (1) terminal (1) test (1) testing (1) theory (1) thorium (1) time (1) tip (1) title (1) tmux efficiency bash (1) tool (1) ui code prototyping tips and tricks (1) umask Linux Unix bash file permissions chmod (1) url (1) urls (1) user (1) utility (1) utils (1) vb (1) vim perl regex bash search for string (1) vim recursively hacks (1) vim starter (1) vim-cheat-sheet vim cheat-sheet (1) vimeo (1) visual stuio (1) warsaw (1) wiki (1) wikipedia (1) window (1) windows 7 (1) windows 8 (1) windows programs (1) windows reinstall (1) windows utility batch perl space Windows::Clipboard (1) wisdoms (1) workflow (1) worth-reading (1) wrapper (1) xp_cmdshell (1) xslt (1) youtube (1)

Blog Archive

Translate with Google Translate

My Blog List


This content is not yet available over encrypted connections.