特定のファイルまたはディレクトリのエイリアスを設定するには?

特定のファイルまたはディレクトリのエイリアスを設定するには?

私が定期的に使用するファイルがいくつかあります。たとえば、いくつかの設定ファイルやログファイルがあります。 Apacheのログファイルを考えてみましょう。私はしばしばtailそれを望んでいますgrep。以下を書く代わりに:

tail -50 /var/log/apache2/error_log

私は書くことを好む

tail -50 apachelog

したがって、apachelogそのファイル名のエイリアスとして機能します。ただし、myにエイリアスを定義するには、bashrc後で参照できるようにファイル名のエイリアスにすることはできない完全なコマンドでなければなりません。これを達成する方法はありますか?

注:実行したいさまざまなファイルとさまざまなコマンドがあるため、これらのさまざまなオプションの関数やエイリアスを作成することは私の好みの解決策ではありません。

答え1

以下を使用して変数を定義し、$その値を呼び出すことができます。

apachelog=/var/log/apache2/error_log
tail -50 $apachelog

Bashではもっとうまくできません。 zshでは、コマンドラインのどこにでも展開されるグローバルエイリアスを定義できます。

alias -g apachelog=/var/log/apache2/error_log
tail -50 apachelog

apachelogただし、文字列をコマンドに引数として渡したい場合は、引用する必要があることを覚えておく必要があるため、これはお勧めできません。

答え2

関数を生成して「backwards」コマンドを作成できます。

apachelog() {
  "$@" /var/log/apache2/error_log
}

apachelog tail -50

答え3

ディレクトリのエイリアスはlinkです。そのため、1つの可能性は、ディレクトリに関心のあるファイルへの複数のリンクを作成することです。次に、tailにrtailのエイリアスを指定して、そのディレクトリ内のファイルを見つけます。

答え4

これをあなたの中に入れてください。~/.bashrc

 alias tailapache='tail -50 /var/log/apache2/error_log'

source ~/.bashrc新しいbashセッションを実行または開始します...

それからただ入るだけです。tailapache

関連情報