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

エイリアス:.bash_rc、.bash_aliases、/ usr / local / binの違いは?

ターミナルをいじってみると、パーマネントを作成する方法がたくさんあることに気づきました。 エイリアス。

私はLinuxの初心者であり、私が知っていることから、次のことを行っています。

  1. sudo ln -s /path/to/executable /usr/local/bin/desired_alias
  2. desired_alias = '/path/to/executable'を追加します ~/.bashrc
  3. ~/.bashrcのこれらの行のコメントを解除します :

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

    desired_alias = '/path/to/executable'を配置します ~/.bash_aliases

すべて同じ効果があります。

最初の方法と2番目の方法の違いは何ですか?

承認された回答:

エイリアスを作成しない最初の方法では、シンボリックリンクを作成します。シンボリックリンクはシンボリックリンクの略です:

シンボリックリンクは、他のファイルへの
ポインタとして機能するファイルです。 […]
シンボリックリンクは特殊なタイプの
ファイルであり、その内容は
別のファイルのパス名である文字列であり、
リンクが参照するファイルです。言い換えると、シンボリックリンクは
別の名前へのポインタであり、基になる
オブジェクトへのポインタではありません。

シンボリックリンクの詳細については、こちらとこちらをご覧ください。

2番目の方法でのみ、実際にはエイリアスを作成します。

エイリアスを使用すると、文字列を
単純なコマンドの最初の単語として使用するときに、単語の代わりに使用できます。
シェルは、設定できるエイリアスのリストを
保持します。

エイリアスおよびunalias組み込みコマンドで設定を解除します
(以下のシェルビルトインコマンドを参照してください)。
各単純な
コマンドの最初の単語は、引用符で囲まれていない場合、チェックされます
エイリアスがあるかどうかを確認します。その場合、その
単語は
エイリアスのテキストに置き換えられます。

コマンドを入力してシェル( bash )を使用できる場所であればどこでもエイリアスを定義できます。 この場合)それを解釈しますが、エイリアスを他のシェルで使用できるようにするには、起動時にシェルによって解釈されるファイルで定義する必要があります(コンピューターの起動ではなく、シェルの起動)。

bashの場合、これらは/etc/bash.bashrcです。 (システム全体)および~/.bashrc 。これらのファイルは、シェルがインタラクティブモードで起動したときに解釈されます(Terminalを使用した場合など)。 )。プロファイルファイルは目的が異なるため、ここでは説明しません。

したがって、エイリアスを~/.bashrcに追加する必要があります。 すべてのインタラクティブシェルで利用できるようにします。

.bash_aliases メソッドは正確にを達成します エイリアスを~/.bashrcに配置するのと同じこと ただし、プログラムによる解析と操作が簡単であるという追加の利点があります。

関連:HiDPIFHD画面でのKDE5.56SDDMログイン画面の解像度?

. ~/.bash_aliases ソース(ロード)_~/.bash_aliases_を意味します 現在実行中のシェルのコンテキストで。


Ubuntu
  1. Pwdと/bin/ pwdの奇妙な違いは?

  2. / sbin/nologinと/bin/ falseの違いは何ですか?

  3. /optと/usr/ localの違いは?

  1. /var/log/messages、/var/log/syslog、および/var/log/kern.logの違いは?

  2. / bin/shが/bin/bashではなく/bin/ dashを指すのはなぜですか?

  3. nologin ユーザーのシェルとしての /bin/false と /sbin/nologin の違い

  1. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  2. ディレクトリの移動とファイルの実行を 1 つのコマンドで実行

  3. /usr/sbin、/usr/local/sbin、/usr/local/bin の意味は何ですか?