Laravel Bash Aliases
Published on by Eric L. Barnes
Bash aliases are shortcuts added to a file that allows you to reference another command through more memorable words, abbreviations, or characters. For example, if you use Git you may run git status
many times throughout the day, so to save yourself time and keystrokes you could alias gs
to git status
and it’ll automatically expand and call the proper command.
Over the years I’ve seen a lot of unusual aliases and many are unique to the person. Shortcuts that make sense to me, might be confusing and weird to you. That’s what makes these so fun.
To gain some insights into what others are doing I asked the community to share theirs with me and quite a few responded. It surprised me how many are similar in that almost everyone made shortcuts for the Artisan command. Yet everyone has a different shortcut pattern, for example, “a”, “pa”, or “art” for the php artisan
command. Another unique one that a few shared is a command called “nah”:
nah='git reset --hard;git clean -df'
That one is really nice and to demonstrate how it works, pretend that you started working on a new feature, maybe added a few new files, and then after lunch, you decide everything you’ve done is wrong. By running the nah
command it’ll reset your code back to what is committed, and delete any files that are not known to git. Very convenient and useful!
How To Create Your Own Base Aliases
For those new to creating bash aliases, the process is pretty simple. First, open up the ~/.bashrc
file in a text editor that is found in your home directory. Uncomment or add the following lines:
if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi
This tells it to load a .bash_aliases
file, if it exists, so you can put all your aliases in it and make them easier to share and keep up with. Finally, create the ~/.bash_aliases
file and add the following as your first alias:
alias art="php artisan"
Save the file and type the following in the terminal:
source ~/.bashrc
From here on you should be able to type art
and it’ll auto expand into php artisan
. Just remember that every time you modify the bash_aliases file you’ll need to either run that source
command or restart Terminal so the changes are picked up.
Laravel Bash Aliases from the Community
Below is a list of all the Laravel community contributions and what they are using.
# Laravel artisan() { if [ -f bin/artisan ]; then php bin/artisan "$@" else php artisan "$@" fi} alias serve='artisan serve'alias tinker='artisan tinker' # Misc PHP t() { if [ -f vendor/bin/phpunit ]; then vendor/bin/phpunit "$@" else phpunit "$@" fi}
nah='git reset --hard;git clean -df'vm='ssh vagrant@127.0.0.1 -p 2222'
pa='php artisan'
alias dracarys="git reset --hard && git clean -df"alias copyssh="pbcopy < $HOME/.ssh/id_rsa.pub"alias reloadcli="source $HOME/.zshrc"alias zshrc="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/.zshrc "alias shrug="echo '¯\_(ツ)_/¯' | pbcopy";alias fight="echo '(ง'̀-'́)ง' | pbcopy"; *** This one opens a PR from the current branchfunction openpr() { br=`git branch | grep "*"` repo=$1 parentBranch=$2 open -a /Applications/Google\ Chrome.app https://github.com/${repo/* /}/compare/${parentBranch/* /}...themsaid:${br/* /}\?expand\=1}
alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"alias wip="git add . && git commit -m 'wip'"alias nah="git reset --hard && git clean -df"alias p="phpunit"alias pf="phpunit --filter "alias art="php artisan"alias migrate="php artisan migrate"
alias a="php artisan"alias pu="vendor/bin/phpunit"alias puf="vendor/bin/phpunit --filter "alias pug="vendor/bin/phpunit --group "alias cdo="composer dump-autoload -o"alias serve="php artisan serve"
alias pa='php artisan'alias par:l='php artisan route:list'alias pam='php artisan migrate'alias pam:r='php artisan migrate:refresh'alias pam:rs='php artisan migrate:refresh --seed'alias cu='composer update'alias ci='composer install'alias cda='composer dump-autoload -o'alias vu='cd ~/Homestead && vagrant up'alias vs='vagrant suspend'alias vssh='vagrant ssh'
alias artisan = "php artisan"alias db-reset="php artisan migrate:reset && php artisan migrate --seed"
alias a="php artisan"
alias _='sudo'alias art='php artisan'alias tinker='php artisan tinker'alias ll="ls -lh"alias la='ls -lAh'alias c='composer'alias iphp='psysh' # replalias g='git'alias gs='git status'alias d='docker'alias dc='docker-compose'alias dm='docker-machine'alias k='kubectl'alias publicip='dig +short myip.opendns.com @resolver1.opendns.com'alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome" # Show file and folder permissions as octal# Usage: `octal file.txt` or `octal my/path`alias octal="stat -f '%A %a %N'" # Mac conveniences for Linuxalias pbcopy='xclip -selection clipboard'alias pbpaste='xclip -selection clipboard -o'if type "xdg-open" &> /dev/null; then alias open="xdg-open"fi
nah: aliased to git reset --hard && git clean -fdaa: aliased to php artisan
# Hub (extend git commands)alias git=hub # Directoriesalias ll='ls -FGlAhp'alias ..="cd ../"alias ...="cd ../../"alias ....="cd ../../../"alias .....="cd ../../../../" alias df="df -h"alias diskusage="df"alias fu="du -ch"alias folderusage="fu"alias tfu="du -sh"alias totalfolderusage="tfu" alias finder='open -a 'Finder' .' # Vagrantalias vagrantgo="vagrant up && vagrant ssh"alias vgo="vagrantgo"alias vhalt="vagrant halt"alias vreload="vagrant reload && vgo" # PHPalias c='composer'alias cr='composer require'alias cda='composer dumpautoload'alias co='composer outdated --direct'alias update-global-composer='cd ~/.composer && composer update'alias composer-update-global='update-global-composer' alias a='php artisan'alias pa='php artisan'alias phpa='php artisan'alias art='php artisan'alias arti='php artisan' alias test='vendor/bin/phpunit' alias y='yarn'alias yr='yarn run' # Homesteadalias edithomestead='open -a "Visual Studio Code" ~/Homestead/Homestead.yaml'alias homesteadedit='edithomestead'alias dev-homestead='cd ~/Homestead && vgo'alias homestead-update='cd ~/Homestead && vagrant box update && git pull origin master'alias update-homestead='homestead-update' # Variousalias editaliases='open -a "Visual Studio Code" ~/.bash_aliases'alias showpublickey='cat ~/.ssh/id_ed25519.pub'alias ip="curl icanhazip.com"alias localip="ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'"alias copy='rsync -avv --stats --human-readable --itemize-changes --progress --partial' # Functionsmkcdir (){ mkdir -p -- "$1" && cd -P -- "$1"} function homestead() { ( cd ~/Homestead && vagrant $* )}
alias ars="php artisan serve"alias art="php artisan tinker"
alias l="php artisan"
alias unit='php vendor/phpunit/phpunit/phpunit' alias unitreport='php -d xdebug.profiler_enable=On vendor/phpunit/phpunit/phpunit --coverage-html=./public/report' alias laravel-installer='composer create-project --prefer-dist laravel/laravel'
alias artisan="php artisan"alias cclear='php artisan cache:clear'# now with 5.5alias fresh="artisan migrate:fresh --seed"
alias pf="phpunit --filter"alias artisan="php artisan"alias tinker="php artisan tinker"
waunakeesoccer1
alias mfs="php artisan migrate:fresh --seed'
Eric is the creator of Laravel News and has been covering Laravel since 2012.