type タイプ

英語表記type

日本語表記コマンド種別表示

正式名称type

危険度安全

What does it mean?

コマンド名が実際に何として解決されるかを確認します。同名のaliasや関数がある環境では、どの実体が実行されるかを見抜くのに役立ちます。

Command Quest

type を今日の道具にする

コマンド名が実際に何として解決されるかを確認します。同名のa...

$ type [オプション] 名前 ...
関連用語18
次のコマンド0
FAQ2
参照4

概要

コマンド名が実際に何として解決されるかを確認します。同名のaliasや関数がある環境では、どの実体が実行されるかを見抜くのに役立ちます。

基本構文

type [オプション] 名前 ...

詳細解説

typeは、シェルがコマンド名をどのように解決するかを調べるための確認用コマンドです。Linuxでは、同じ見た目の名前でも、alias、関数、シェル組み込み、PATH上の実行ファイルのいずれかとして解決されることがあります。

例えば、lsがaliasで色付き表示に差し替えられている環境では、単にwhich lsを見るだけでは実態を誤解することがあります。typeを使えば、現在のBashがその名前をどう解釈しているかを確認できます。

トラブルシュートでは「思ったコマンドが動いていない」「自作関数が優先されている」「移植用スクリプトで外部コマンドを想定していたのに組み込みだった」といった場面で特に有効です。

このコマンドを使う場面

ある名前がaliasか関数か組み込みか外部コマンドかを確認したい時、whichでは判断が不十分な時、PATHやシェル初期化設定の影響を切り分けたい時に使います。

まず安全に試す方法

1. alias ll="ls -l"
2. type ll
3. type ls
4. type -a printf

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. aliasを1つ作成し、typeとtype -aで解決順の違いを確認します。

  2. cd、printf、grepなどをtypeで調べ、どれが組み込みか確認します。

資格試験との関連

  • LinuC レベル1
    範囲: 1.03.1 コマンドラインの操作
    根拠: official
    LinuCレベル1では、コマンドライン操作やシェル環境の理解が問われます。typeはその基礎を支える代表的なコマンドです。
  • LPIC-1
    範囲: 105.1 シェル環境のカスタマイズと利用
    根拠: official
    LPIC-1では、シェル環境、変数、履歴、コマンド解決の理解が重視されます。typeはその周辺知識と一緒に学ぶ価値が高いコマンドです。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    試験横断で、typeはコマンドライン操作、手順読解、トラブルシュートの基礎体力を作る項目です。

オプション

  • -a
    同名の候補をすべて表示します。alias、関数、組み込み、実行ファイルの複数候補を確認する時に便利です。
    type -a ls
  • -t
    alias、function、builtin、fileなど種別だけを表示します。
    type -t cd
  • -p
    外部コマンドとして見つかった実行ファイルのパスだけを表示します。
    type -p grep

実行結果サンプル

  • alias ll="ls -l" type ll
    ll is aliased to `ls -l`
  • type cd
    cd is a shell builtin

戻り値コード

  • 0 すべての名前について情報を取得できました。
  • >0 指定した名前が見つからない、または処理できませんでした。

使用例

  • type ls
  • type -a python3
  • type -t cd
  • type -p grep

よくあるエラー

  • whichで見た結果と実際の挙動が違う
    原因: aliasや関数はwhichでは適切に表現できないことがあります。
    対処: 現在のシェル解決順を知りたい時はtypeやcommand -vを使います。
  • /bin/sh向けスクリプトでtypeを使ったら動かなかった
    原因: typeはBash系で一般的でも、POSIX移植性は保証されません。
    対処: 移植性重視ならcommand -vへ置き換えます。

導入・互換性情報

typeはBashなどで一般的な組み込みですが、POSIXでの移植性を最優先するならcommand -vを使うほうが安全です。typeのオプション体系はシェル実装によって異なります。

  • Debian GNU/Linux / 13 / Bash 5.2.37

注意点 / セキュリティリスク

危険度は低い確認コマンドです。ただしBash固有の機能なので、POSIX sh前提の説明や移植性重視のスクリプトではcommand -vのほうが適しています。

FAQ

  • Q. typeとwhichはどう違いますか。
    A. typeは現在のシェルがその名前をどう解決するかを見るのに向き、whichは外部コマンド中心で実装差もあります。
  • Q. type -aは何に使いますか。
    A. 同名のalias、関数、外部コマンドが複数ある時に、候補をまとめて確認するために使います。

関連用語

  • シェル
  • Bash
  • Zsh
  • Fish
  • POSIXシェル
  • PATH
  • alias
  • shell function
  • shebang
  • interpreter
  • Python
  • Perl
  • Ruby
  • Go
  • Rust
  • Java
  • Node.js
  • pip

参照リンク

関連記事