そこで私はこのコマンドをどこかで調べて、type
このtype
コマンドが一緒に使われるコマンドの位置、より具体的にはコマンドに関連した実行ファイルの場所を提供できることを知りました。だから私はいくつかの基本的なコマンド(例:など)を試しました。type
場所を知っていますが、withを使用すると何か他のものが得られます。ps
wc
date
type
ls
ls is aliased to `ls --color=auto'
しかし、私は席を期待していた。
答え1
このtype
コマンドは、実行可能ファイルの場所を知らせる以上の役割を果たします。次の結果を引用しますhelp type
。
コマンドタイプに関する情報を表示します。
各名前に対してコマンド名として使用される場合、どのように解釈されるかを表示します。
つまり、type
コマンドは、指定された引数に対してコマンドとして使用された場合にシェルがどのように解釈するかを示します。パス内の実行可能ファイルの場合は、その場所を指定します。ただし、実行できない他の種類のコマンドもあります。これにはbashの組み込み機能が含まれます。たとえば、次のコマンドcd
はbash組み込みコマンドです。
$ type cd
cd is a shell builtin
つまり、という実行ファイルはありませんcd
。むしろ、これはシェルから直接解釈されるコマンドであり、シェル言語の一部です。繰り返しますが、このコマンドtype
はbash組み込みコマンドです。
$ type type
type is a shell builtin
別のタイプのコマンドは別名です。エイリアスは、入力に非常に長いカスタムコマンドの便利なショートカットとして使用できます。コマンドを入力すると、alias
現在のシェルに設定されているエイリアスを表示できます。私にそれは以下を提供する:
$ alias
alias ll='ls -la'
alias ls='ls --color=auto'
(直接構成したものもありますが、便宜上省略しました)
したがって、を入力すると、あなたの場合と同じようにtype ls
エイリアス情報が得られます。ls
$ type ls
ls is aliased to `ls --color=auto'
これは、ディストリビューションがユーザーのシェル構成のどこかにこのエイリアスを設定するためです(例:.bashrc
bashを使用している場合)。その理由は、ls
コマンドの出力が常に色で表示されるためです(デフォルトではありません)。ls
このエイリアスが存在しない場合の意味を知りたい場合は、ls
現在のシェルセッションでエイリアスをキャンセルして次のようにしますtype ls
。
$ unalias ls
$ type ls
ls is hashed (/bin/ls)
答え2
多くのコマンドシェルには、lsセットのエイリアスがあります。使用しているシェルのrcファイルでホームディレクトリを確認できます。 (cshの場合は.cshrcです。)エイリアスがある可能性があります。このエントリを削除した場合は、ログアウトしてもう一度ログインしてください。その後、入力すると必要な情報が提供されます。
答え3
「使用されるコマンドの場所、より具体的には、そのコマンドに関連する実行可能ファイルの場所を提供することが可能です。」
役に立つ場合はwhich
、whereis
コマンドを使用して実行可能ファイルの場所を見つけることもできます。
robert@pip2:/tmp$ which ls
/bin/ls
robert@pip2:/tmp$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz