GNU/Linux >> Linux の 問題 >  >> Linux

Linuxシェルのコマンドラインエイリアス

これまでのところ、このチュートリアルシリーズでは、CDの基本的な使用法と関連する詳細、およびプッシュについて説明してきました。 / popd コマンド、および CDPATH 環境変数。この4回目と最後の記事では、エイリアスの概念と、エイリアスを使用してコマンドラインナビゲーションをより簡単かつスムーズにする方法について説明します。

As always, before jumping on to the heart of the tutorial, it's worth sharing that all the instructions as well examples presented in this article have been tested on Ubuntu 14.04LTS. The command line shell we've used is bash (version  4.3.11).

Linuxのコマンドラインエイリアス

素人の用語では、エイリアスは、引数やオプションを含む、複雑なコマンドまたはコマンドのグループの短い名前または略語と考えることができます。したがって、基本的に、エイリアスを使用すると、入力しにくい/覚えにくいコマンドの覚えやすい名前を作成できます。

たとえば、次のコマンドは、「cd〜」コマンドのエイリアス「home」を作成します。

alias home="cd ~"

つまり、システムのどこからでもホームディレクトリに戻りたいときはいつでも、「home」とすばやく入力してEnterキーを押すことができます。

このユーティリティについて、エイリアスコマンドのマニュアルページに記載されている内容は次のとおりです。

The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered

An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of IEEE Std 1003.1-2001, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell.

では、エイリアスはコマンドラインナビゲーションでどの程度正確に役立ちますか?さて、ここに簡単な例があります:

/ home / himanshu / projects / howtoforgeで作業しているとします。 さらに多くのサブディレクトリとサブサブディレクトリを含むディレクトリ。たとえば、次は1つの完全なディレクトリブランチです。

/home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final

ここで、「final」ディレクトリにいて、「tips-tricks」ディレクトリに戻り、そこから「howtoforge」ディレクトリに戻る必要があるとします。どうしますか?

通常は、次の一連のコマンドを実行します。

cd ../..
cd ../../..

このアプローチ自体は間違いではありませんが、特に、非常に長いパスに5つのディレクトリがある場合は特に、便利ではありません。それで、解決策は何ですか?答えは次のとおりです。エイリアス。

できることは、 cd .. ごとに覚えやすい(そしてタイプする)エイリアスを作成できることです。 コマンド。例:

alias bk1="cd .."
alias bk2="cd ../.."
alias bk3="cd ../../.."
alias bk4="cd ../../../.."
alias bk5="cd ../../../../.."

したがって、現在の作業ディレクトリから5か所などに戻りたいときはいつでも、次のコマンドを実行できます。

bk5

今は簡単ではありませんか?

関連する詳細

これまで(aliasコマンドを使用して)シェルプロンプトでエイリアスを定義するために使用した手法でうまくいきますが、エイリアスは現在のターミナルセッションにのみ存在します。自分で定義したエイリアスを保持して、後で起動する新しいコマンドラインターミナルウィンドウ/タブで使用できるようにする可能性があります。

このためには、〜/.bash_aliasesでエイリアスを定義する必要があります 〜/ .bashrcによって読み込まれるファイル デフォルトでファイル(古いバージョンのUbuntuを使用している場合はこれを確認してください)。

以下は、.bash_aliasesファイルについて説明している私の.bashrcファイルからの抜粋です。

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

エイリアス定義を.bash_aliasesファイルに追加すると、そのエイリアスはすべての新しい端末で利用できるようになります。ただし、そのエイリアスを定義したときにすでに開いていた他の端末では使用できません。その方法は、それらの端末から.bashrcを取得することです。実行する必要のある正確なコマンドは次のとおりです。

source ~/.bashrc

それが少し手間がかかるように聞こえる場合(はい、私はあなたのLAZY ONESを見ています)、これをすべて行うためのショートカットは次のとおりです:

"alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases

言うまでもなく、[エイリアス]を実際のコマンドに置き換える必要があります。例:

"alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases

次に、いくつかのエイリアスを作成し、それらを数か月間オンとオフで使用していると仮定します。突然、ある日、あなたはそれらの1つが期待どおりに機能していないことを疑っています。そのため、そのエイリアスに割り当てられた正確なコマンドを確認する必要があると感じます。どうしますか?

もちろん、.bash_aliasesファイルを開いてそこを確認することもできますが、特にファイルに多数のエイリアスが含まれている場合、このプロセスには少し時間がかかる可能性があります。したがって、簡単な方法を探している場合は、ここに1つあります。必要なのはエイリアスを実行することだけです。 引数としてalias-nameを使用したコマンド。

次に例を示します:

$ alias bk6
alias bk6='cd ../../../../../..'

ご覧のとおり、前述のコマンドは、bk6エイリアスに割り当てられた実際のコマンドを表示していました。もう1つの方法があります:タイプを使用する 指図。次に例を示します。

$ type bk6
bk6 is aliased to `cd ../../../../../..'

したがって、typeコマンドは、より人間が理解できる出力を生成します。

ここで共有する価値のあるもう1つの点は、作成する一般的なタイプミスにエイリアスを使用できることです。例:

alias mroe='more'

最後に、すべての人がエイリアスの使用に賛成しているわけではないことにも言及する価値があります。彼らのほとんどは、簡単に定義したエイリアスに慣れると、それらのエイリアスが存在しない他のシステムで作業するのが非常に難しくなると主張しています(そして、それらを作成することも許可されていません) 。一部の専門家がエイリアスの使用を推奨しない理由の詳細(および正確な理由)については、こちらをご覧ください。

結論

前のパートで説明したCDPATH環境変数と同様に、エイリアスも両刃の剣であり、非常に慎重に使用する必要があります。ただし、すべてに独自の長所と短所があるため、落胆しないでください。エイリアスなどの概念を扱う場合は、その実践と完全な知識が鍵となります。

これで、このチュートリアルシリーズは終了です。あなたがそれを楽しんだこと、そしてそれからいくつかの新しいこと/概念を学んだことを願っています。ご不明な点やご質問がございましたら、以下のコメントで私たち(およびその他の国々)と共有してください。


Linux
  1. Linuxコマンドラインでパスワードを生成する

  2. Linuxlsコマンドをマスターする

  3. Linuxコマンドラインで力を使用する

  1. Linuxコマンドラインに関する8つのヒント

  2. Linuxコマンドラインで牛を飼う

  3. Linuxコマンドラインにアクセスしてください

  1. Linuxコマンドラインからハードウェアをプログラムする

  2. Linuxgotoシェルユーティリティの概要

  3. Linux でシェル エイリアスを使用する方法