Как я могу найти двоичный файл, который выполняется при вводе команды?

Я только что установил TeX-Live 2012, но я все еще получаю

moose@pc07:~$ latex --version
pdfTeX 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian)
kpathsea version 5.0.0
Copyright 2009 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.2.42; using libpng 1.2.42
Compiled with zlib 1.2.3.3; using zlib 1.2.3.3
Compiled with poppler version 0.12.4

Так что я подумал, могу ли я узнать, где находится исполняемый файл, который запускается при вводе latex --version. Это возможно?

6
задан 29 September 2012 в 16:32

3 ответа

Команда type встроена в bash (which - отдельная программа).

type latex

Команда type также может различать псевдонимы оболочки, функции оболочки и автономные программы, если вы пропустите опцию -a: у меня есть псевдоним для ls

$ type -a ls
ls is aliased to `ls -F'
ls is /bin/ls
0
ответ дан 29 September 2012 в 16:32

Для простых автономных команд приведенные выше ответы совершенно верны. Однако, если вы запускаете сложные сценарии и хотите знать, что происходит за кулисами, лучший способ всегда:

ps afxu

, который отображает все дерево выполняемой команды.

Например, выполнение ps afxu при обновлении grub2 с включенным os-prober дает следующий вывод:

root      4304  0.0  0.0  27308  1700 ?        Ss   16:33   0:00 SCREEN -S update-grub
root      4305  0.9  0.1  23540  4648 pts/2    Ss   16:33   0:00  \_ /bin/bash
root      4371  0.0  0.0   4392   744 pts/2    S+   16:33   0:00      \_ /bin/sh /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
root      5127  0.0  0.0   4396   756 pts/2    S+   16:33   0:00          \_ /bin/sh /etc/grub.d/30_os-prober
root      7029  0.0  0.0   4396   176 pts/2    S+   16:33   0:00              \_ /bin/sh /etc/grub.d/30_os-prober
root      7030  0.0  0.0   4396   464 pts/2    S+   16:33   0:00                  \_ /bin/sh /etc/grub.d/30_os-prober
root      7038  0.0  0.1  23660  4676 pts/2    D+   16:33   0:00                  |   \_ /usr/sbin/grub-probe --device /dev/sdb3 --target=fs_uuid
root      7031  0.0  0.0  11520   828 pts/2    S+   16:33   0:00                  \_ sed -e s/^/\t/

Таким образом, вы можете точно знать, что вызывается исполняемым файлом / скриптом в каждый этап его выполнения.

0
ответ дан 29 September 2012 в 16:32

Вы можете использовать

which latex

, чтобы узнать местоположение бинарности.

0
ответ дан 29 September 2012 в 16:32

Другие вопросы по тегам:

Похожие вопросы: