zoukankan      html  css  js  c++  java
  • Bash history cheat sheet

    .---------------------------------------------------------------------------.
    |                                                                           |
    |                          Bash History Cheat Sheet                         |
    |                                                                           |
    '---------------------------------------------------------------------v1.12-'
    | Created by Peter Krumins (peter@catonmat.net, @pkrumins on twitter)       |
    | www.catonmat.net -- good coders code, great coders reuse                  |
    |                                                                           |
    | Released under the GNU Free Document License                              |
    '---------------------------------------------------------------------------'
    
     ===================== Emacs Keyboard Shortcut Summary =====================
    
    .--------------.------------------------------------------------------------.
    |              |                                                            |
    | Shortcut     | Description                                                |
    |              |                                                            |
    '--------------+------------------------------------------------------------'
    | C-p          | Fetch the previous command from the history list.          |
    '--------------+------------------------------------------------------------'
    | C-n          | Fetch the next command from the history list.              |
    '--------------+------------------------------------------------------------'
    | M-<          | Move to the first line in the history.                     | 
    '--------------+------------------------------------------------------------'
    | M->          | Move to the end of the input history.                      |
    '--------------+------------------------------------------------------------'
    | C-r          | Search backward starting at the current line (incremental) |
    '--------------+------------------------------------------------------------'
    | C-s          | Search forward starting at the current line (incremental). |
    '--------------+------------------------------------------------------------'
    | M-p          | Search backward using non-incremental search.              |
    '--------------+------------------------------------------------------------'
    | M-n          | Search forward using non-incremental search                |
    '--------------'------------------------------------------------------------'
    
     ======================= Vi Keyboard Shortcut Summary ======================
    
    .--------------.------------------------------------------------------------.
    |              |                                                            |
    | Shortcut     | Description                                                |
    |              |                                                            |
    '--------------+------------------------------------------------------------'
    | k            | Fetch the previous command from the history list.          |
    '--------------+------------------------------------------------------------'
    | j            | Fetch the next command from the history list.              |
    '--------------+------------------------------------------------------------'
    | /string or   | Search history backward for a command matching string.     |
    | CTRL-r       |                                                            |
    '--------------+------------------------------------------------------------'
    | ?string or   | Search history forward for a command matching string.      |
    | CTRL-s       | (Note that on most machines Ctrl-s STOPS the terminal      |
    |              | output, change it with `stty' (Ctrl-q to resume)).         |
    '--------------+------------------------------------------------------------'
    | n            | Repeat search in the same direction as previous.           |
    '--------------+------------------------------------------------------------'
    | N            | Repeat search in the opposite direction as previous.       |
    '--------------+------------------------------------------------------------'
    | G            | Move to history line N (for example, 15G).                 |
    '--------------'------------------------------------------------------------'
    
     ======================== History Expansion Summary ========================
     
     Event Designators:
    
    .--------------.------------------------------------------------------------.
    |              |                                                            |
    | Designator   | Description                                                |
    |              |                                                            |
    '--------------+------------------------------------------------------------'
    | !            | Start a history substitution.                              |
    '--------------+------------------------------------------------------------'
    | !!           | Refer to the last command.                                 |
    '--------------+------------------------------------------------------------'
    | !n           | Refer to the n-th command line (try `history' command).    |
    '--------------+------------------------------------------------------------'
    | !-n          | Refer to the current command line minus n.                 |
    '--------------+------------------------------------------------------------'
    | !string      | Refer to the most recent command starting with 'string'.   |
    '--------------+------------------------------------------------------------'
    | !?string?    | Refer to the most recent command containing 'string'.      |
    '--------------+------------------------------------------------------------'
    | ^str1^str2^  | Quick substitution. Repeat the last command, replacing     |
    |              | 'str1' with 'str2'.                                        |
    '--------------+------------------------------------------------------------'
    | !#           | Refer to the entire command line typed so far.             |
    '--------------'------------------------------------------------------------'
    
     Word Designators:
     (Word designators follow the event designators, separated by a collon ':')
    
    .--------------.------------------------------------------------------------.
    |              |                                                            |
    | Designator   | Description                                                |
    |              |                                                            |
    '--------------+------------------------------------------------------------'
    | 0            | The zeroth (first) word in a line (usually command name).  |
    '--------------+------------------------------------------------------------'
    | n            | The n-th word in a line.                                   |
    '--------------+------------------------------------------------------------'
    | ^            | The first argument (the second word) in a line.            |
    '--------------+------------------------------------------------------------'
    | $            | The last argument in a line.                               |
    '--------------+------------------------------------------------------------'
    | %            | The word matched by the most recent string search.         |
    '--------------+------------------------------------------------------------'
    | x-y          | A range of words from x to y (-y is synonymous with 0-y).  |
    '--------------+------------------------------------------------------------'
    | *            | All words but the zeroth (synonymous with 1-$).            |
    '--------------+------------------------------------------------------------'
    | x*           | Synonymous with x-$                                        |
    '--------------+------------------------------------------------------------'
    | x-           | The words from x to the second to last word.               |
    '--------------'------------------------------------------------------------'
    
     Modifiers (modifiers follow word designators, separated by a colon):
    
    .--------------.------------------------------------------------------------.
    |              |                                                            |
    | Modifier     | Description                                                |
    |              |                                                            |
    '--------------+------------------------------------------------------------'
    | h            | Remove a trailing pathname component, leaving the head.    |
    '--------------+------------------------------------------------------------'
    | t            | Remove all leading pathname component, leaving the tail.   |
    '--------------+------------------------------------------------------------'
    | r            | Remove a trailing suffix of the form .xxx, leaving the     |
    |              | basename.                                                  |
    '--------------+------------------------------------------------------------'
    | e            | Remove all but the trailing suffix.                        |
    '--------------+------------------------------------------------------------'
    | p            | Print the resulting command but do not execute it.         |
    '--------------+------------------------------------------------------------'
    | q            | Quotes the substituted words, escaping further             |
    |              | substitutions.                                             |
    '--------------+------------------------------------------------------------'
    | x            | Quotes the substituted words, breaking them into words at  |
    |              | blanks and newlines.                                       |
    '--------------+------------------------------------------------------------'
    | s/old/new/   | Substitutes 'new' for 'old'.                               |
    '--------------+------------------------------------------------------------'
    | &            | Repeats the previous substitution.                         |
    '--------------+------------------------------------------------------------'
    | g            | Causes s/old/new/ or & to be applied over the entire       |
    |              | event line.                                                |
    '--------------'------------------------------------------------------------'
    
     ============ History Behavior Modification via Shell Variables ============
    
    .----------------.----------------------------------------------------------.
    |                |                                                          |
    | Shell Variable | Description                                              |
    |                |                                                          |
    '----------------+----------------------------------------------------------'
    | HISTFILE       | Controls where the history file gets saved.              |
    |                | Set to /dev/null not to save the history.                |
    |                | Default: ~/.bash_history                                 |
    '----------------+----------------------------------------------------------'
    | HISTFILESIZE   | Controls how many history commands to keep in HISTFILE   |
    |                | Default: 500                                             |
    '----------------+----------------------------------------------------------'
    | HISTSIZE       | Controls how many history commands to keep in the        |
    |                | history list of current session.                         |
    |                | Default: 500                                             |
    '----------------+----------------------------------------------------------'
    | HISTIGNORE     | Controls which commands to ignore and not save to the    |
    |                | history list. The variable takes a list of               |
    |                | colon separated values. Pattern & matches the previous   |
    |                | history command.                                         |
    '----------------'----------------------------------------------------------'
    
     ============ History Behavior Modification via `shopt' Command ============
    
    .----------------.----------------------------------------------------------.
    |                |                                                          |
    | shopt Option   | Description                                              |
    |                |                                                          |
    '----------------+----------------------------------------------------------'
    | histappend     | Setting the variable appends current session history to  |
    |                | HISTFILE. Unsetting overwrites the file each time.       |
    '----------------+----------------------------------------------------------'
    | histreedit     | If set, puts a failed history substitution back on the   |
    |                | command line for re-editing.                             |
    '----------------+----------------------------------------------------------'
    | histverify     | If set, puts the command to be executed after a          |
    |                | substitution on command line as if you had typed it.     |
    '----------------'----------------------------------------------------------'
    
     shopt options can be set by a `shopt -s option' and
     can be unset by             a `shopt -u option'.
    
     =============================== Examples ==================================
    
     $ echo a b c d e    (executes `echo ab c d e`)
     a b c d e
    
     $ echo !!:3-$       (executes `echo c d e`)
     c d e
    
     $ echo !-2:*:q      (executes `echo 'a b c d e'`)
     a b c d e
    
     $ echo !-3:1:2:4:x  (executes `echo 'a' 'b' 'd'`)
     a b d
    
     $ echo !-4:1-3:s/a/foo/:s/b/bar/:s/c/baz/ (executes `echo foo bar baz`)
     foo bar baz
    
     $ tar -xzf package-x.y.z.tgz
     ...
     $ cd !-1:$:r        (executes `cd package-x.y.z`)
     package-x.y.z $
     
     $ ls -a /tmp
     file1  file2  file3 ...
    
     $ ^-a^-l^           (executes `ls -l /tmp`)
     -rw-------  1  user  user  file1
     ...
    
     ===========================================================================
    
    .---------------------------------------------------------------------------.
    | Created by Peter Krumins (peter@catonmat.net, @pkrumins on twitter)       |
    | www.catonmat.net -- good coders code, great coders reuse                  | 
    '---------------------------------------------------------------------------'
  • 相关阅读:
    查看Oracle连接数 限制某个用户的连接数
    (原创网上办法经过改良)系统重装后,如何快速的回复oracle 10g(测试环境:windows server 2003 sp1+Oracle 10g)
    Response.Redirect报"正在中止进程"异常的处理
    快速使网页变灰色
    .NET创建Windows服务[转]
    [收集]javascript中得到当前窗口的高和宽
    [转帖]javascript版 UrlEncode和UrlDecode函数
    js异步读取xml(支持ff和xpath)
    辞职考研后记
    BCB6 E2494 Unrecognized __declspec modifier
  • 原文地址:https://www.cnblogs.com/Searchor/p/13468289.html
Copyright © 2011-2022 走看看