CLI #Ref

The purpose of this page is to serve as quick reference for an assortment of console commands that I have found to be useful, even if some are rarely used.

Last Updated: Oct. 11, 2014

Convert an Apple DMG to the more usage IMG format (Windows/Linux)

dmg2img source.dmg destination.img

Suppress overwrite prompt when copying (Linux) (note the backslash prefix)

\cp -r source/* ./

Mount a Virtualbox Shared folder:

mount -t vboxsf share_name /mount/point

Append a line to a file, without using redirection

echo "line of text to add" | tee -a /path/to/file

Get the number and count of unique IPs in a web server log file

awk '{!a[$1]++}END{for(i in a) if ( a[i] >10 ) print a[i],i }' access.log

Get the total size of files (in the current folder) modified in the last day

find . -mtime -1 -ls | awk '{total += $7} END {print total}'

Perform an inline replacement of text in all matching files

find . -type f -name "*.ext" -print | xargs sed -i 's/match/replacement/g'
find . -type f -name "*.ext" -exec sed -i 's/match/replacement/g' {} \;

Access a VirtualHost by IP:

curl --header "Host: example.com" 127.0.0.1:port

Purge a Varnish (3.x) cache entry from localhost (note: you can omit the --head parameter and use the full URL instead of passing the Host header; and it does work without --http1.0).

curl -X PURGE --http1.0 --head --header "Host: example.com" 127.0.0.1/path/to/file.ext
curl --compressed -X PURGE --http1.0 --head --header "Host: example.com" 127.0.0.1/path/to/file.ext

Optimize all MySQL tables:

mysqlcheck -o -u root -p --all-databases

Find if kernel is compiled with a specific option:

grep OPTION_NAME /boot/config-$(uname -r)

Testing gzip with cURL:

curl --compressed --head http://example.com/path/to/file.ext

Run a node.js – express app in production mode with forever:

NODE_ENV=production forever start app.js

Test if user has read permissions (also works for other file permissions, and file properties):

sudo -u USER test -r /path/to/file && echo 'yes' || echo 'no'

Test if a file is newer than another file:

test FILE1 -nt FILE2 && echo 'yes' || echo 'no'

Clear the NPM cache (fixes most npm install problems):

npm cache clear

Determine the device a path is mounted on:

mountpoint -d /path/

Go to the previous directory you were in:

cd -

Logout (linux shell):

Ctrl+d

Install Redis 2.8 on Amazon Linux (from Remi):

yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum --enablerepo=remi install redis

Resend mails from local mbox:

cat /var/spool/mail/test |
formail -I "To: user@example.com" \
        -s /usr/sbin/sendmail -t -f user@example.com

Leave a Reply

Your email address will not be published. Required fields are marked *