echo Solaris Cheat Sheet
echo this Cheat Sheet contains quick copy paste stuff for Sun's Solaris OS
echo caveat ... some of the stuff has been copied from my Linux Cheat Sheet
echo and you know Linux is not Unix ; )
echo the time now is `date +%Y.%m.%d-%H:%M:%S`
id
uname -a
du -ak . | sort -n | grep csv
echo record the current session via script
script -a /export/home/userName/SCRIPTSLOGS/`date +%Y%m%d%H%M%S`_script.log
echo /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
echo where I have been lately ?
history | grep cd
echo take the last 5 commands for faster execution to the temp execution script
tail -n 5 /root/.bash_history >> /var/run.sh
echo I saw the command cd /to/some/suching/dir/which/was/very/long/to/type
so I redid it and saved my fingers
!345
history >history.txt ---- echo the last 1000 commands into a history.txt file
echo send that file to myself
cat history.txt | mail -s "test file sending" -c mail1@com
yordan.georgiev(boom)gmail.com
echo remove all trealing spaces from the history file works for TextPad
^([ ]*)([0-9]*)(.*)$
\3 --- replace with the pure commands
history | gawk -F1 'BEGIN {FS=" "};{print $2 , $3}' | less
echo display the history withouth the line numbers ...
history | perl -i -pe 's/^([ ]*)([0-9]*)(.*)$/$3/gi'
vi fileName anotherFile
echo how to deal with command outputs
command | filtercommand > command_output.txt 2>errors_from_command.txt
echo Hint after the less filter pressing s will prompt you for saving the
output to a file ...
echo find all files and folders containing the word toFind and pipe it to the less for easier viewing
find / -name "*toFind*" 2>/dev/null | less
echo find the files having os somewhere in their names and only those having linux
find . -name '*os*' | grep linux | less
echo find all xml type of files and display only the rows having wordToFindInRow
find . -name '*.xml' -exec cat {} \;| grep wordToFindInRow | less
echo The ultimate "find in files"
find / -name '*bash*' -exec grep -nH tty {} \;
echo or even faster , be aware of "funny file names xargs -0
find / -name '*bak' | xargs grep -nH tty
echo find and replace recursively
find . -name '*.html' -print0 | xargs -0 perl -pi -e 's/foo/bar/g'
echo putty , bash shortcuts
Ctrl + A --- Go to the beginning of the line you are currently typing on
Ctrl + E --- Go to the end of the line you are currently typing on
echo how-to mount an usb stick
echo 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
head -n 20 tooLongFile -- display the first 20 lines of the file
echo change the uggly prompt
vi /etc/bashrc
echo get a nice prompt
PS1="\u@\h \t \w\n\\$ "
echo how to restart a process initiated at startup
/etc/rc.d/init.d/sendmail start | stop | status | restart
echo see all the rules associated with the firewall
iptables -L -v
gunzip *file.zip
echo decompress a tar achive
tar -xvf file.tar
echo add all *.bteq type of files into AllBteqs.tar.gz type of file
for file in *.bteq ; do tar cvf AllBteqs.tar.gz $file ;done;
echo zip all my txt files in the current directory into the zipArchiveName file
for file in *.txt
do zip zipArchiveName $file
done ;
for file in *.csv ; do rm -f $file ; done ;
To access the server download winscp.exe:
echo start winscp with a stored session from Win box
cmd /c start /max winscp oracle@192.168.255.12
echo To start remote session click on the putty screen , configure putty
settings to pull full screen with alt + Enter
echo right click on the title bar , settings , change the font , copy
paste from and to the terminal window text
echo how to ensure the sshd daemon is running
ps -ef | grep sshd
echo User and group management
echo add user with specifig home directory name and pass
useradd -p winscppass -r winscp -d /home/winscp --- to add a user with
useradd -u 10226425 -c "Yordan Georgiev, EXT, ext-yordan.1.georgiev@nokia.com" -m -d /export/home/userName -s /bin/bash userName
useradd -u -c"NPM platform OS level user" -m -d /opt/npm/npmobi -s /bin/bash -g npmobi npmobi
luserdel winscp --- delete the user
gpasswd: administer the /etc/group file
groupadd: Create a new group
groupmod: Modify a group
groupdel: Delete a new group
useradd: Create a new user or update default new user information
usermod: Modify a user account
userdel: Delete a user account and related files
echo how to kill process interactively
killall -v -i sshd
echo disk usage of users under the /home directory
echo on Solaris
du -ak /export/home | sort -n -r | less
du -ak . | sort -n | grep log
echo 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 more stuff to it ) use the right arrow to
escape from the quick search box ...
How to install Perl modules
gzip -dc yourmodule.tar.gz | tar -xof -
perl Makefile.PL
make test
make install
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
after:
vi /$PWD , press tab to complete the name of the current directory ,
type the name of the file
thus after
history | grep vi
the full list of opened files is viwed .
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; )
/etc/DIR_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
uname -a --- which version of Linux I am using
rmp -qa --- show all installed packages
passwd [username] --- change the password for the specified user (own password)
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
chown -R root:nortel Directory
echo perform action recursively on a set of files
find . -name '*.pl' -exec perl -wc -l {} \;
$ for file in *
> do cp $file $file.bak
> done
$ for file in `ls -R` ; do cp $file $file.bak; done
echo make Bash append rather than overwrite the history on disk:
shopt -s histappend
echo henever displaying the prompt, write the previous line to disk:
PROMPT_COMMAND='history -a'
gpm -- general "cut and paste" server
sh ScriptWithALotOfErrorMessages.sh | tee -a whereToSaveIt.log
echo run first the following command
$ script -a The_Log_File_To_Append_as_well_as_display_diagnostig_messages.log
echo than run the script
sh ScriptWithALotOfErrorMessages.sh
tr '\t' ',' < FileWithTabs > fileWithCommas
df -k --- disk usage
echo Allow access to the box from only one ip address
IPTables=/sbin/iptables
$ IPTables -A INPUT -s <Insert other Origin ip here> -p tcp
--source-port xxx -j ACCEPT
$ IPTables -A OUTPUT -d < Insert other Origin ip here > -p tcp
--destination-port xxx-j ACCEPT
echo has the root logged in over an unencrypted network ?
echo last | grep “^root “ | egrep –v “reboot|console” | more
echo start command in the background
command1 &
echo start another one
command2 &
echo bring the command in the foreground
fg %1
echo create a backup file based on the timestamp on bash
cp fileName.ext fileName.ext.`date +%Y%m%d%H%M%S`.bak
echo which box I am workign currently
uname -a
echo who am I on this machine
id
echo the current time is( in yyyy.mm.dd HH:MM:SS format )
echo `date +%Y.%m.%d.%H.%M.%S`
find /opt/npm/sfw/oracle/EPM/11.1.1.3 -name "*assembly.dat" | cut -d/ -f9 | sort -u
echo get my IP address
/sbin/ifconfig -a | less
telnet -e "^g" 10.176.246.138 1025
telnet -e "^g" xldb-prod 1025
echo which process the npmobi user is runnig and sort by process name
ps -fu npmobi | sort +7
echo check whether host in DNS
nslookup hostName
echo show the ports which npmobi user is using
/usr/local/bin/show-ports -u npmobi
echo port forwarding with ssh from one host to another via ssh
ssh -L1423:3esituo08lab:1423 2esituo08lab
ssh -L 1528:2esituo08lab:1528 hecop07lab.ntc.nokia.com
echo how-to setup port forwarding on Unix
ssh -L22:localhost:22 hostToForwardTo.domain.com
echo scp copy from local to remote host a file
scp /local/host/path userName@hostName.domain.com:/remote/host/path/
echo scp copy from remote to loca host files
scp userName@serverName.domain.com:/remote/host/path/* /local/host/path
echo ksh nice prompt
export PS1=$host.$LOGNAME:$PWD:`echo ``date +%Y.%m.%d-%H:%M:%S`` `:`echo "\n" $ " "`
export PS1=$host.$LOGNAME:$PWD:$TIME:$($(id) $
export PS1=$host.$LOGNAME:$PWD:`echo ``date +%Y.%m.%d-%H:%M:%S`` `:`echo "\n" $ " "`
$host.$LOGNAME:$PWD:$
copy a file with timestamp
cp file file_`date +%Y%m%d-%H%M%S`
# tar and compress all csv files
gzip -cd *log | tar -xf - || exit 1
# tar and compress all log files
gzip -cd *log | tar -xf - || exit 1
echo "The script you are running has basename `basename $0`, dirname `dirname $0`"
echo "The present working directory is `pwd`"
#The dir where the script runs ( Note no / at the end !!! )
RunFolder=`dirname $0`
case $RunFolder in
/*);;
*)RunFolder=`pwd`/$RunFolder;;
esac
#The dir where the logs are stored( Note no / at the end !!! )
LogFolder=`dirname $0`
case $LogFolder in
/*);;
*)LogFolder=`pwd`/$LogFolder;;
esac
find project -type f -print | \
egrep '(\.[ch]|[Mm]akefile)$' > Include
% tar cvf project.tar -I Include
echo how-to delete entire directory recursively without prompts for confirmation
rm -Rf /path/to/dir/toDelete/Without/Prompt/Recursively
sh shell shortcuts
Alt + K
echo two for loops
for i in `echo A B` ; do for j in `echo C D` ;do echo $i$j;done;done ;
echo mutliple rename of files with sed and regex
for file in *.txt; do mv $file `echo $file | sed 's/\([A-Za-z_]*\)_\([0-9]*\)\([A-Za-z\.]*\)/\1\3/'` ; done ;