Di mana perangkat lunak saya diinstal di Linux?

8

Saya menggunakan whereis matlabdan menemukan:, /usr/local/bin/matlab yang merupakan file bash yang sangat panjang.

Bagaimana saya bisa menemukan di mana matlab diinstal, maksud saya, folder yang diinstal.

EDIT:

Saya menggunakan metode berikut: buka matlab dan gunakan edit svds.m untuk membuka file svds.m dan editor menunjukkan folder :)

Yin Zhu
sumber
1
Apa distribusi linux Anda? Apakah matlab diinstal sebagai paket rpm atau dari sumber / tarball?
Dmitry Yudakov

Jawaban:

12

Mencoba

locate MATLAB

File biner dieja dengan huruf besar semua. Dalam sistem saya, executable MATLAB diinstal di /usr/local/matlab/r2009b/bin/glnxa64/MATLAB(yang merupakan tempat yang agak aneh). Akar matlab akan menjadi/usr/local/matlab/r2009b

Tentu saja, biasanya Anda menjalankan matlab menggunakan skrip shell panjang ...

rescdsk
sumber
1
Catatan: Anda mungkin perlu menjalankan sudo updatedbsatu kali sebelum menjalankan locate(kemungkinan tidak akan menemukan sebanyak yang sebaliknya).
ChristopheD
3

aku melakukannya

cat `which matlab` | grep matlab

dengan output

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 $*

Kemudian

$ 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

EDIT : Cara yang lebih baik adalah melakukannya dari matlab command line dengan matlabroot .

>> matlabroot

ans =

/usr/local/matlab_2010a-64
yuk
sumber
2
Penggunaan yang tidak berguna cat:grep matlab $(which matlab)
Dijeda sampai pemberitahuan lebih lanjut.
1

Pada distribusi berbasis RPM Anda dapat menggunakan

rpm -ql <package_name>

Ini akan menampilkan semua file dari paket

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

Jika Anda tidak yakin bagaimana paket itu dipanggil, Anda dapat menggunakan sesuatu seperti rpm -qa | grep -i matlabuntuk menemukan namanya

Dmitry Yudakov
sumber
0

Lokasi akan tergantung (seperti yang disarankan Dmitry) pada cara Anda menginstal paket. Biasanya, instalasi dari sumber akan membuang binari dan file terkait /usr/local. Untuk detail tentang di mana distribusi standar (seperti Debian dan yang lainnya menaruh file), bacalah Standar Hierarki Filesystem .

Noufal Ibrahim
sumber
0

Manajer paket Anda mungkin memberi tahu Anda. YAST di opensuse memiliki tab file, yang menunjukkan semua file dan lokasi mereka terinstal. Saya tidak dapat berbicara untuk distro lain.

alpha1
sumber
0

Di lingkungan Linux, Anda dapat menjalankan kode berikut untuk mendapatkan jalur MATLAB

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

di mana matlab -eakan menampilkan banyak informasi untuk menjalankan MATLAB. Jadi kita perlu menyalurkannya ke sed -n 's/MATLAB=//p'untuk hanya memilih root MATLAB. Saya menggunakan ini dalam dokumen Makefile saya untuk menemukan path ke mexcompiler tanpa memulai MATLAB. Ini adalah perintah yang sangat cepat. Inilah yang saya gunakan dalam dokumen Makefile saya hanya untuk kenyamanan:

MATLAB = $(shell matlab -e | sed -n 's/MATLAB=//p')
MEX = $(MATLAB)/bin/mex
jaman dahulu
sumber