あなたのシェル(おそらくbashは)あなたが入力したときになるように割り当てられている別名があるpythonコマンドの最初に、それはにそれを変更します/usr/bin/python3。あなたがそのエイリアスを持っている理由を言うのは難しいです。システム管理者が、すべての人にデフォルトでPython 2ではなくPython 3を使用することを望んでいる可能性がありますが、これはそれを達成するための試みでした。
あなた/usr/bin/pythonはPython 2バイナリへのシンボリックリンクです。これはかなり普通のようです。pythonPython 3はまだ人気がないため、多くのLinuxディストリビューション(Debianなど)でPython 2を参照するのが一般的です。ただし、常にそうとは限りません。Arch Linuxでは、pythonPython 3を指します。
したがって、推測する必要がある場合、システムのパッケージマネージャーはシンボリックリンクをからインストールし/usr/bin/pythonました。/usr/bin/python2.7これは、ポリシーがデフォルトでPython 2を使用するためのものであるためです。しかし、システムを構成する際に何らかの発言権を持っていた誰かが、デフォルトでPython 3を使用することを決定したため、このエイリアスをインストールしました。
ご覧のとおり、エイリアスは常に機能するとは限りません。を入力するnohup pythonと、シェルはエイリアスを展開せず、代わりに文字列pythonを引数としてnohupコマンドに渡します。次に、nohupコマンドは何をpython意味するのかを理解する必要があり、それはすべてPATHを調べるだけです。シェルのエイリアスについては知りません。/usr/bin/pythonPython 2を見つけて実行します。
シェルのマニュアルを読むと、起動時に実行されるファイルを見つけることができます(例:.bashrcなど)。これは、シェルにPython 3のエイリアスがある理由を見つけるのに役立ちます。次のような行を探します。
alias python=python3
システムのパッケージマネージャーについて読んで、どのファイルがどのパッケージに属しているかを調べる方法を理解することができます。これは、Python 2のシンボリックリンクがある理由を理解するのに役立ちます/usr/bin/python。
which pythonおよびtype python