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/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
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/bin
dop.
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 /bin
atau /sbin
, perpustakaan ada di /lib
, ikon / grafik / dokumen ada di / bagikan, konfigurasi ada di dalam /etc
dan data program ada di /var
.
The /bin
, /lib
, /sbin
mengandung aplikasi inti yang diperlukan untuk booting dan /usr
berisi semua pengguna dan sistem aplikasi lain.
The whereis
perintah menempatkan biner, sumber, dan manual-halaman file untuk perintah, dan type
perintah memberitahu apa sebenarnya shell mengeksekusi 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 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 libnss3
beri 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.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
Alih-alih menggunakan which
( yang mungkin bukan pilihan yang tepat kecuali jika Anda menggunakan csh ) Anda dapat menggunakan command -v fluidplot
untuk mendapatkan shell untuk bouncing 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 bahkan akan ditemukan dan berusaha dijalankan. Karena sebagian besar dari kita menggunakan cangkang mirip Bourne (misalnya, bash atau zsh) ini sering lebih disukaiwhich