Command line tricks

I'm a fan of doing work in the terminal. Here are about a dozen one-liners that I keep around.

Files and directories

Change DOS line endings to Unix line endings

find . -type f -exec dos2unix {} \;  

Note: on Ubuntu install with apt-get install dos2unix or on OS X with brew install dos2unix for the above command.

Change the permissions on files to 644

find . -type f -exec chmod 644 {} \;  

Change the permissions on sub directories to 755

find . -type d -exec chmod 755 {} \;  

Remove all empty sub directories

find . -type d -exec rmdir 2>/dev/null {} \;  

Find the total space of all child files and directories

du -cksh *  

Empty the content of a file (great for clearing logs)

echo "" > file.txt  

Quickly make a backup of a file

cp file.txt{,.bak}  

Add a private key to the authentication agent

ssh-add ~/.ssh/id_rsa  
ssh-add -L  

Miscellaneous

Get the machine's external IP address

curl ifconfig.me  

Serve the current directory as a website on port 8000

python -m SimpleHTTPServer  

Remove all installed Ruby Gems

gem list --no-version | xargs gem uninstall -aIx  

OS X only Update OS X via the command-line

sudo softwareupdate -i -a  

OS X only Update the 'Open With' Contextual menu in OS X Finder

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

Recursively delete .DS_Store files on OS X

find . -name '*.DS_Store' -type f -delete  

More

There are many more at commandlinefu.com.