ฉันจะรับรายการคำสั่งที่ติดตั้งพร้อมกับแพคเกจเฉพาะได้อย่างไร
ตัวอย่างเช่นหากฉันติดตั้ง 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 วินาที
grepbin/(และฉันไม่สามารถต้านทานการตัดชื่อพา ธ ได้)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'