Skip to content

Instantly share code, notes, and snippets.

@hvnsweeting
Created December 26, 2012 03:21
Show Gist options
  • Save hvnsweeting/4377638 to your computer and use it in GitHub Desktop.
Save hvnsweeting/4377638 to your computer and use it in GitHub Desktop.

Hanoi, 2012/12/26

Introduction to Bash * Vim * Git

  • Tools for work efficently on Linux environment
  • Small * powerful * portable * easy to learn (but not easy to master)

Bash

bash - GNU Bourne-Again SHell

shell / script

  • For developer
    • shell: it's a must
  • For sysadmin
    • automate repeative tasks
  • Learning http://linuxcommand.org/
  • Why
    • Vs (shell) zsh, fish
    • vs (script language): python, ruby, perl, tcl, ...
    • Ubiquitous
  • Concluse
    learn once, run everywhere

Vim

vim - Vi IMproved, a programmers text editor

  • For developer
    • vi: keybinding
    • There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on*line help, visual selection, etc..
    • lot of addon: NERDTree, Ctag...
  • For sysadmin
    • vi is everywhere
  • Learning
    • vimtutor
  • why vim
    • Ubiquitous
    • vs pico/nano, emacs, GUI*editor, IDE
  • Concluse
    • when use vi/vim, please use it vim way
    • you dont have to code in vim, but you should know it

Git

git * the stupid content tracker

  • For developer
    • manage codes: branch, log, rollback
    • collaboration: github, bitbucket
  • For sysadmin
    • backup server configuration
    • deploy application: python * fabric, ruby * capisrano
  • Learning git
    • github document
    • man gittutorial
    • man gittutorial*2
    • man gitworkflows
  • why git
    • distributed SCM: better than SVN
    • v.s Mercurial (best UX), Bazaar
    • git is used for kernel
  • Concluse
    • It's just tool, go and write some code!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment