LinuxでBashエイリアスを作成および使用するさまざまな方法


bashのエイリアスは、単にコマンドまたは別のコマンド/プログラムを実行するショートカットと呼ぶことができます。エイリアスは、コマンドが非常に長く、頻繁に使用されるコマンドの場合に非常に役立ちます。この記事では、エイリアスがいかに強力であるか、およびエイリアスを設定して使用するさまざまな方法について説明します。

LinuxでBashエイリアスを確認する

Aliasはシェルの組み込みコマンドであり、次のコマンドを実行して確認できます。

$ type -a alias

alias is a shell builtin

ジャンプしてエイリアスを設定する前に、関連する構成ファイルを確認します。エイリアスは、「ユーザーレベル」または「システムレベル」のいずれかで設定できます。

シェルを呼び出し、「エイリアス」と入力するだけで、定義されたエイリアスのリストが表示されます。

$ alias

ユーザーレベルのエイリアスは、.bashrcファイルまたは.bash_aliasesファイルのいずれかで定義できます。 .bash_aliasesファイルは、他のパラメーターと一緒に.bashrcファイルに配置するのではなく、すべてのエイリアスを個別のファイルにグループ化するためのものです。最初は、.bash_aliasesは使用できないため、作成する必要があります。

$ ls -la ~ | grep -i .bash_aliases       # Check if file is available
$ touch ~/.bash_aliases                  # Create empty alias file

.bashrcファイルを開き、次のセクションに注意してください。コードのこのセクションは、ファイル.bash_aliasesがユーザーのホームディレクトリの下にあるかどうかを確認し、新しいターミナルセッションを開始するたびにそれをロードする役割を果たします。

# 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

任意のディレクトリの下にカスタムエイリアスファイルを作成し、.bashrcまたは.profileのいずれかに定義を追加してロードすることもできます。しかし、私はこれを好まないので、すべてのエイリアスを.bash_aliasesの下にグループ化することに固執することにします。

.bashrcファイルの下にエイリアスを追加することもできます。いくつかの事前定義されたエイリアスが付属している.bashrcファイルの下のエイリアスセクションを探してください。

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

Linuxでエイリアスを作成する

現在のセッションでのみ保存され、現在のセッションが終了すると破棄される一時的なエイリアスを作成することも、永続的なエイリアスを作成することもできます。

Linuxでエイリアスを作成するための構文。

$ alias <name-of-the-command>="command to run"

たとえば、実際のシナリオでは。

$ alias Hello="echo welcome to Tecmint"

ターミナルを開き、必要なエイリアスコマンドを作成します。別のセッションを開くと、新しく作成されたエイリアスは使用できなくなります。

$ alias Hello"echo welcome to Tecmint"
$ alias
$ Hello

エイリアスを永続的にするには、エイリアスを.bash_aliasesファイルに追加します。お気に入りのテキストエディタを使用するか、catコマンドまたはechoコマンドを使用してエイリアスを追加できます。

$ echo alias nf="neofetch" >> ~/.bash_aliases
$ cat >> ~/.bash_aliases
$ cat ~/.bash_aliases

現在のセッションで変更を有効にするには、.bash_aliasesファイルをリロードする必要があります。

$ source ~/.bash_aliases

ここで、「neofetch」のエイリアスである「nf」を実行すると、neofetchプログラムがトリガーされます。

$ nf

コマンドのデフォルトの動作を上書きしたい場合は、エイリアスが便利です。デモンストレーションのために、uptimeコマンドを実行します。このコマンドは、システムの稼働時間、ログインしているユーザーの数、およびシステムの平均負荷を表示します。次に、uptimeコマンドの動作をオーバーライドするエイリアスを作成します。

$ uptime
$ cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
$ source ~/.bash_aliases
$ uptime

この例から、実際のコマンドを確認して呼び出す前に、優先順位がbashエイリアスにあると結論付けることができます。

$ cat ~/.bash_aliases
$ source ~/.bash_aliases
$ uptime

Linuxでのエイリアスの削除

次に、.bash_aliasesファイルから稼働時間エントリを削除し、.bash_aliasesファイルをリロードします。これにより、エイリアス定義を使用して稼働時間が出力されます。これは、エイリアス定義が現在のシェルセッションに読み込まれ、次の図に示すように、新しいセッションを開始するか、unaliasコマンドを実行してエイリアス定義の設定を解除する必要があるためです。

$ unalias uptime

システム全体のエイリアスの追加

ここまで、ユーザーレベルでエイリアスを設定する方法を見てきました。エイリアスをグローバルに設定するには、「/ etc/bash.bashrc」ファイルを変更して、グローバルに有効になるエイリアスを追加します。 bash.bashrcファイルを変更するには、昇格された特権が必要です。

または、「/ etc/profile.d /」の下にスクリプトを作成します。シェルにログインすると、「/ etc/profile」は、実際に〜/ .profileを実行する前に、profile.dの下にあるスクリプトを実行します。この方法により、/ etc/profileまたは/etc/bash.bashrcファイルのいずれかを台無しにするリスクが軽減されます。

$ sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”

以下は、/ etc/profiles.d /の下に配置したスクリプトの実行を処理する/ etc/profileから取得したコードです。 .sh 拡張子の付いたファイルを探し、sourceコマンドを実行します。

$ tail /etc/profile

この記事は以上です。エイリアスとは何か、エイリアスに関連する構成ファイル、およびエイリアスをローカルおよびグローバルに設定するさまざまな方法を見てきました。