หากคุณทำการติดตั้ง OS X เวอร์ชัน 10.3 ใหม่หรือใหม่กว่าทั้งหมดเทอร์มินัลเชลล์ของผู้ใช้เริ่มต้นจะเป็น bash
Bash เป็นเวอร์ชันฟรีแวร์ที่ได้รับการปรับปรุงและ GNU ของ Bourne shell ดั้งเดิม sh. หากคุณมีประสบการณ์ในการใช้ bash มาก่อน (มักจะเป็นค่าเริ่มต้นในการติดตั้ง GNU / Linux) สิ่งนี้จะทำให้ประสบการณ์บรรทัดคำสั่ง OS X คุ้นเคยมิฉะนั้นให้ลองเปลี่ยนเชลล์ของคุณเป็น tcsh หรือ zsh เนื่องจากบางคนพบว่าสิ่งเหล่านี้ใช้งานง่ายกว่า
หากคุณอัปเกรดหรือใช้ OS X เวอร์ชัน 10.2.x, 10.1.x หรือ 10.0.x เชลล์ผู้ใช้เริ่มต้นคือ tcsh ซึ่งเป็นเวอร์ชันปรับปรุงของ csh ('c-shell') การใช้งานในช่วงแรกนั้นค่อนข้างมีข้อผิดพลาดและไวยากรณ์การเขียนโปรแกรมค่อนข้างแปลกดังนั้นจึงพัฒนาแร็พที่ไม่ดี
ยังคงมีความแตกต่างพื้นฐานบางประการระหว่าง mac และ linux เนื่องจาก Gordon Davisson แสดงรายการที่เหมาะสมเช่นไม่มีuseradd
บน Mac และifconfig
ทำงานแตกต่างกัน
ตารางต่อไปนี้มีประโยชน์ในการทำความรู้จักกับเปลือกหอยต่างๆ
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
คุณอาจพบว่าคำแนะนำเหล่านี้มีประโยชน์:
http://homepage.mac.com/rgriff/files/TerminalBasics.pdf
http://guides.macrumors.com/Terminal
http://www.ofb.biz/safari/article/476.html
ในบันทึกสุดท้ายฉันใช้ Linux (Ubuntu 11) และ Mac osX ดังนั้นฉันจึงใช้ bash และสิ่งที่ฉันชอบมากที่สุดคือการปรับแต่งไฟล์. bashrc (ที่มาจาก.bash_profile
บน OSX) ด้วยนามแฝงตัวอย่างด้านล่าง ตอนนี้ฉันวางนามแฝงทั้งหมดไว้ในไฟล์. bash_aliases แยกต่างหากและรวมไว้กับ:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
ในไฟล์. bashrc หรือ. bash_profile
โปรดทราบว่านี่เป็นตัวอย่างของความแตกต่างของ mac-linux เนื่องจากบน Mac คุณไม่มีไฟล์--color=auto
. ครั้งแรกที่ฉันทำสิ่งนี้ (โดยไม่รู้ตัว) ฉันนิยามใหม่ls
ว่าไม่ถูกต้องซึ่งค่อนข้างน่าตกใจจนกระทั่งฉันลบออก--auto-color
!
คุณอาจพบว่าhttps://unix.stackexchange.com/q/127799/10043มีประโยชน์
alias la='ls -A'
alias l='ls -alFtr'
alias lsd='ls -d .*'
alias h='history | tail'
alias hg='history | grep'
alias mv='mv -i'
alias zap='rm -i'
alias p='pwd'
alias x='exit'
alias {ack,ak}='ack-grep'
alias s='cd ..'
alias play='cd ~/play/'
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 '
WORKBASE="~/Dropbox/97_2012/work"
alias work="cd $WORKBASE"
alias code="cd $WORKBASE/ror/code"
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"
alias {gsta,gst}='git status'
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 '
alias v='vim'
alias {ton,tn}='tmux set -g mode-mouse on'
alias {tof,tf}='tmux set -g mode-mouse off'
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'