echo record the current session via script
script -a /export/home/yogeorgi/SCRIPTSLOGS/`date +%Y%m%d%H%M%S`_script.log
echo Hint , if you copy paste from this document to putty write first echo and than paste ..
echo get the help in better format
echo if the man is full of references to files
man commandToFindHelpAbout | col -b >/var/man/mancommandToFindHelpAbout.man.txt
alias ls="ls -a -X -1 --color=tty"
alias dir="ls -ba"
alias cls="clear"
alias deltree="rm -r"
alias move="mv"
ls -al | more
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'
vim 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 linux and pipe it to the less for easier viewing
find / -name "linux" | 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" in Linux
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'
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
#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
head -n 20 tooLongFile -- display the first 20 lines of the file
echo get nice prompt
vim /etc/bashrc
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
tar -xvf file.tar
To access the server download winscp.exe:
echo start winscp with a stored session
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
useradd -p winscppass -r winscp -d /home/winscp --- to add a user with specifig home directory name and pass
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
du --max-depth=1 /home | sort -n -r
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
echo How to see better which file were opened , which directories were visited
echo 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:
vim /$PWD , press tab to complete the name of the current directory , type the name of the file
thus after
history | grep vim
echo the full list of opened files is viwed .
echo of course the same could be seen from the /home/username/.viminfo file /files
echo 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)
echo How to copy paste text in the putty window from client to server - click the right button of your pointing device
echo 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 {} \;
$ 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
-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 ?
# 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 who am I on this machine
id
whoami