最後のコマンド(cd、ls、echo 以外)の引数を使用してコマンドを再実行するショートカットはありますか?

最後のコマンド(cd、ls、echo 以外)の引数を使用してコマンドを再実行するショートカットはありますか?

渡されたログファイルを次のように検索します。

/path/to/logfile | grep -iEw 'ここの IP アドレス | ここの対応する MAC アドレス'

これにより、これまでに渡されたすべてのログ行が表示されるので、何が起こったかを確認できます。次に、何が起こっているかを確認したいので、次のものを取得する必要がありcatますtail -f

テール-f/path/to/logfile | grep -iEw 'ここの IP アドレス | ここの対応する MAC アドレス'

答え1

!!:*最後のコマンド ラインの 0 番目を除くすべての単語を参照するには、を使用できます。

!!前のコマンドを参照し、:イベント指定を単語指定子から分離し、*0 番目以外のすべての単語を参照します。

HISTORY EXPANSIONこれはbash(1)のセクションからのものです。

wieland@host in ~» cat foo | grep bar
bar
wieland@host in ~» tail -f !!:*
tail -f foo | grep bar
bar

^string1^string2^クイック置換を使用して、最後のコマンドを繰り返し、string1次のように置き換えることもできますstring2

wieland@host in ~» cat foo | grep bar
bar
wieland@host in ~» ^cat^tail -f
tail -f foo | grep bar
bar

答え2

  1. UpまたはCtrl+を押すPと、前の行が呼び出されます。前の行などが必要な場合は、これを繰り返します。
  2. HomeまたはCtrl+ を押すAと行の先頭に移動します。
  3. Alt+を押すDと、カーソルの下の単語、つまり置き換えたいコマンドが削除されます。
  4. 今すぐ実行したいコマンドを入力します。
  5. 押すEnterとコマンドが実行されます。

関連情報