一行コマンドを保存/記憶する方法

一行コマンドを保存/記憶する方法

通常、UNIX ベースのシステムを構成して調整する際に覚えにくい 1 行のコマンドを多く使用します。たとえば、実行中のntp(タイムサーバー)のバージョンを確認するには、次のコマンドを実行できます。

ntpq -c "rv 0 version"

これは私が決して覚えていないことです。これらの単一のコード行をすべて保存して簡単に表示し、必要に応じてコマンドラインに貼り付ける方法はありますか? (私はemacsではなくvim btwを使用しているので、emacs中心のソリューションは実際には役に立ちません。)シェルバッファで現在のテキスト行を実行する方法があると思いましたが、そのようなコマンドが見つかりませんでした。

私が持っている1つのアイデアは、コマンドをテキストファイルに入れて、vimrcで次の行を作成することでした。

nnoremap <F10> :.w !bash<CR>

それでは、私のファイルに次の行があるとしましょう。

ntpq -c "rv 0 version"    # show current version of NTP which is running

その後、この行にカーソルを置いてF10を押すと機能しました(コマンドはbashに送信されるため、vimコメントではなくbashコメント(#)を使用します)。これは正しい方向に進むステップのようです。より良いアイデアがありますか?

答え1

エイリアスを使ってみましたか?

はい

新しいコマンドのエイリアスを作成します。

alias ntpversion='ntpq -c "rv 0 version"'

実行コマンド:

ntpversion

ntpversionをエイリアスに設定した後、ntpversionを実行すると、単一のコード行の出力が得られます。

http://www.linuxhowtos.org/Tips%20and%20Tricks/command_aliases.htm

答え2

vimでコマンドを実行する

vimについて質問しました。 vimでは、ショートカットを使用してファイルを作成できます。次の行があります。

!ntpq -c "rv 0 version"

その後、その行を次の場所にコピーできます。ウィムコマンドライン(:)を実行します。 vimで始まる行は、!Enterキーを押したときに実行するシェルを提供するためです。 vimを離れる必要はありません。

vim設定を使用してマウスをクリックし、入力してコマンドラインを開き、:Shift-Insertを押してその行を貼り付ける方法で、その行をX11バッファにコピーしました。 Vimは設定が非常に可能で、設定が異なる場合があります。それでは、一度見てくださいこの投稿コマンドラインに貼り付ける別の方法を学びます。

コマンドを次に保存します。~/.bashrc

あるいは、bashエイリアスまたは関数をファイルに追加することもできます~/.bashrc。一般的なエイリアスは次のとおりです。

alias ll="ls --color -l"

上記の行をファイル(またはそのファイルから派生した他のファイル)に入れると、その~/.bashrc内容を見たいときにすべてのコンテンツを便利な場所に保存できます。

エイリアスはシンプルで便利ですが、制限があります。引数の処理、算術の実行など、より多くの機能が必要な場合は、bash関数について読むことをお勧めします。に保存することもできます~/.bashrc

答え3

あなたはあなたの歴史を本当に大きくした後、そこから何かを実装することができます。
そして、commandlinefu.com...
保存したプレーンテキストファイルにこれらの行をすべて記録できます。

私はこのようなコンテンツ(および追加のドキュメント)を入れるプライベートハーバリインスタンスを実行します。

関連情報