回答:
alias
またはtype
コマンドを使用して、特定のエイリアスの意味を確認できます。
$ alias ll
alias ll='ls -alF'
$ type ll
ll is aliased to `ls -alF'
ただし、エイリアスは他のエイリアスを使用する場合があるため、再帰的にチェックする必要がある場合がll
あります。たとえば、の場合、ls
呼び出すコマンドもチェックする必要があります。
$ alias ls
alias ls='ls --color=auto'
$ type ls
ls is aliased to `ls --color=auto'
だからll
実際には:
ls --color=auto -alF
alias ll='ls -lh'
ます。ls -l
人に優しいB / kiB / MiB / GiBの代わりにバイト単位のサイズが必要な場合に実行できます。
ll
エイリアスは、あなたの中で定義され~/.bashrc
、提供さあなたはそれがだ、それを変更しませんでしたls -alF
。
$ grep ll= <~/.bashrc
alias ll='ls -alF'
これらの3つのオプションは次のとおりです。
として
$ grep ls= <~/.bashrc
alias ls='ls --color=auto'
が示すように、ls
それ自体も再びエイリアスですls --color=auto
:
を使用すると
--color=auto
、ls
標準出力が端末に接続されている場合にのみカラーコードを出力します。LS_COLORS
環境変数は設定を変更することができます。dircolors
コマンドを使用して設定します。
bash
ユーザーのデフォルトのシェルで、エイリアスがll
で定義されて/etc/skel/.bashrc
いるすべての新しいにコピーされますユーザーのホームディレクトリ。もちろん、任意のファイルを使用して独自のエイリアスを保存できます。必要なのはそれをソースすることだけです。
grep
。引数としてファイル名を取ります。スタートアップファイルをgrepすることは、エイリアスが(再)定義されている場所を見つけるのに役立ちます(ファイル内にある可能性があることに注意してください/etc
-ユーザーのスタートアップファイルから削除しても、それが持続するか、その動作を変更します)、定義が何であるかをすぐに知りたい場合は、受け入れられた答えに記載されているエイリアスコマンドが仕事をします。
〜/ .bashrc(またはエイリアスがあるファイル)を調べるか、シェルでこれらのコマンドのいくつかを書くことができます:
command -v ll # "command" is a shell built-in that display information about
# the command. Use the built-in "help command" to see the
# options.
type -p ll # "type" is another built-in that display information about how the
# command would be interpreted
grep -r "alias ll=" ~ # and don't worry about de .file that contains your
# alias. This command search recursively under each
# folder of your home. So it's something rude.
find ~ -maxdepth 1 -type f | xargs grep "alias ll" # Just look in
# the files (not folders) in your home folder
しかし、なぜ-name "。*"なしでfindを使用するのですか?あなたはこれをあなたの.bashrcに入れることができるので
source bash_hacks # where the file bash_hacks, in your home directory can
# contain the alias ll='ls -la etc etc'.
「ll」はエイリアスであるため、必要なものは1つだけなので(ll = 'ls -alF --color')、「ll」は別のコマンドのようにエイリアスできます。 。もっと慣習だと思います(一般的な用途の製品)。
ただし、「ll」は、PATHの任意のフォルダーに格納されているプログラムです。たとえば、自宅に「bin」という名前のフォルダーがある場合、次のような内容を含む「ll」スクリプトを作成します。
#!/bin/bash
ls -lhar
しかし、新しい「ll」コマンドを含む別のフォルダーを追加するためにPATHが変更された場合はどうなりますか?さらに興味深い情報については、関連する質問への次のリンクを参照してください。
type -a commandname
すべてを明らかにします-コマンドがエイリアス、関数、組み込み、またはPATH内の1つ以上の実行可能ファイルのいずれであるかを、この優先順位で示します。これは、たとえば、コマンドのエイリアスを解除しても、期待される動作に戻らない理由を理解するのに役立ちます。