ภายใต้ linux ฉันเปิดซอฟต์แวร์โดยพิมพ์เช่น fluidplot ฉันจะค้นหาเส้นทางการติดตั้งสำหรับซอฟต์แวร์นี้ได้อย่างไร
ภายใต้ linux ฉันเปิดซอฟต์แวร์โดยพิมพ์เช่น fluidplot ฉันจะค้นหาเส้นทางการติดตั้งสำหรับซอฟต์แวร์นี้ได้อย่างไร
คำตอบ:
คุณสามารถใช้ได้:
which fluidpoint
เพื่อดูว่ามันทำงานจากที่ใด (ถ้าอยู่ใน $ PATH ของคุณ) หรือ:
find / -name fluidpoint 2> /dev/null
เพื่อค้นหาไฟล์ชื่อ fluipoint และเปลี่ยนเส้นทางข้อผิดพลาดในระบบไฟล์เสมือน
พวกเขามักจะอยู่ใน/sbin
, /usr/sbin
, /usr/local/bin
หรือ~
เป็นไดเรกทอรีที่ซ่อนอยู่
จากคู่มือ:
NAME
which - shows the full path of (shell) commands.
SYNOPSIS
which [options] [--] programname [...]
คู่มือการเต็มรูปแบบ: https://linux.die.net/man/1/which
alias fluidpoint
ไม่
which
(เช่นรุ่นที่สร้างใน ZSH) บางรุ่นจะทำเพื่อคุณ
/opt/*
เป็นไดเรกทอรีบ้านของคุณฉันสับสนว่าทำไมคุณถึงเรียกว่า "ซ่อน" /usr/local/bin
~
~/.dir
ขออภัยที่จะคลุมเครือผมหมายถึง ไดเรกทอรีที่ซ่อนอยู่ด้านล่างไดเรกทอรีบ้าน และฉันก็ลืมเรื่อง/usr/local/bin
dop โดยสิ้นเชิง
หากคุณใช้การกระจายแบบ RPM (CentOS, RHEL, SUSE, openSUSE) คุณสามารถใช้ rpm -ql
ตัวอย่าง:
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
สิ่งที่ไม่ได้ติดตั้งไว้ในสถานที่ในโลกของ Linux / UNIX เหมือนอยู่ใน Windows (และแม้แต่ใน Mac) พวกเขากระจายมากขึ้น ไบนารีอยู่ใน/bin
หรือ/sbin
ห้องสมุดอยู่ใน/lib
ไอคอนกราฟิก / / เอกสารอยู่ใน / หุ้น, การตั้งค่าที่อยู่ในและข้อมูลที่อยู่ในโปรแกรม/etc
/var
/bin
, /lib
, /sbin
มีการใช้งานหลักที่จำเป็นสำหรับการบูตและ/usr
มีทั้งหมดของผู้ใช้และระบบการใช้งานอื่น ๆ
whereis
คำสั่งตั้งไบนารีแหล่งที่มาและไฟล์คู่มือหน้าสำหรับคำสั่งและtype
คำสั่งที่บอกว่าสิ่งที่เปลือกรันเมื่อคุณเรียกใช้คำสั่งบางอย่าง
ลองwhereis -l fluidplot
ในกรณีของคุณ
หากส่งคืนเฉพาะ "fluidplot:" แต่ไม่มีเส้นทางหมายความว่าไม่ได้ติดตั้งซอฟต์แวร์
โปรดทราบว่านี่ไม่รวมไฟล์ที่อาจซ่อนอยู่ในโฟลเดอร์บ้านภายใต้~/.local/share/
(ในกรณีของฉัน)
พบได้ในLinux Screw
เพียงเพิ่มบางประเด็นให้กับคำตอบของ @ djsumdog ถ้าคุณใช้ DPKG based dist เช่น Ubuntu คุณสามารถใช้
dpkg --status some_package
เพื่อตรวจสอบว่ามันเกี่ยวกับอะไรและ
dpkg --listfiles some_package
เพื่อตรวจสอบว่ามีไฟล์ใดบ้างที่เกี่ยวข้อง / เกี่ยวข้องกับแพ็คเกจนี้ libnss3
มันเป็นแพคเกจที่ไม่ได้มีการเรียกใช้ไบนารีเช่น และ
dpkg --search some_file
เพื่อค้นหาแพ็คเกจที่มีไฟล์นี้
ตัวอย่างเช่นdpkg --listfiles libnss3
ให้ฉัน:
/.
/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
โปรดทราบว่าโฟลเดอร์นี้ไม่เพียงเป็นเจ้าของโดยแพ็คเกจนี้เท่านั้น เพียงตรวจสอบไฟล์
และตรงกันข้ามdpkg --search libnss3.so
ให้ฉัน:
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
แทนที่จะใช้which
( ซึ่งอาจไม่ใช่ตัวเลือกที่เหมาะสมยกเว้นว่าคุณกำลังใช้ csh ) คุณสามารถใช้command -v fluidplot
เพื่อให้เชลล์เหมือน boune เพื่อบอกคุณว่าจะทำอย่างไรถ้าคุณขอให้เรียกใช้คำสั่ง ( fluidplot
ในตัวอย่างนี้) .
ตัวอย่างบางส่วนสำหรับฉัน:
$ 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
เพื่อให้คุณสามารถใช้เพื่อทดสอบว่าจะพบคำสั่งและพยายามเรียกใช้หรือไม่ เนื่องจากพวกเราส่วนใหญ่ใช้เชลล์คล้าย Bourne (เช่น bash หรือ zsh) ซึ่งมักจะเป็นที่นิยมมากกว่าwhich