ฉันจะรับรายการคำสั่งที่ติดตั้งพร้อมกับแพคเกจเฉพาะได้อย่างไร
ตัวอย่างเช่นหากฉันติดตั้ง Chromium ฉันควรพิมพ์อะไรตอนนี้ หรือถ้าฉันติดตั้งฉันmoreutils
จะรู้ได้อย่างไรว่าคำสั่งใดได้รับการติดตั้งแล้ว?
ฉันจะรับรายการคำสั่งที่ติดตั้งพร้อมกับแพคเกจเฉพาะได้อย่างไร
ตัวอย่างเช่นหากฉันติดตั้ง Chromium ฉันควรพิมพ์อะไรตอนนี้ หรือถ้าฉันติดตั้งฉันmoreutils
จะรู้ได้อย่างไรว่าคำสั่งใดได้รับการติดตั้งแล้ว?
คำตอบ:
dpkg -L packagename | grep 'bin/'
ในการรับรายการไฟล์ทั้งหมดที่ติดตั้งในแพ็คเกจ (พูดmoreutils
) ให้รันคำสั่งนี้:
dpkg -L moreutils
ตอนนี้สิ่งที่เราต้องทำก็คือกรองไฟล์ที่สามารถเรียกใช้งานได้ในพา ธ โดยทั่วไปคำสั่งถูกติดตั้งเพื่อ/bin
, /sbin
, /usr/bin
และ/usr/sbin
เพื่อให้เราสามารถตรงกับรูปแบบเหล่านั้น
dpkg -L moreutils | grep -e '^/bin/' -e '^/sbin/' -e '^/usr/bin/' -e '^/usr/sbin/'
หากคุณต้องการบางสิ่งที่ง่ายต่อการจดจำ แต่ไม่แม่นยำอย่างสมบูรณ์เพียงกรองบรรทัดด้วยbin/
แทน:
$ dpkg -L moreutils | grep 'bin/'
/usr/bin/isutf8
/usr/bin/pee
/usr/bin/errno
/usr/bin/vidir
/usr/bin/zrun
/usr/bin/lckdo
/usr/bin/ifne
/usr/bin/mispipe
/usr/bin/parallel
/usr/bin/sponge
/usr/bin/ts
/usr/bin/ifdata
/usr/bin/vipe
/usr/bin/chronic
/usr/bin/combine
ดังนั้นในตัวอย่างนี้ผมได้ค้นพบคำสั่งเหล่านี้: isutf8
, pee
, errno
ฯลฯ
แพคเกจบางตัวไม่ติดตั้งคำสั่งลงในพา ธ แต่จะติดตั้งไอคอนสำหรับแอพ GUI หากคุณต้องการที่จะหาคำสั่งที่เปิดตัวแอพลิเคชันที่คุณจะต้องไปหาที่ติดตั้งไฟล์และดูที่จุดเริ่มต้นบรรทัดด้วย.desktop
Exec=
ตัวอย่างเช่น:
$ dpkg -L worldofgoo | grep '\.desktop$'
/usr/share/applications/WorldOfGoo.desktop
$ grep '^Exec=' /usr/share/applications/WorldOfGoo.desktop
Exec=/opt/WorldOfGoo/WorldOfGoo
ดังนั้นในตัวอย่างนี้ฉันได้ค้นพบว่าฉันควรเรียกใช้/opt/WorldOfGoo/WorldOfGoo
เพื่อเปิด World Of Goo จากเทอร์มินัล
dpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'
เช่นเดียวกับ-n
และp
ทำให้เกิดเฉพาะสายการเปลี่ยนแปลงที่จะพิมพ์ ช่วยคุณประหยัด 60/1000 วินาที
grep
bin/
(และฉันไม่สามารถต้านทานการตัดชื่อพา ธ ได้)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'