Comando para 're-aplicar' o comando anterior?

1

Existe uma maneira fácil de reaplicar um comando anterior a uma nova entrada de linha de comando?

Digamos que eu digitei chmod u+r,g+x file.txt , mas esqueci o sudo. Eu poderia simplesmente digitar sudo <some easy symbol> '?

    
por tdm 28.07.2014 / 18:18

3 respostas

5

Você pode fazer:

sudo !!

Outra boa é alt . , para inserir o último parâmetro do comando anterior

    
por 28.07.2014 / 18:21
4

Pressione up seta, pressione ctrl+a , escreva sudo , pressione enter .

    
por 28.07.2014 / 18:20
1

Existem alguns atalhos básicos do bash você deve saber ...

Ctrl + A    Go to the beginning of the line you are currently typing on
Ctrl + E    Go to the end of the line you are currently typing on
Ctrl + L    Clears the Screen.
Ctrl + U    Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H    Same as backspace
Ctrl + R    Let’s you search through previously used commands
Ctrl + D    Exit the current shell
Ctrl + W    Delete the word before the cursor
Ctrl + K    Clear the line after the cursor
Ctrl + T    Swap the last two characters before the cursor
Esc + T     Swap the last two words before the cursor
Alt + F     Move cursor forward one word on the current line
Alt + B     Move cursor backward one word on the current line
Tab         Auto-complete files and folder names

No seu caso específico, também alias h to history|grep .

Tal que:

# mco service sendmail status -F operatingsystemmajrelease=6

E eu preciso adicionar algo para isso ...

# h mco

Que mostra ...

  114  07-28-2014 09:33:25  mco package sendmail install -F operatingsystemmajrelease=6
  115  07-28-2014 09:33:25  mco service sendmail status -F operatingsystemmajrelease=6
  116  07-28-2014 09:33:25  mco package sendmail-cf install -F operatingsystemmajrelease=6

E eu quero a linha # 116 ... Então eu digito:

# !115

Mas se eu precisar de algo na frente dele (por exemplo, sudo ), eu faria ...

# sudo !115
    
por 28.07.2014 / 18:35