Some Random Helpful Hints

I’ve been slowly collecting a few commands that are useful to me for various things while using Linux.  I figured that I would share some of these handy commands.  In no particular order, they are:

To copy, preserving permissions AND structure AND recursively, from a remote system to your local system:

rsync -r -a -v -e ssh server1.address.com:/dir/youwant/to/copy/ /local/location/for/directory/

Please note that the code above assumes that you are using key based authentication and not password.  For password based authentication, it would look more like this:

rsync -r -a -v -e ssh remoteuser@server1.address.com:/dir/youwant/to/copy/ /local/location/for/directory/

To remove all files matching a certain extension (xml in my example) in a directory:

find . -type f -name "*.xml" -exec rm -f {} \;

To go into a location, find all files that match a certain extension (jpg in my example) and move them to a different directory:

find . -name "*.jpg" | xargs -i mv '{}' /location/to/move/them/to/ 

To recursively remove empty directory from the directory you are currently in (your pwd):

find -depth -type d -empty -exec rmdir {} \;

These are a few of the commands that I’ve found useful in the past few weeks.  I hope you find them useful as well.  I’ll be test driving quite a few different distributions and reporting back what I find as well as experimenting with various different commands…I really like find because it is so powerful so look for some more posts with uses of the find command.  Thanks for reading and sorry for my lapse in posting this past month!