Где мое программное обеспечение установлено в Linux?

8

Я использую whereis matlabи нахожу: /usr/local/bin/matlab очень длинный bash-файл.

Как я могу найти, где установлен Matlab, я имею в виду его установленную папку.

РЕДАКТИРОВАТЬ:

Я использовал следующий метод: откройте matlab и используйте edit svds.m, чтобы открыть файл svds.m, и редактор покажет папку :)

Инь Чжу
источник
1
Каков ваш дистрибутив Linux? Matlab установлен как пакет rpm или из исходного кода / tarball?
Дмитрий Юдаков

Ответы:

12

Пытаться

locate MATLAB

Бинарный файл записан заглавными буквами. В моей системе установлен исполняемый файл MATLAB /usr/local/matlab/r2009b/bin/glnxa64/MATLAB(что немного странно). Корень Matlab будет тогда/usr/local/matlab/r2009b

Конечно, обычно вы запускаете matlab, используя длинный скрипт оболочки ...

rescdsk
источник
1
Примечание: вам может потребоваться запустить sudo updatedbодин раз перед запуском locate(возможно, в противном случае он не найдет столько же).
ChristopheD
3

я сделал

cat `which matlab` | grep matlab

с выходом

exec /usr/local/bin/matlab64 -r maxNumCompThreads=4 $*
    echo "   qsub -I -V -l nodes=1,matlab=1"
            exec /usr/local/bin/matlab64 $*
            exec /usr/local/bin/matlab32 $*

затем

$ ls -ld /usr/local/bin/matlab64
lrwxrwxrwx 1 root root 30 May  4 12:08 /usr/local/bin/matlab64 -> /usr/local/matlab64/bin/matlab
$ ls -ld /usr/local/bin/matlab32
lrwxrwxrwx 1 root root 28 May  4 12:08 /usr/local/bin/matlab32 -> /usr/local/matlab/bin/matlab
$ ls -ld /usr/local/matlab64 
lrwxrwxrwx 1 root root 27 May  4 12:01 /usr/local/matlab64 -> /usr/local/matlab_2010a-64/
$ ls -ld /usr/local/matlab 
lrwxrwxrwx 1 root root 23 May  4 12:01 /usr/local/matlab -> /usr/local/matlab_2010a

РЕДАКТИРОВАТЬ : лучший способ сделать это из командной строки Matlab с Matlabroot .

>> matlabroot

ans =

/usr/local/matlab_2010a-64
тьфу
источник
2
Бесполезное использование cat:grep matlab $(which matlab)
Приостановлено до дальнейшего уведомления.
1

В RPM-дистрибутивах вы можете использовать

rpm -ql <package_name>

Он покажет вам все файлы из пакета

# rpm -ql wget
/etc/wgetrc
/usr/bin/wget
/usr/share/doc/wget-1.10.2
/usr/share/doc/wget-1.10.2/AUTHORS
....

Если вы не уверены, как называется пакет, вы можете использовать что-то вроде, rpm -qa | grep -i matlabчтобы найти его имя

Дмитрий Юдаков
источник
0

Расположение будет зависеть (как предположил Дмитрий) от того, как вы установили пакеты. Обычно установка из исходного кода приводит к сбросу двоичных файлов и связанных файлов /usr/local. Для получения подробной информации о том, где стандартные дистрибутивы (например, Debian и другие помещают файлы), обратитесь к Стандарту иерархии файловой системы .

Нуфал Ибрагим
источник
0

Ваш менеджер пакетов может сказать вам. YAST в opensuse имеет вкладку «Файлы», в которой отображаются все файлы и их расположение. Я не могу говорить за другие дистрибутивы.

alpha1
источник
0

В среде Linux вы можете запустить следующий код, чтобы получить пути MATLAB

matlab -e | sed -n 's/MATLAB=//p'

где matlab -eбудет выводить много информации для запуска MATLAB. Поэтому нам нужно передать их по конвейеру, sed -n 's/MATLAB=//p'чтобы выбрать только корень MATLAB. Я использую это в своем документе Makefile, чтобы найти путь к mexкомпилятору без запуска MATLAB. Это очень быстрая команда. Вот что я использовал в своем документе Makefile просто для удобства:

MATLAB = $(shell matlab -e | sed -n 's/MATLAB=//p')
MEX = $(MATLAB)/bin/mex
древность
источник