エイリアスllは何のコマンドですか?


28

エイリアスの端末コマンドを誰かに教えてもらえますかll?私がオンラインで見つけることができるのは、それがls -lor ls -laまたはのエイリアスであると言っている多くの人々ls -ltrです。しかし、それは単に間違っています。結果は異なって見えます。llその構文を見つけて見る方法はありますか?

回答:


76

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

10
一般的な場合、コマンドには複数の同時定義が含まれることがあります。type -a commandnameすべてを明らかにします-コマンドがエイリアス、関数、組み込み、またはPATH内の1つ以上の実行可能ファイルのいずれであるかを、この優先順位で示します。これは、たとえば、コマンドのエイリアスを解除しても、期待される動作に戻らない理由を理解するのに役立ちます。
追って通知があるまで一時停止します。

お勧めしalias ll='ls -lh'ます。ls -l人に優しいB / kiB / MiB / GiBの代わりにバイト単位のサイズが必要な場合に実行できます。
ピーター

13

llエイリアスは、あなたの中で定義され~/.bashrc、提供さあなたはそれがだ、それを変更しませんでしたls -alF

$ grep ll= <~/.bashrc
alias ll='ls -alF'

これらの3つのオプションは次のとおりです。

  • -a、-all –で始まるエントリを無視しません。
  • -l –長いリスト形式を使用します
  • -F、-classify –インジケータ(* / => @ |のいずれか)をエントリに追加します

として

$ grep ls= <~/.bashrc
alias ls='ls --color=auto'

が示すように、lsそれ自体も再びエイリアスですls --color=auto

を使用すると--color=autols標準出力が端末に接続されている場合にのみカラーコードを出力します。LS_COLORS環境変数は設定を変更することができます。dircolors コマンドを使用して設定します。


必ずしも.bashrcとは限りません。別のシェルを使用する場合、そのシェルの.rcファイルで定義されます-、cshrc、.tchshcなど。
-jamesqf

私は、デフォルトのUbuntuのセットアップ、程度と質問をした- @jamesqf私はまた、別のシェルを使用して、誰かがそれで事前に定義されたエイリアスを知っていると思うbashユーザーのデフォルトのシェルで、エイリアスがllで定義されて/etc/skel/.bashrcいるすべての新しいにコピーされますユーザーのホームディレクトリ。もちろん、任意のファイルを使用して独自のエイリアスを保存できます。必要なのはそれをソースすることだけです。
デザート

2
ファイルをにリダイレクトする必要はありませんgrep。引数としてファイル名を取ります。スタートアップファイルをgrepすること、エイリアスが(再)定義されている場所を見つけるの役立ちます(ファイル内にある可能性があることに注意してください/etc-ユーザーのスタートアップファイルから削除しても、それが持続するか、その動作を変更します)、定義が何であるかをすぐに知りたい場合は、受け入れられた答えに記載されているエイリアスコマンドが仕事をします。
追って通知があるまで一時停止します。

@DennisWilliamson ファイルを開く必要はありませんbashが、はるかに優れています!質問投稿の最後の文は、その構文を見つけllて見る方法はありますか?、それが私の答えです。
デザート

3

〜/ .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が変更された場合はどうなりますか?さらに興味深い情報については、関連する質問への次のリンクを参照してください。


0

〜/ .bashrcやその他のスクリプトを解析する必要はありません。alias端末でコマンドを入力して、すべてのエイリアスの現在の値を確認できます。すべての定義済みエイリアスとその定義を画面に表示します。


こんにちは、askubuntuへようこそ。この回答は、受け入れられたものにどのように追加されますか?
ブルーニ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.