私は、計2台のノートPCにUbuntu_Linuxを入れています。
1台の方が、
Oracle VM VirtualBox 上に
Ubuntu 22.04LTS
もう片方は、
WSL(Windows Subsystem for Linux)2 上に
Ubuntu 22.04LTS
です。
先日、
VirtualBox 上のUbuntuには、「mawk」が、
WSL2 上のUbuntuには、「gawk」が、
それぞれ入っている、という記事を書きました。
その記事は、
こちら⇒ 同じUbuntuなのにawk処理系が異なる
ところが、その記事に対し、ある方からコメントをいただきました。
「mawk」と「gawk」の両方が入っているのでは?っていう内容です。
んで、調べてみたら、確かにそうでした。
2台のPC双方に、「mawk」も「gawk」も入っていました。
コマンドが入っているかどうかを確認するのに使ったのは、「which」というコマンドです。
書式は、 which [オプション]<コマンド名> です。
whichコマンドは、指定されたコマンド名を探し、見つかった実行ファイル(コマンド)のフルパスを表示します。もし、その実行ファイル(コマンド)がないときは、何の反応もないので、それで判断できます。
なお、異なるディレクトリに同じ名前のコマンドが複数あるときは、「-a」オプションを指定すると、すべての実行ファイルの場所を表示してくれます。
んで、調査の結果は、次のとおりです。
goosyun@hoge:~$ which -a awk
/usr/bin/awk
/bin/awk
goosyun@hoge:~$ which -a gawk
/usr/bin/gawk
/bin/gawk
goosyun@hoge:~$ which -a mawk
/usr/bin/mawk
/bin/mawk
このように、「mawk」も「gawk」も入っているではありませんか。
次に、それぞれのファイルの、リンクの関係を調べてみました。
「-l」オプションを付けて「ls」コマンドを実行すると、リンクが貼られている場合のリンク先が分かります。
goosyun@hoge:~$ ls -l /bin/*awk
lrwxrwxrwx 1 root root 21 11月 23 2023 /bin/awk -> /etc/alternatives/awk
-rwxr-xr-x 1 root root 704984 8月 17 2023 /bin/gawk
-rwxr-xr-x 1 root root 158504 1月 24 2022 /bin/mawk
lrwxrwxrwx 1 root root 22 11月 23 2023 /bin/nawk -> /etc/alternatives/nawk
goosyun@hoge:~$ ls -l /usr/bin/*awk
lrwxrwxrwx 1 root root 21 11月 23 2023 /usr/bin/awk -> /etc/alternatives/awk
-rwxr-xr-x 1 root root 704984 8月 17 2023 /usr/bin/gawk
-rwxr-xr-x 1 root root 158504 1月 24 2022 /usr/bin/mawk
lrwxrwxrwx 1 root root 22 11月 23 2023 /usr/bin/nawk -> /etc/alternatives/nawk
上記のとおり、「/bin/awk」と「/usr/bin/awk」は、 「/etc/alternatives/awk」へのシンボリックリンクになっていました。
そこで、さらに「/etc/alternatives/awk」のリンク先を調べてみました。
goosyun@hoge:~$ ls -l /etc/alternatives/awk
lrwxrwxrwx 1 root root 13 11月 23 2023 /etc/alternatives/awk -> /usr/bin/gawk
このように、おもしろい結果が出てきました。
なぁ~んと、
「awk」は、「gawk」へのシンボリックリンクになっているのです。
そうすると・・・、
「awk」コマンドを実行するということはつまり、全く意識はしていなかったけれども、実は、「gawk」を実行していた、ということになります。
そういうことになるのではないでしょうか。へぇ、これは知らなかったぁ。
どうして、上記のような回りくどいリンクを貼っているのか、なぜ、ぐるぐるといくつものリンク先をたどる必要があるのか、その辺の事情は素人なので分かりません。
まぁ、そのことを知らなくても、使う分に支障はありません。今後も、便利に「awk」を使わせてもらうこととします。
それでは、また次の記事で。
■■■■ goosyun ■■■■
最近の「Ubuntu」カテゴリーもっと見る
最近の記事
カテゴリー
バックナンバー
人気記事