Si vous avez effectué une nouvelle installation ou une nouvelle installation d'OS X version 10.3 ou plus récente, le shell du terminal utilisateur par défaut est bash.
Bash est essentiellement une version améliorée et gratuite GNU du shell Bourne original, sh. Si vous avez une expérience antérieure avec bash (souvent la valeur par défaut sur les installations GNU / Linux), cela rend l'expérience de la ligne de commande OS X familière, sinon envisagez de passer votre shell soit à tcsh, soit à zsh, car certains les trouvent plus conviviales.
Si vous avez mis à niveau ou que vous utilisez OS X version 10.2.x, 10.1.x ou 10.0.x, le shell utilisateur par défaut est tcsh, une version améliorée de csh ('c-shell'). Les premières implémentations étaient un peu boguées et la syntaxe de programmation un peu bizarre, donc cela a développé une mauvaise réputation.
Il existe encore des différences fondamentales entre mac et linux, comme Gordon Davisson le répertorie si bien, par exemple non useradd
sur Mac et ifconfig
fonctionne différemment.
Le tableau suivant est utile pour connaître les différents shells Unix.
sh The original Bourne shell Present on every unix system
ksh Original Korn shell Richer shell programming environment than sh
csh Original C-shell C-like syntax; early versions buggy
tcsh Enhanced C-shell User-friendly and less buggy csh implementation
bash GNU Bourne-again shell Enhanced and free sh implementation
zsh Z shell Enhanced, user-friendly ksh-like shell
Vous pouvez également trouver ces guides utiles:
http://homepage.mac.com/rgriff/files/TerminalBasics.pdf
http://guides.macrumors.com/Terminal
http://www.ofb.biz/safari/article/476.html
Sur une note finale, je suis sous Linux (Ubuntu 11) et Mac osX donc j'utilise bash et ce que j'aime le plus est de personnaliser le fichier .bashrc (source .bash_profile
sur OSX) avec des alias, quelques exemples ci-dessous. J'ai maintenant placé tous mes alias dans un fichier .bash_aliases séparé et je l'inclus avec:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
dans le fichier .bashrc ou .bash_profile.
Notez qu'il s'agit d'un exemple de différence mac-linux car sur un Mac, vous ne pouvez pas avoir le--color=auto
. La première fois que j'ai fait cela (sans le savoir), j'ai redéfini ls
comme invalide ce qui était un peu alarmant jusqu'à ce que je le supprime --auto-color
!
Vous pouvez également trouver https://unix.stackexchange.com/q/127799/10043 utile
# ~/.bash_aliases
# ls variants
#alias l='ls -CF'
alias la='ls -A'
alias l='ls -alFtr'
alias lsd='ls -d .*'
# Various
alias h='history | tail'
alias hg='history | grep'
alias mv='mv -i'
alias zap='rm -i'
# One letter quickies:
alias p='pwd'
alias x='exit'
alias {ack,ak}='ack-grep'
# Directories
alias s='cd ..'
alias play='cd ~/play/'
# Rails
alias src='script/rails console'
alias srs='script/rails server'
alias raked='rake db:drop db:create db:migrate db:seed'
alias rvm-restart='source '\''/home/durrantm/.rvm/scripts/rvm'\'''
alias rrg='rake routes | grep '
alias rspecd='rspec --drb '
#
# DropBox - syncd
WORKBASE="~/Dropbox/97_2012/work"
alias work="cd $WORKBASE"
alias code="cd $WORKBASE/ror/code"
#
# DropNot - NOT syncd !
WORKBASE_GIT="~/Dropnot"
alias {dropnot,not}="cd $WORKBASE_GIT"
alias {webs,ww}="cd $WORKBASE_GIT/webs"
alias {setups,docs}="cd $WORKBASE_GIT/setups_and_docs"
alias {linker,lnk}="cd $WORKBASE_GIT/webs/rails_v3/linker"
#
# git
alias {gsta,gst}='git status'
# Warning: gst conflicts with gnu-smalltalk (when used).
alias {gbra,gb}='git branch'
alias {gco,go}='git checkout'
alias {gcob,gob}='git checkout -b '
alias {gadd,ga}='git add '
alias {gcom,gc}='git commit'
alias {gpul,gl}='git pull '
alias {gpus,gh}='git push '
alias glom='git pull origin master'
alias ghom='git push origin master'
alias gg='git grep '
#
# vim
alias v='vim'
#
# tmux
alias {ton,tn}='tmux set -g mode-mouse on'
alias {tof,tf}='tmux set -g mode-mouse off'
#
# dmc
alias {dmc,dm}='cd ~/Dropnot/webs/rails_v3/dmc/'
alias wf='cd ~/Dropnot/webs/rails_v3/dmc/dmWorkflow'
alias ws='cd ~/Dropnot/webs/rails_v3/dmc/dmStaffing'