For the purposes of these tips, every tip will assume these are the last three commands you ran: % which firefox % make % ./foo -f foo.conf % vi foo.c bar.c Getting stuff from the last command: Full line: % !! becomes: % vi foo.c bar.c Last arg : % svn ci !$ becomes: % svn ci bar.c All args : % svn ci !* becomes: % svn ci foo.c bar.c First arg: % svn ci !!:1 becomes: % svn ci foo.c Accessing commandlines by pattern: Full line: % !./f becomes: % ./foo -f foo.conf Full line: % vi `!whi` becomes: % vi `which firefox` By Number: % !2 becomes: % ./foo -f foo.conf Last arg : % vi !./f:$ becomes: % vi foo.conf All args : % ./bar !./f:* becomes: % ./bar -f foo.conf First arg: % svn ci !vi:1 becomes: % svn ci foo.c Various shells have options that can affect this. Be careful with shells that let you share history among instances. Some shells also allow bang commands to be expanded with tabs or expanded and reloaded on the command line for further editing when you press return. Thanks to "Kevin Lyda" Bash, which is the default shell in Linux contains a whole lot of key bindings which makes it really easy to use . The most commonly used shortcuts are listed below : ____________CTRL Key Bound_____________ Ctrl + a - Jump to the start of the line Ctrl + b - Move back a char Ctrl + c - Terminate the command Ctrl + d - Delete from under the cursor Ctrl + e - Jump to the end of the line Ctrl + f - Move forward a char Ctrl + k - Cut to EOL Ctrl + l - Clear the screen Ctrl + r - Search the history backwards Ctrl + R - Search the history backwards with multi occurrence Ctrl + t - Swap last two chars, teh->the Ctrl + u - Delete backward from cursor Ctrl + w - Delete previous word Ctrl + xx - Move between EOL and current cursor position Ctrl + x @ - Show possible hostname completions Ctrl + y - Yank/Paste what you cut previously Ctrl + z - Suspend/ Stop the command ____________ALT Key Bound___________ Alt + < - Move to the first line in the history Alt + > - Move to the last line in the history Alt + ? - Show current completion list Alt + * - Insert all possible completions Alt + / - Attempt to complete filename Alt + . - Yank last argument to previous command Alt + b - Move backward Alt + c - Capitalize the word Alt + d - Delete word Alt + f - Move forward Alt + l - Make word lowercase Alt + n - Search the history forwards non-incremental Alt + p - Search the history backwards non-incremental Alt + r - Recall command Alt + t - Move words around Alt + u - Make word uppercase Alt + back-space - Delete backward from cursor ----------------More Special Keybindings------------------- Here "2T" means Press TAB twice $ 2T - All available commands(common) $ (string)2T - All available commands starting with (string) $ /2T - Entire directory structure including Hidden one $ 2T - Only Sub Dirs inside including Hidden one $ *2T - Only Sub Dirs inside without Hidden one $ ~2T - All Present Users on system from "/etc/passwd" $ $2T - All Sys variables $ @2T - Entries from "/etc/hosts" $ =2T - Output like ls or dir --------------Some More from Digg Comments----------------- !# repeat command from history where # is line number