Nếu bạn đã cài đặt mới hoặc sạch OS X phiên bản 10.3 trở lên, trình bao đầu cuối người dùng mặc định là bash.
Bash về cơ bản là một phiên bản phần mềm miễn phí GNU và nâng cao của vỏ Bourne gốc, sh. Nếu bạn đã có kinh nghiệm với bash trước đó (thường là mặc định trên các bản cài đặt GNU / Linux), điều này làm cho trải nghiệm dòng lệnh OS X trở nên quen thuộc, nếu không, hãy cân nhắc chuyển shell của bạn sang tcsh hoặc zsh, vì một số thấy những điều này thân thiện với người dùng hơn.
Nếu bạn nâng cấp từ hoặc sử dụng OS X phiên bản 10.2.x, 10.1.x hoặc 10.0.x, trình bao người dùng mặc định là tcsh, một phiên bản nâng cao của csh ('c-shell'). Việc triển khai ban đầu có một chút lỗi và cú pháp lập trình hơi kỳ lạ nên nó đã phát triển một đoạn rap tệ.
Vẫn có một số khác biệt cơ bản giữa mac và linux như Gordon Davisson liệt kê một cách khéo léo, ví dụ như không có useradd
trên Mac và ifconfig
hoạt động khác nhau.
Bảng sau rất hữu ích để biết các shell unix khác nhau.
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
Bạn cũng có thể thấy những hướng dẫn này hữu ích:
http://homepage.mac.com/rgriff/files/TerminalBasics.pdf
http://guides.macrumors.com/Terminal
http://www.ofb.biz/safari/article/476.html
Lưu ý cuối cùng, tôi đang sử dụng Linux (Ubuntu 11) và Mac osX nên tôi sử dụng bash và điều tôi thích nhất là tùy chỉnh tệp .bashrc (nguồn từ .bash_profile
trên OSX) bằng bí danh, một số ví dụ bên dưới. Bây giờ tôi đã đặt tất cả bí danh của mình trong một tệp .bash_aliases riêng biệt và bao gồm nó với:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
trong tệp .bashrc hoặc .bash_profile.
Lưu ý rằng đây là một ví dụ về sự khác biệt giữa mac-linux vì trên máy Mac, bạn không thể có--color=auto
. Lần đầu tiên tôi làm điều này (mà không biết) tôi đã xác định lại ls
là không hợp lệ, điều này hơi đáng báo động cho đến khi tôi xóa --auto-color
!
Bạn cũng có thể thấy https://unix.stackexchange.com/q/127799/10043 hữu ích
# ~/.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'