!!
está listado no manual bash
sob o título "Designadores de evento":
An event designator is a reference to a command line entry in the
history list. Unless the reference is absolute, events are relative
to the current position in the history list.
! Start a history substitution, except when followed by a
blank, newline, carriage return, = or ( (when the extglob
shell option is enabled using the shopt builtin).
!n Refer to command line n.
!-n Refer to the current command minus n.
!! Refer to the previous command. This is a synonym for '!-1'.
!string
Refer to the most recent command preceding the current posi-
tion in the history list starting with string.
!?string[?]
Refer to the most recent command preceding the current posi-
tion in the history list containing string. The trailing ?
may be omitted if string is followed immediately by a new-
line.
^string1^string2^
Quick substitution. Repeat the previous command, replacing
string1 with string2. Equivalent to
''!!:s/string1/string2/'' (see Modifiers below).
!# The entire command line typed so far.
Então !!
será substituído pelo comando anterior.
Observe que o histórico do shell não conterá o literal !!
, mas sim o comando real que foi executado:
$ ls
[some output]
$ !! .
[same output]
$ history 3
645 2016-08-25 17:40:55 ls
646 2016-08-25 17:40:57 ls .
647 2016-08-25 17:41:00 history 3