2013-09-04 8 views
5

Come ottenere il percorso completo di un comando che sto utilizzando?In Linux, come ottenere il percorso completo di un comando che sto utilizzando?

per esempio, ho installato il JDK in /opt/Oracle/jdk1.7.0_25, e il mio PATH assomiglia a questo:

/opt/Oracle/jdk1.7.0_25/bin/:/usr/lib/x86_64-linux-gnu/qt4/bin:/home/unimous/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games. 

voglio ottenere /opt/Oracle/jdk1.7.0_25/bin/java da java.

+2

prova 'che java' – suspectus

risposta

11
which java 

dovrebbe darvi il percorso completo.

Questo funziona anche con qualsiasi altro comando in Linux, basta usare which command_name.

0

Dipende dalla vostra distribuzione, in Debian e distribuzioni basate su Debian si dispone di update-alternatives

E per il vostro java che si fanno per esempio:

update-alternatives --install "/ usr/bin/java" "Java" "/opt/Oracle/jdk1.7.0_25/bin/java" 3

Help section on update-alternatives 

update-alternatives: --install needs <link> <name> <path> <priority> 

Usage: update-alternatives [<option> ...] <command> 

Commands: 
    --install <link> <name> <path> <priority> 
    [--slave <link> <name> <path>] ... 
          add a group of alternatives to the system. 
    --remove <name> <path> remove <path> from the <name> group alternative. 
    --remove-all <name>  remove <name> group from the alternatives system. 
    --auto <name>   switch the master link <name> to automatic mode. 
    --display <name>   display information about the <name> group. 
    --query <name>   machine parseable version of --display <name>. 
    --list <name>   display all targets of the <name> group. 
    --get-selections   list master alternative names and their status. 
    --set-selections   read alternative status from standard input. 
    --config <name>   show alternatives for the <name> group and ask the 
          user to select which one to use. 
    --set <name> <path>  set <path> as alternative for <name>. 
    --all     call --config on all alternatives. 

<link> is the symlink pointing to /etc/alternatives/<name>. 
    (e.g. /usr/bin/pager) 
<name> is the master name for this link group. 
    (e.g. pager) 
<path> is the location of one of the alternative target files. 
    (e.g. /usr/bin/less) 
<priority> is an integer; options with higher numbers have higher priority in 
    automatic mode. 

Options: 
    --altdir <directory>  change the alternatives directory. 
    --admindir <directory> change the administrative directory. 
    --log <file>    change the log file. 
    --force     allow replacing files with alternative links. 
    --skip-auto    skip prompt for alternatives correctly configured 
          in automatic mode (relevant for --config only) 
    --verbose    verbose operation, more output. 
    --quiet     quiet operation, minimal output. 
    --help     show this help message. 
    --version    show the version. 
0

Se siete in bash:

type java 

tipo è un built-in, che di solito è un eseguibile separato:

$ type type 
type is a shell builtin 
$ type which 
which is hashed (/usr/bin/which) 
Problemi correlati