Di linux, saya meluncurkan perangkat lunak dengan mengetik, misalnya, fluidplot. Bagaimana saya bisa menemukan jalur instalasi untuk perangkat lunak ini?
Di linux, saya meluncurkan perangkat lunak dengan mengetik, misalnya, fluidplot. Bagaimana saya bisa menemukan jalur instalasi untuk perangkat lunak ini?
Jawaban:
Anda dapat gunakan:
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/binatau ~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
alias fluidpoint,
which(mis. Yang ada di ZSH) akan melakukannya untuk Anda
/opt/*atau /usr/local/bin. ~adalah direktori home Anda, saya bingung mengapa Anda menyebutnya "tersembunyi".
~/.dir. Direktori tersembunyi di bawah direktori home. Dan saya benar-benar lupa tentang /usr/local/bindop.
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 tidak diinstal ke lokasi di dunia Linux / UNIX seperti di dunia Windows (dan bahkan agak di Mac). Mereka lebih terdistribusi. Binari ada di /binatau /sbin, perpustakaan ada di /lib, ikon / grafik / dokumen ada di / bagikan, konfigurasi ada di dalam /etcdan data program ada di /var.
The /bin, /lib, /sbinmengandung aplikasi inti yang diperlukan untuk booting dan /usrberisi semua pengguna dan sistem aplikasi lain.
The whereisperintah menempatkan biner, sumber, dan manual-halaman file untuk perintah, dan typeperintah memberitahu apa sebenarnya shell mengeksekusi ketika Anda menjalankan perintah tertentu.
Coba whereis -l fluidplotdalam 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 di dalam folder rumah di bawah ~/.local/share/(dalam kasus saya).
Ditemukan di Linux Screw
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 libnss3. Dan
dpkg --search some_file
untuk menemukan paket apa yang termasuk file ini.
Misalnya, dpkg --listfiles libnss3beri 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 juga oleh orang lain. Periksa saja file-nya.
Dan sebaliknya, dpkg --search libnss3.somemberi 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
Alih-alih menggunakan which( yang mungkin bukan pilihan yang tepat kecuali jika Anda menggunakan csh ) Anda dapat menggunakan command -v fluidplotuntuk mendapatkan shell untuk bouncing seperti shell untuk memberi tahu Anda apa yang akan dilakukan jika Anda memintanya untuk menjalankan perintah ( fluidplotdalam 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 bahkan akan ditemukan dan berusaha dijalankan. Karena sebagian besar dari kita menggunakan cangkang mirip Bourne (misalnya, bash atau zsh) ini sering lebih disukaiwhich