Linux便利コマンド : which

うめだ
2024-02-21
2024-02-21
目次

はじめに

みなさま、whichコマンドを活用されてますでしょうか?

コマンドのフルパスを確認することができるコマンドです。
実はコマンドだけでなく、aliasや関数についても、内容を確認することができるようになっています。

では、さっそく試していきましょう。

環境

OS : AlmaLinux 8
whichバージョン:2.21

使い方

まずはよく使うコマンド、dfで試してみましょう。

$ which df
/usr/bin/df
$

フルパスが確認できましたね。

次に、ls -l のaliasとしてOS標準で設定されているコマンド、llで試してみましょう。

$ which ll
alias ll='ls -l --color=auto'
        /usr/bin/ls
$

alias設定されているコマンドについても設定内容を確認することができましたね。


独自で設定した関数についても確認できるので、試してみましょう。

まずは、ホームディレクトリの.bashrcを編集して任意の関数を設定します。

$ vi .bashrc

hogehoge ()
{
    echo "hogehoge function !!"
}


$ bash
$ hogehoge
hogehoge function !!
$

hogehoge function !!と表示させる関数、hogehogeが設定できました。

では、whichコマンドを実行してみましょう。

$ which hogehoge
hogehoge ()
{
    echo "hogehoge function !!"
}
$

関数の内容が確認できましたね。


CentOS7では、関数については確認できませんでしたが、Almalinux8から確認できるようになっています。

どういう設定になっているかはwhich which で確認することができます。

■CentOS7

$ which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
        /bin/alias
        /usr/bin/which
$

■Almalinux8

$ which which
which ()
{
    ( alias;
    eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}
$

 

Almalinux8では、関数の内容についても、whichコマンドで確認ができるといったご紹介でした。

まとめ

いかがでしたか?

日々のサーバー運用業務で、手順書にしたがって、何気なく実行しているコマンドも、実はaliasだったり、関数だったりするかもしれません。

是非とも、whichコマンドを活用してみてください。