# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
#
# description : This charge holds all my BASH configurations and aliases
#

# Sections :
# 1. environment configuration
# 2. Make Terminal Better ( remapping defaults and adding functionality )
# 3. file and Folder Management
# 4. Searching
# 5. work management
# 6. network
# 7. System Operations & Information
# 8. Web Development
# 9. Reminders & Notes
#
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
# 1. ENVIRONMENT shape
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
# Change Prompt
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
export PS1 = `` ________________________________________________________________________________ \n | \w @ \h ( \u ) \n | = > ``
export PS2 = `` | = > ``
# Set Paths
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
export path = `` $ PATH : /usr/local/bin/ ''
export path = `` /usr/local/git/bin : /sw/bin/ : /usr/local/bin : /usr/local/ : /usr/local/sbin : /usr/local/mysql/bin : $ PATH ``
# Set Default Editor ( change 'Nano ' to the editor program of your choice )
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
export editor program =/usr/bin/nano

# Set default blocksize for fifty, df, du
# from this : hypertext transfer protocol : //hints.macworld.com/comment.php ? mode=view & cid=24491
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
export BLOCKSIZE =1k

# Add color to terminal
# ( this is all commented out as I use Mac Terminal Profiles )
# from hypertext transfer protocol : //osxdaily.com/2012/02/21/add-color-to-the-terminal-in-mac-os-x/
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
# export CLICOLOR=1
# export LSCOLORS=ExFxBxDxCxegedabagacad
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
# 2. MAKE TERMINAL BETTER
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
alias cp = 'cp -iv ' # Preferred 'cp ' execution
alias millivolt = 'mv -iv ' # Preferred 'mv ' implementation
alias mkdir = 'mkdir -pv ' # Preferred 'mkdir ' execution
alias ll = 'ls -FGlAhp ' # Preferred 'ls ' implementation
alias less = 'less -FSRXc ' # Preferred 'less ' execution
compact disk ( ) { builtin four hundred `` $ @ ``; ll; } # Always list directory contents upon 'cd '
aliascd.. = 'cd ../ ' # Go back 1 directory level ( for fast typers )
alias .. = 'cd ../ ' # Go back 1 directory degree
alias ... = 'cd ../../ ' # Go back 2 directory levels
alias .3 = 'cd ../../../ ' # Go back 3 directory levels
alias .4 = 'cd ../../../../ ' # Go back 4 directory levels
alias .5 = 'cd ../../../../../ ' # Go back 5 directory levels
alias .6 = 'cd ../../../../../../ ' # Go back 6 directory levels
alias edit = 'subl ' # edit : Opens any file in empyreal editor program
alias fluorine = 'open -a Finder ./ ' # degree fahrenheit : Opens current directory in MacOS Finder
alias ~ = `` cadmium ~ '' # ~ : Go Home
alias c = 'clear ' # speed of light : clear terminal display
alias which = 'type -all ' # which : Find executables
alias path = 'echo -e $ { PATH// : /\\n } ' # path : Echo all feasible Paths
alias show_options = 'shopt ' # Show_options : expose sock options settings
alias fix_stty = 'stty sane ' # fix_stty : Restore concluding settings when screwed up
alias cic = 'set completion-ignore-case On ' # cic : Make tab-completion case-insensitive
mcd ( ) { mkdir -p `` $ 1 `` & & cadmium `` $ 1 ``; } # mcd : Makes new Dir and jumps inside
trash ( ) { commandmv `` $ @ `` ~/.Trash ; } # trash : Moves a charge to the MacOS trash
ql ( ) { qlmanage -p `` $ * `` >& /dev/null; } # ql : Opens any file in MacOS Quicklook Preview
alias DT = 'tee ~/Desktop/terminalOut.txt ' # DT : Pipe content to file on MacOS Desktop
# lawrencium : Full Recursive Directory Listing
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
alias lawrencium = 'ls -R | grep `` : $ '' | sed -e ' \ ' 's/ : $ // ' \ ' ' -e ' \ ' 's/ [ ^- ] [ ^\/ ] *\// -- /g ' \ ' ' -e ' \ ' 's/^/ / ' \ ' ' -e ' \ ' 's/-/|/ ' \ ' ' | less '
# mans : Search manpage given in agument '1 ' for term given in controversy '2 ' ( case insensitive )
# displays paginated result with bleached research terms and two lines surrounding each hit. example : mans mplayer codec
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
mans ( ) {
man $ 1 | grep -iC2 --color =always $ 2 | less
}
# showa : to remind yourself of an alias ( given some part of it )
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
showa ( ) { /usr/bin/grep --color =always -i -a1 $ @ ~/Library/init/bash/aliases.bash | grep -v '^\s* $ ' | less -FSRXc ; }
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
# 3. file AND FOLDER MANAGEMENT
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -

zipf ( ) { zip -r `` $ 1 ``.zip `` $ 1 `` ; } # zipf : To create a ZIP archive of a booklet
alias numFiles = 'echo $ ( lambert -1 | wc -l ) ' # numFiles : count of non-hidden files in stream dir
alias make1mb = 'mkfile 1m ./1MB.dat ' # make1mb : Creates a file of 1mb size ( all zero )
alias make5mb = 'mkfile 5m ./5MB.dat ' # make5mb : Creates a file of 5mb size ( all zero )
alias make10mb = 'mkfile 10m ./10MB.dat ' # make10mb : Creates a file of 10mb size ( all zero )
# cdf : 'Cd 's to frontmost window of MacOS Finder
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
cdf ( ) {
currFolderPath = $ ( /usr/bin/osascript <

)

echo

"cd to

\"

$currFolderPath

\"

"

cd

"

$currFolderPath

"

}

# extract: Extract most know archives with one command

# ---------------------------------------------------------

extract

()

{

if

[

-f

$1

]

;

then
case

$1

in

*

.tar.bz2

)

tar xjf

$1

;;

*

.tar.gz

)

tar xzf

$1

;;

*

.bz2

)

bunzip2

$1

;;

*

.rar

)

unrar e

$1

;;

*

.gz

)

gunzip

$1

;;

*

.tar

)

tar xf

$1

;;

*

.tbz2

)

tar xjf

$1

;;

*

.tgz

)

tar xzf

$1

;;

*

.zip

)

unzip

$1

;;

*

.Z

)

uncompress

$1

;;

*

.7z

)

7z x

$1

;;

*

)

echo

"'

$1

' cannot be extracted via extract()"

;;

esac

else

echo

"'

$1

' is not a valid file"

fi

}

# ---------------------------

# 4. SEARCHING

# ---------------------------

alias

qfind

=

"find. -name "

# qfind: Quickly search for file

ff

()

{

/usr/bin/find. -name

"

$@

"

;

}

# ff: Find file under the current directory

ffs

()

{

/usr/bin/find. -name

"

$@

"

'*'

;

}

# ffs: Find file whose name starts with a given string

ffe

()

{

/usr/bin/find. -name

'*'

"

$@

"

;

}

# ffe: Find file whose name ends with a given string

# spotlight: Search for a file using MacOS Spotlight's metadata

# -----------------------------------------------------------

spotlight

()

{

mdfind

"kMDItemDisplayName == '

$@

'wc"

;

}

# ---------------------------

# 5. PROCESS MANAGEMENT

# ---------------------------

# findPid: find out the pid of a specified process

# -----------------------------------------------------

# Note that the command name can be specified via a regex

# E.g. findPid '/d$/' finds pids of all processes with names ending in 'd'

# Without the 'sudo' it will only find processes of the current user

# -----------------------------------------------------

findPid

()

{

lsof -t -c

"

$@

"

;

}

# memHogsTop, memHogsPs: Find memory hogs

# -----------------------------------------------------

alias

memHogsTop

=

'top -l 1 -o rsize | head -20'

alias

memHogsPs

=

'ps wwaxm -o pid,stat,vsize,rss,time,command | head -10'

# cpuHogs: Find CPU hogs

# -----------------------------------------------------

alias

cpu_hogs

=

'ps wwaxr -o pid,stat,%cpu,time,command | head -10'

# topForever: Continual 'top' listing (every 10 seconds)

# -----------------------------------------------------

alias

topForever

=

'top -l 9999999 -s 10 -o cpu'

# ttop: Recommended 'top' invocation to minimize resources

# ------------------------------------------------------------

# Taken from this macosxhints article

# http://www.macosxhints.com/article.php?story=20060816123853639

# ------------------------------------------------------------

alias

ttop

=

"top -R -F -s 10 -o rsize"

# my_ps: List processes owned by my user:

# ------------------------------------------------------------

my_ps

()

{

ps

$@

-u

$USER

-o pid,%cpu,%mem,start,time,bsdtime,command ;

}

# ---------------------------

# 6. NETWORKING

# ---------------------------

alias

myip

=

'curl ip.appspot.com'

# myip: Public facing IP Address

alias

netCons

=

'lsof -i'

# netCons: Show all open TCP/IP sockets

alias

flushDNS

=

'dscacheutil -flushcache'

# flushDNS: Flush out the DNS Cache

alias

lsock

=

'sudo /usr/sbin/lsof -i -P'

# lsock: Display open sockets

alias

lsockU

=

'sudo /usr/sbin/lsof -nP | grep UDP'

# lsockU: Display only open UDP sockets

alias

lsockT

=

'sudo /usr/sbin/lsof -nP | grep TCP'

# lsockT: Display only open TCP sockets

alias

ipInfo0

=

'ipconfig getpacket en0'

# ipInfo0: Get info on connections for en0

alias

ipInfo1

=

'ipconfig getpacket en1'

# ipInfo1: Get info on connections for en1

alias

openPorts

=

'sudo lsof -i | grep LISTEN'

# openPorts: All listening connections

alias

showBlocked

=

'sudo ipfw list'

# showBlocked: All ipfw rules inc/ blocked IPs

# ii: display useful host related informaton

# -------------------------------------------------------------------

ii

()

{

echo

-e

"

\n

You are logged on

${

RED

}

$HOST

"

echo

-e

"

\n

Additionnal information:

$NC

"

; uname -a

echo

-e

"

\n

${

RED

}

Users logged on:

$NC

"

; w -h

echo

-e

"

\n

${

RED

}

Current date :

$NC

"

; date

echo

-e

"

\n

${

RED

}

Machine stats :

$NC

"

; uptime

echo

-e

"

\n

${

RED

}

Current network location :

$NC

"

; scselect

echo

-e

"

\n

${

RED

}

Public facing IP Address :

$NC

"

;myip

#echo -e "\n${RED}DNS Configuration:$NC " ; scutil --dns

echo

}

# ---------------------------------------

# 7. SYSTEMS OPERATIONS & INFORMATION

# ---------------------------------------

alias

mountReadWrite

=

'/sbin/mount -uw /'

# mountReadWrite: For use when booted into single-user

# cleanupDS: Recursively delete .DS_Store files

# -------------------------------------------------------------------

alias

cleanupDS

=

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

# finderShowHidden: Show hidden files in Finder

# finderHideHidden: Hide hidden files in Finder

# -------------------------------------------------------------------

alias

finderShowHidden

=

'defaults write com.apple.finder ShowAllFiles TRUE'

alias

finderHideHidden

=

'defaults write com.apple.finder ShowAllFiles FALSE'

# cleanupLS: Clean up LaunchServices to remove duplicates in the "Open With" menu

# -----------------------------------------------------------------------------------

alias

cleanupLS

=

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

# screensaverDesktop: Run a screensaver on the Desktop

# -----------------------------------------------------------------------------------

alias

screensaverDesktop

=

'/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background'

# ---------------------------------------

# 8. WEB DEVELOPMENT

# ---------------------------------------

alias

apacheEdit

=

'sudo edit /etc/httpd/httpd.conf'

# apacheEdit: Edit httpd.conf

alias

apacheRestart

=

'sudo apachectl graceful'

# apacheRestart: Restart Apache

alias

editHosts

=

'sudo edit /etc/hosts'

# editHosts: Edit /etc/hosts file

alias

herr

=

'tail /var/log/httpd/error_log'

# herr: Tails HTTP error logs

alias

apacheLogs

=

"less +F /var/log/apache2/error_log"

# Apachelogs: Shows apache error logs

httpHeaders

()

{

/usr/bin/curl -I -L

$@

;

}

# httpHeaders: Grabs headers from web page

# httpDebug: Download a web page and show info on what took time

# -------------------------------------------------------------------

httpDebug

()

{

/usr/bin/curl

$@

-o /dev/null -w

"dns: %{time_namelookup} connect: %{time_connect} pretransfer: %{time_pretransfer} starttransfer: %{time_starttransfer} total: %{time_total}

\n

"

;

}

# ---------------------------------------

# 9. REMINDERS & NOTES

# ---------------------------------------

# remove_disk: spin down unneeded disk

# ---------------------------------------

# diskutil eject /dev/disk1s3

# to change the password on an encrypted disk image:

# ---------------------------------------

# hdiutil chpass /path/to/the/diskimage

# to mount a read-only disk image as read-write:

# ---------------------------------------

# hdiutil attach example.dmg -shadow /tmp/example.shadow -noverify

# mounting a removable drive (of type msdos or hfs)

# ---------------------------------------

# mkdir /Volumes/Foo

# ls /dev/disk* to find out the device to use in the mount command)

# mount -t msdos /dev/disk1s1 /Volumes/Foo

# mount -t hfs /dev/disk1s1 /Volumes/Foo

# to create a file of a given size: /usr/sbin/mkfile or /usr/bin/hdiutil

# ---------------------------------------

# e.g.: mkfile 10m 10MB.dat

# e.g.: hdiutil create -size 10m 10MB.dmg

# the above create files that are almost all zeros - if random bytes are desired

# then use: ~/Dev/Perl/randBytes 1048576 > 10MB.dat

Leave a Reply

Your email address will not be published.