Useful Linux command
1) Find and Replace
(Replace askapache with htaccess)
nice -n19 sh -c
'S=askapache && R=htaccess; find . -type f|xargs -P5 -iFF grep -l -m1
"$S" FF|xargs -P5 -iFF sed -i -e s%${S}%${R}% FF'
2) Disk Use in
current Location
du -a
--max-depth=1 | sort -n | cut -d/ -f2 | sed '$d' | while read i; do if [ -f $i
]; then du -h "$i"; else echo "$(du -h --max-depth=0
"$i")/"; fi; done
3) Do a
search-and-replace in a file after making a backup
for file in
<filename>; do cp $file{,.bak} && sed 's/old/new/g' $file.bak
> $file; done
4) Delete all but
the latest 5 files
ls -t | awk
'NR>5 {system("rm \"" $0 "\"")}'
5) Identify long
lines in a file
awk
'length>72' file
6) Show directories
in the PATH, one per line
echo src::${PATH}
| awk
'BEGIN{pwd=ENVIRON["PWD"];RS=":";FS="\n"}!$1{$1=pwd}$1!~/^\//{$1=pwd"/"$1}{print
$1}'
7) Internet access
at Current Moment
lsof -P -i -n
netstat -lantp |
grep -i stab | awk -F/ '{print $2}' | sort | uniq
watch --interval
0 'iptables -nvL | grep -v "0 0"'
8) Client Ip Enquiry
netstat -ntu |
awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
9) Remove Garbage
echo
"http%3A%2F%2Fwww.google.com" | sed
-e's/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g' | xargs echo -e
10) Send Mail with
attachment
tar cvzf - data1
data2 | uuencode data.tar.gz | mail -s 'data'
11) Email HTML
content
mailx bar@foo.com
-s "HTML Hello" -a "Content-Type: text/html" < body.htm
12) Send email with
one or more binary attachments
echo "Body
goes here" | mutt -s "A subject" -a /path/to/file.tar.gz
recipient@example.com
du -h -s -x * |
sort -g -b -r | less -F
13) Archive every
file in /var/logs
find /var/logs
-name * | xargs tar -jcpf logs_`date +%Y-%m-%e`.tar.bz2
14) Search for all
files that begin with . and delete them.
find ~/Desktop/
\( -regex '.*/\..*' \) -print -exec rm -Rf {} \;
15) Copy all
documents PDF in disk for your home directory
for i in `find /
-name *.pdf`; do cp -v $i $HOME; done
16) simulates the DOS
tree command that you might be missing on your Mac or Linux box
find . -print |
sed -e 's;[^/]*/;|____;g;s;____|; |;g'
find . -name
"*.sql" -print0 | wc -l --files0-from=-
17) Find file changed in last 7 days. Use +7 files modified before 7 days
find / -type f
-mtime -7 | xargs tar -rf weekly_incremental.tar
gzip
weekly_incremental.tar
18) Date function
18) Date function
date -d '1 day
ago'; date -d '11 hour ago'; date -d '2 hour ago - 3 minute'; date -d '16 hour'
date +%s
date +%s
date +%Y-%m-%d
No comments:
Post a Comment