List only directories, max 2 nodes down that have "net" in the name
$ find /proc -type d -maxdepth 2 -iname '*net*'
Find all *.c and *.h files starting from the current "." position.
$ find . \( -iname '*.c' -o -iname '*.h' \) -print
Find all, but skip what's in "/CVS" and "/junk". Start from "/work"
$ find /work \( -iregex '.*/CVS' -o -iregex '.*/junk' \) -prune -o -print
Note -regex and -iregex work on the directory as well, which means
you must consider the "./" that comes before all listings.
Here is another example. Find all files except what is under the CVS, including
CVS listings. Also exclude "#" and "~".
$ find . -regex '.*' ! \( -regex '.*CVS.*' -o -regex '.*[#|~].*' \)
Find a *.c file, then run grep on it looking for "stdio.h"
$ find . -iname '*.c' -exec grep -H 'stdio.h' {} \;
sample output --> ./prog1.c:#include
./test.c:#include
Looking for the disk-hog on the whole system?
$ find / -size +10000k 2>/dev/null
Looking for files changed in the last 24 hours? Make sure you add the
minus sign "-1", otherwise, you will only find files changed exactly
24 hours from now. With the "-1" you get files changed from now to 24
hours.
$ find . -ctime -1 -printf "%a %f\n"
Wed Oct 6 12:51:56 2010 .
Wed Oct 6 12:35:16 2010 Linux_and_Open_Source.txt
Or if you just want files.
$ find . -type f -ctime -1 -printf "%a %f\n"
Details on file status change in the last 48 hours, current directory. Also note "-atime -2").
$ find . -ctime -2 -type f -exec ls -l {} \;
NOTE: if you don't use -type f, you make get "." returned, which
when run through ls "ls ." may list more than what you want.
Also you may only want the current directory
$ find . -ctime -2 -type f -maxdepth 1 -exec ls -l {} \;
To find files modified within the last 5 to 10 minutes
$ find . -mmin +5 -mmin -10
Red Hat, Fedora, Gnome, KDE, MySQL, PostgreSQL, PostGIS, Slony, Zarafa, Scalix, SugarCRM, vtiger, CITADEL,OpenOffice, LibreOffice,Wine, Apache, hadoop, Nginx Drupla, Joomla, Jboss, Wordpress, WebGUI, Tomcat, TiKi WiKi, Wikimedia, SpamAssassin, ClamAV, OpenLDAP, OTRS, RT, Samba, Cyrus, Dovecot, Exim, Postfix, sendmail, Amanda, Bacula, DRBD, Heartbeat, Keepalived, Nagios, Zabbix, Zenoss,
Monday, October 18, 2010
Using the "find" Command.
Monitor all Network Traffic Except Your Current ssh Connection
$ tcpdump -i eth0 -nN -vvv -xX -s 1500 port not 22
Or to filter out port 123 as well getting the full length of the packet
(-s 0), use the following:
$ tcpdump -i eth0 -nN -vvv -xX -s 0 port not 22 and port not 123
Or to filter only a certain host say 192.168.158.205
$ tcpdump -i eth0 -nN -vvv -xX port not 22 and host 192.168.158.205
Just want ip addresses and a little bit of data, then,
use this. The "-c 20" is to stop after 20 packets.
$ tcpdump -i eth0 -nN -s 1500 port not 22 -c 20
If you're looking for sign of DOS attacks, the following show just the SYN
packets on all interfaces:
$ tcpdump 'tcp[13] & 2 == 2'
Speed up SSH
Try setting up ssh client with compression and
use arcfour/blowfish encryption instead. Also avoid ipv6 lookup and
reuse connections using
socket:
Add below to ~/.ssh/config
socket:
Add below to ~/.ssh/config
Host *
Ciphers arcfour,blowfish-cbc
Compression yes
AddressFamily inet
ControlMaster auto
ControlPath ~/.ssh/socket-%r@%h:%pFriday, October 15, 2010
Install your own git server on Cent OS / RHEL /Fedora
i386:
Now we want to checkout a copy of the new repository from a different server.
To add a new file to the repo:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
x86_64:rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
As root run this command:yum install git
Next I’m going to setup a new repository and make it accessible
over ssh:We’ll create a dummy file to get started. If you trying to clone (checkout) an empty git repository, you’ll just get errors:mkdir /home/rajat/repo #create directory for new repositorycd /home/rajat/repogit init
touch firstfile
Add all files in this directory to your git repository:git add .
Commit the changes you’ve made to the repo:git commit
Next we’ll create a clone of the repo and configure it to
be public:you can copy your repo.git directory to where you want to make the repo publiccd /home/rajatgit clone --bare ./repo repo.gittouch repo.git/git-daemon-export-ok
Now we want to checkout a copy of the new repository from a different server.
git clone ssh://yourserveraddress/home/rajat/repo.git
You should now have a new directory labeled repo which contains the
file ‘firstfile’To add a new file to the repo:
Now we want to submit the changes back to the git server:cd repotouch secondfilegit add .git commit
git push
You’ll be prompted for your password.
:)
Subscribe to:
Posts (Atom)