ฉันจะรู้ได้อย่างไรว่าคำสั่งใดถูกติดตั้งพร้อมกับแพ็คเกจ


11

ฉันจะรับรายการคำสั่งที่ติดตั้งพร้อมกับแพคเกจเฉพาะได้อย่างไร

ตัวอย่างเช่นหากฉันติดตั้ง Chromium ฉันควรพิมพ์อะไรตอนนี้ หรือถ้าฉันติดตั้งฉันmoreutilsจะรู้ได้อย่างไรว่าคำสั่งใดได้รับการติดตั้งแล้ว?

คำตอบ:


14

คำตอบสั้น ๆ :

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 จากเทอร์มินัล


1
ส่วนหนึ่งสามารถรวมเล็กน้อยตามความคิดที่ว่าทุกรูปแบบจบด้วยgrep bin/(และฉันไม่สามารถต้านทานการตัดชื่อพา ธ ได้)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'
lgarzo

@lgarzo คุณอาจได้เรียนรู้สิ่งนี้ในช่วง 6 ปีที่ผ่านมา แต่คุณสามารถแจกจ่ายด้วย grep และdpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'เช่นเดียวกับ-nและpทำให้เกิดเฉพาะสายการเปลี่ยนแปลงที่จะพิมพ์ ช่วยคุณประหยัด 60/1000 วินาที
pbhj
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.