Shell


rsync - recursive file copying
    rsync --progress --recursive --update "/path/to/source/files/*" "/path/to/destination"
    read

more information


copy a file
    \cp "/full/path/to/file" "/full/path/to/new/destination"

BASH:

create an alias
    # Open the file where the alias should be added
    gedit ~/.bashrc
    
    # Syntax for adding the alias
    alias alias_name="alias command"

CSH:

create an alias
    # Open the file where the alias should be added
    gedit ~/.cshrc
    
    # Syntax for adding the alias
    alias alias_name "alias command"
    
    # Syntax for adding a variable
    alias alias_name "alias command \!$"
    # Running "alias_name test" will run "alias command test"
    
    # Syntax for multi-line aliases
    alias aliasname "alias command 1 ; alias command 2"

TMUX

shell commands
    # Start a tmux session
    tmux
    
    # Get a list of all tmux sessions
    tmux ls
    
    # Attach an existing session
    tmux attach -t session_name
key bindings within tmux
    ctrl d = close a pane / window
    page up / page down = scroll up / down
    
    ctrl b = prefix
    
    prefix $ = renames the current session
    
    prefix c = creates a new window
    prefix , = renames the current window
    
    prefix [0-9] = selects a window
    prefix n = selects the next window
    
    prefix % = split window horizontally
    prefix " = split window vertically
    
    prefix [arrow key] = select pane
    prefix ctrl [arrow key] = resize the current pane
    prefix z = full screen the current pane
    
    prefix & = kills the current window
    prefix x = kills the current pane
    prefix d = detaches the session
    
    prefix ?: get list of all key bindings

VIM

the absolute basics
    : = enters command line mode
    w = write
    q = quit
    
    i = enters insert mode
    esc = exits insert mode