User Tools

Site Tools


Table of Contents

Quick Command Set Daily Life

grab configure script from php installatio

php -i | grep configure | tr -d \'

find the disk usage for all the listed files/foldere

du -sckh * | sort -n

find uniq ip from file

cat /etc/sitemap |  awk '{print $2}' | xargs -n 1 ping -c 1 -t 1 | grep PING | awk '{print $3}' | sort | uniq

do something based on file list

while read k2;do <command> $k2;done < file

add text to end of each line

sed -i "s/$/<text to add>/" file

add text to start of each line

sed -i "s/^/<text to add>/" file

set terminal to color

TERM=xterm-color; export TERM

Break huge line based on character number

(specifically used for SSL)

sed 's/\(.\{64\}\)/\1\n/g' file

Search file and replace string

find ./ -name ".htaccess"|xargs perl -pi -e 's/original/newstring/g'
find . -type f -print0|xargs -0 perl -pi -e 's/mysql_connect \(\" \(\"'
for file in *; do [[ $file = remove ]] && continue; fgrep -vf remove "$file" > k2.tmp ; mv k2.tmp "$file"; done

Load LVM Disk

vgscan --mknodes  //load the nodes in /etc
vgchange -ay    //activate the nodes
lvscan  //scan and check the status
mkdir /mnt/somename     //directory to mount
mount /dev/VolGroup00/LogVol00 /mnt/somename    //mount on directory

general variable goes to .htaccess

php_admin_flag safe_mode Off            //put this in the httpd.conf if nothing works
php_flag safe_mode Off
php_value safe_mode "0"
php_flag register_globals off
php_flag display_errors off
DirectoryIndex index.php index.shtml
ErrorDocument 404 /
ErrorDocument 403 /
ErrorDocument 500 /
ErrorDocument 302 /
ErrorDocument 403
Redirect 301 /
php_flag log_errors on
php_flag safe_mode Off
php_flag register_globals on
php_value session.save_path /srv/www/apache/tmp

SSL redirect for https

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Redirect all except one

RewriteEngine on
RewriteCond $1 !^the/pathto/the/directory
RewriteRule (.*)$1 [R=301,L]
RewriteEngine on
RewriteRule !^the/pathto/the/directory - [C]
RewriteRule (.*)$1 [R=301,L]

lock file for no edit

chflags noschg <file name>  -- unlock
chflags schg <file name> -- lock

remove ^M from file

VI : %s/^M//g
(To get the ^M hold the control key, press V then M (Both while holding the control key) and the ^M will appear.)
sed 's/'"$(printf '\015')"'$//
tr -d '\r' <old.file >new.file

change file permission if it is not own by specific user

find . ! -user tiffany | xargs chown tiffany:tiffany

remove folder name `5 "` with find

find . -type d -name '5 "' -exec rm -Rv "{}" \;

add / remove IP alias

ifconfig fxp0 inet <IP> netmask <sub-net> alias        -- add
ifconfig fxp0 inet <IP> netmask <sub-net> -alias       -- remove

manipulate one file based on source and pattern

while read -r k2 ; do sed -e 's!\$k2!'"$k2"'!g' < site.cnf  ; done < sitelist.cnf > site.all.cnf

Line by Line two file merge

# -d used as delimiter in example it is space " ".
paste -d " " file1 file2 >"outputfile1"

find and command combination

for i in `find . -type f` ; do mv $i /home/yahoo/Photos/ ;done

how to download recursively folder / file using FTP

wget -r --no-clobber --continue --user=USERNAME --password=PASSWORD ftp://hostname
ncftget -R  source dest

one line loop in linux

for i in `jot 251 4`; do echo xx.yy.pp.$i; done
for ((i=4; i<=254; i++)); do echo "xx.yy.pp.$i"; done
for i in {4..254}; do echo "xx.yy.pp.$i"; done

Move file if it contain following text

find . -type f -exec grep -q '*POSSIBLE SPAM*' {} \; -exec echo mv {} /home \;
grep -rl 'POSSIBLE SPAM' |while read f; do mv "${f##*/}" "${DEST}"; done
find . -type f -exec grep -Fq '*POSSIBLE SPAM*' -exec mv {} /home/ +  #maybe, or \;

How to set date on linux/unix System

date yymmddhhss

netstat with name of process only work on linux

netstat -tlpn

Get IP of the domains in the list

sed -e 's#.*#nslookup & |awk '"'"'/^Name/{n=$2}/^Address/{a=$2}($2=="canonical"){c=sprintf("%s%s",c,$1)}END{print "& "n" "c" "a}'"'"'#' hostlist.txt|sh

How to connect to serial connection

cu -l /dev/cuaa0
ttyd0 "/usr/libexec/getty std.9600"   vt100   on secure
ttyd0 "/usr/libexec/getty std.9600" dialup off secure

How to find Scripts on pages

find /srv/www/html -name '*.php' -o -name '*.htm*' -print0| xargs -0 grep -i '<script>function' | cut -d ':' -f1

How to mount cd image

mount -o loop disk1.iso /mnt/disk

How to modify files based on sample config and list of variables

it read sample config from sample.conf replace $k2 in that file with varlist and append all to file $k2.testing.cfg file

while read k2 ; do sed -e 's!\$k2!'"$k2"'!g' < /home/testing/sample.conf >> $k2.testing.cfg ; done < /home/testing/varlist

Test HTTPS Connection Response of $host

You may want to test a response of a HTTPS host using telnet port 443, however because of SSL, the httpd will not provide the information via telnet because of the lack of handshake for SSL certificate. You can use openssl as below:

openssl s_client -connect $host:443 -state -debug
GET / HTTP/1.0
Host: $host

This will print each space separated word on new line.

tr ' ' '\n' < file

IP List For Asian Country based on range

In order to get all IP allocated to specific country you need to get list of IP Blocks.
you can get that list from following URL.

| IPv4
| IPv6

Now for IPv4, I never worked on IPv6 format so far so i am explaining IPv4 Only.
To generate list for all block from china you can simply use command as below.

cat country-ipv4.lst | awk -F : '{print $2, $3}' | grep cn | awk '{print $1}'

now you can save that file and use it.

MD5 Hashed Password

Many times mysql password or MD5 on phpmyadmin does not work on resetting password.

admin = 21232f297a57a5a743894a0e4a801fc3
secret = 5ebe2294ecd0e0f08eab7690d2a6ee69
OU812 = 7441de5382cf4fecbaa9a8c538e76783

Creating MD5 HASH

You can use following command in order to create MD5 HASH.

echo -n "9qL[%T#3SM" | md5sum

Output Redirection, Process Substitution & Tee

Show standard out to window and write to file

while $(/bin/true); do echo YAYYAYA; sleep 3; done > >(tee logfile)

Email Once Exit Code EQ 1

while $(/bin/sleep 300); do pgrep -u jthomas -f java; if [ $? -eq '1' ]; then echo "Render Done" | mail -s "Render Done" [email protected]; fi done &

Output Users not in Passwd File

while read -r line; do grep $line /etc/passwd > /dev/null; if [ $? == 1 ]; then echo $line; fi;  done < /var/tmp/jtlist 

RPM Output in Nice Format

rpm -qa --queryformat='%{N}-%{V}-%{R}.%{arch}\n'

Fixing permission of file based on RPM Spec

for k2 in $(rpm -qa); do rpm --setugids ${k2}; done 
for k2 in $(rpm -qa); do rpm --setperms ${k2}; done

Process Substitution with Sort and Sdiff

sdiff <(sort list) <(sort masterList)

remove comments and blank lines from output

grep -v -e '^#\|^\W*$'

Calculating Date

date -d '1 month 15 days 2 hour 30 minute ago'

Grab IP from ifconfig and ignore local

/sbin/ifconfig | grep 'inet ' | cut -d: -f2 | awk '{print $1}' | grep -v -e ^'\(\|192.168.\|10.\)'

List All installed fonts

e.g. /usr/bin/fc-list :style=medium


Advanced Mail command which allow you to specify From.
it is now installed on most OS including RHEL / CentOS.

| Usage
nail -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE \
e.g. nail -r -s "testing message"

File Tree

Print list of file in PWD

alias fltree="ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'"

For loop replace text with loop value

for k2 in {71..95} ; do sed -e 's!\$k2!'"$k2"'!g' <test2 ; done

Password hash Algorithm in linux

| Checking existing algorithm
authconfig --test | grep hashing
| Changing to stronger one
authconfig --passalgo=sha512 --update

sed to search and replace search text and number following

sed -ie '/serial/s/[0-9][0-9]*/2014050900/' 

Open postscript file to view

cat | ghostview -landscape -
python -c 'import yum, pprint; yb = yum.YumBase(); pprint.pprint(yb.conf.yumvar, width=1)'

Perl Local::lib

Simple easy way to install perl module locally.

Simply install local::lib

In order to install module locally use command as shown below.

perl -MCPAN -Mlocal::lib -e 'CPAN::install(threads)'

Clearing cache linux

Make sure you run sync command before each command here.
Alternatively you can use

sysctl -w vm.drop_caches=<number>

Free Dentries, Inodes and pagecache from cache memory

echo 3 > /proc/sys/vm/drop_caches

Free Inodes and Dentries from cache memory

echo 2 > /proc/sys/vm/drop_caches

Free PageCache from memory

echo 1 > /proc/sys/vm/drop_caches

Writing to /proc/sys/vm/drop_caches allows one to request the kernel immediately drop as much clean cached data as possible.
This will usually result in some memory becoming more obviously available; however, under normal circumstances this should not be necessary.
BE WARNED that using vm.drop_caches can cause a deadlock if the system is under heavy memory and I/O load!!!

quick_command_list.txt · Last modified: 2016/07/20 13:13 by k2patel