名前だけで実行可能ファイルを実行することと、前にドット/スラッシュを使用して実行することの違いは何ですか?

名前だけで実行可能ファイルを実行することと、前にドット/スラッシュを使用して実行することの違いは何ですか?

以下はコマンドの出力ですls -all

-rwxr----- 1 subhrcho dba  3600 Nov 13 17:26 jdev
-rw-r----- 1 subhrcho dba  1566 Nov 13 17:26 jdev-Darwin.conf
-rw-r----- 1 subhrcho dba   347 Mar  6  2009 jdev-debug.boot
-rw-r----- 1 subhrcho dba   821 Nov 13 17:26 jdev-logging-debug.conf
-rw-r----- 1 subhrcho dba   584 Nov 13 17:26 jdev-logging.conf
-rw-r----- 1 subhrcho dba  4717 Jul 31 16:09 jdev.boot
-rw-r----- 1 subhrcho dba 12877 Nov 13 17:26 jdev.common
-rw-r----- 1 subhrcho dba  5047 Dec  6 01:43 jdev.conf
-rwxr-x--- 1 subhrcho dba 28160 Nov 13 16:28 jdev.exe
-rwxr-x--- 1 subhrcho dba 28672 Nov 13 16:28 jdev64.exe
-rwxr-x--- 1 subhrcho dba 28672 Nov 13 16:28 jdev64W.exe
-rwxr-x--- 1 subhrcho dba 28160 Nov 13 16:28 jdevW.exe

今実行すると、jdev別のバージョンが実行されます。Oracle JDveloper実行したときよりも./jdev…なぜこれが起こるのでしょうか?

ベストアンサー1

実行可能ファイル(またはunix / linuxの世界では実行権限/フラグを持つファイル)を次のように実行するとき:

$ ./jdev

.次に、名前が付けられ、ファイルを起動したユーザーの実行権限を持つ作業ディレクトリ(現在のディレクトリ)内でファイルを実行するようにマークしますjdev(まだ他のファイルへのリンクである可能性があることに注意してください)。ls -l jdev端末に入力して確認可能)

(バラよりLinux/unix でのファイル権限)

実行すると

$ jdev

そうであれば、jdevシステムのどこかにインストールされている可能性が高く$PATH(例えばまたはまたは/usr/bin/)にインストールしました。/bin//usr/local/bin/

〜のようにペテブステートメント:whichtoを使用して、特定のコマンドで実行される実行可能ファイルを指すことができます。たとえば、次のようになります。

$ which find
/usr/bin/find

おすすめ記事