it-swarm-id.com

Bagaimana menemukan jalur instalasi untuk perangkat lunak di linux?

Di linux, saya meluncurkan perangkat lunak dengan mengetik, mis., Fluidplot. Bagaimana saya bisa menemukan jalur instalasi untuk perangkat lunak ini?

80
user5997

Kamu bisa menggunakan:

which fluidpoint

untuk melihat dari mana ia dieksekusi (jika itu dalam $ PATH Anda). Atau:

find / -name fluidpoint 2> /dev/null

untuk mencari file bernama fluipoint dan mengarahkan kesalahan pada sistem file virtual.

Biasanya mereka berada di /sbin, /usr/sbin, /usr/local/bin atau ~ sebagai direktori tersembunyi.

Dari Manual:

NAME
       which - shows the full path of (Shell) commands.

SYNOPSIS
       which [options] [--] programname [...]

Manual lengkap: https://linux.die.net/man/1/which

70
n0pe

Jika Anda menggunakan distribusi berbasis RPM (CentOS, RHEL, SUSE, openSUSE) Anda dapat menggunakan rpm -ql

Contoh:

rpm -ql findutils
/bin/find
/usr/bin/find
/usr/bin/xargs
/usr/share/doc/packages/findutils
/usr/share/doc/packages/findutils/AUTHORS
/usr/share/doc/packages/findutils/COPYING
/usr/share/doc/packages/findutils/NEWS
/usr/share/doc/packages/findutils/README
/usr/share/doc/packages/findutils/THANKS
/usr/share/doc/packages/findutils/TODO
/usr/share/info/find.info.gz
/usr/share/man/man1/find.1.gz

Hal-hal yang tidak diinstal ke lokasi di dunia Linux/UNIX seperti di dunia Windows (dan bahkan agak di Mac). Mereka lebih terdistribusi. Binari berada di /bin atau /sbin, perpustakaan ada di /lib, ikon/grafik/dokumen ada di/bagikan, konfigurasi ada di /etc dan data program dalam /var.

/bin, /lib, /sbin berisi aplikasi inti yang dibutuhkan untuk booting dan /usr berisi semua pengguna dan aplikasi sistem lainnya.

14
djsumdog

Perintah whereis mencari file biner, sumber, dan halaman manual untuk suatu perintah, dan perintah type memberi tahu apa yang sebenarnya dijalankan oleh Shell ketika Anda menjalankan perintah tertentu.

Coba whereis -l fluidplot dalam kasus Anda. Jika hanya mengembalikan "fluidplot:", tetapi tidak ada jalur, itu berarti perangkat lunak tidak diinstal. Perhatikan bahwa ini tidak termasuk file yang mungkin disembunyikan dalam folder rumah di bawah ~/.local/share/ (dalam hal ini).

Ditemukan di Linux Screw

6
魔大农

Hanya dengan menambahkan beberapa titik pada jawaban @djsumdog, jika Anda menggunakan dist berbasis DPKG, seperti Ubuntu, Anda dapat menggunakan

dpkg --status some_package

untuk memeriksa tentang apa, dan

dpkg --listfiles some_package

untuk memeriksa file apa yang termasuk/relevan dengan paket ini. Ini untuk paket yang tidak memiliki biner untuk dijalankan, seperti libnss3. Dan

dpkg --search some_file

untuk menemukan paket apa yang termasuk file ini.

Sebagai contoh, dpkg --listfiles libnss3 memberi saya:

/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libssl3.so
/usr/lib/i386-linux-gnu/nss
/usr/lib/i386-linux-gnu/nss/libsoftokn3.chk
/usr/lib/i386-linux-gnu/nss/libnssckbi.so
/usr/lib/i386-linux-gnu/nss/libnsssysinit.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.so
/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.so
/usr/lib/i386-linux-gnu/libnssutil3.so
/usr/lib/i386-linux-gnu/libsmime3.so
/usr/lib/i386-linux-gnu/libnss3.so
/usr/share
/usr/share/doc
/usr/share/doc/libnss3
/usr/share/doc/libnss3/copyright
/usr/share/doc/libnss3/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnss3

Perhatikan bahwa folder tidak hanya dimiliki oleh paket ini, tetapi oleh orang lain juga. Periksa saja file-nya.

Dan sebaliknya, dpkg --search libnss3.so memberi saya:

firefox: /usr/lib/firefox/libnss3.so
Thunderbird: /usr/lib/Thunderbird/libnss3.so
libnss3:i386: /usr/lib/i386-linux-gnu/libnss3.so
libnss3-1d:i386: /usr/lib/i386-linux-gnu/libnss3.so.1d
5
WesternGun

Anda dapat mencoba menjalankan:

ps aux | grep "THE_NAME_OF_A_PROGRAM"

Ada peluang yang cukup bagus Anda akan melihat jalur ke program (jika sedang berjalan)

0
user213527

Alih-alih menggunakan which ( yang mungkin bukan pilihan yang tepat kecuali Anda menggunakan csh ) Anda dapat menggunakan command -v fluidplot untuk mendapatkan Shell memantul seperti Shell untuk memberi tahu Anda apa yang akan dilakukan jika Anda memintanya untuk menjalankan perintah (fluidplot dalam contoh ini).

Beberapa contoh untuk saya:

$ command -v ls
alias ls='ls --color=auto'
$ command -v cat
/bin/cat
$ test_func() {
> :
> }
$ command -v test_func
test_func
$ which test_func
/usr/bin/which: no test_func in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)
$ if command -v noSuchFile; then echo "It exists"; else echo "does not exist"; fi
does not exist

jadi Anda juga dapat menggunakannya untuk menguji apakah suatu perintah akan ditemukan dan dicoba untuk dijalankan. Karena sebagian besar dari kita menggunakan kerang mirip Bourne (mis., Bash atau zsh), ini sering lebih disukai daripada which

0
Eric Renouf