ค้นหาเฉพาะแพ็คเกจที่ติดตั้งโดยใช้ apt


16

ใช้aptitudeฉันสามารถทำการค้นหาเช่น:

aptitude search '~i bash'

นี่ดูเหมือนจะเป็นความถนัดที่เฉพาะเจาะจง เป็นไปได้ไหมที่จะทำสิ่งเดียวกันโดยใช้aptหรือapt-cacheไม่ใช้คำสั่งเพิ่มเติม?

apt search '~i bash'

ไม่ทำงาน.


3
aptไม่มีความถนัดเฉพาะคุณลักษณะการค้นหายังไม่ได้รับการดำเนินการใน
จอร์แดน

มีฟังก์ชั่นอื่น ๆ บ้างหรือไม่ที่ให้ผลเหมือนกัน?
Exostor

4
dpkg -l|grep bash
Ipor Sircer

dpkg เป็นคำสั่งอื่น
Exostor

ส่วนต่อประสานผู้ใช้ของการจัดการแพ็คเกจ Debian เป็นแบบอย่าง
Rolf

คำตอบ:


18

คุณสามารถลอง:

apt list --installed bash

นี่จะพยายามแสดงรายการpackages ที่ติดตั้งพร้อมชื่อbash

อย่างไรก็ตามหากคุณต้องการค้นหาไฟล์ใดไฟล์หนึ่งให้ใช้ apt-file

คำสั่งต่อไปนี้จะแสดงรายการแพ็กเกจทั้งหมดที่มีสตริงbashอยู่ภายในชื่อ:

apt list -a --installed bash

ตามที่แนะนำโดย @Exostor apt list -a --installed bashอาจไม่ใช่กรณีที่จะแสดงรายการแพ็กเกจเหล่านั้นที่เริ่มต้นด้วยสตริงเฉพาะแทนที่จะใช้:

apt list -a --installed bash*

หาก globbing คือสิ่งที่คุณกำลังค้นหาโปรดโหวตความคิดเห็น @Exostor ด้านล่าง


2
อา! แต่นั่นจะไม่ทำอย่างนั้นเพราะมันจะไม่แสดงรายการ bash-builtins, bash-doc ฯลฯ แต่apt list --installed bash*อยู่ใกล้พอสำหรับฉัน
Exostor

แทนที่จะ-aนำมาใช้
ซ้ำคุณ

2
ไม่ได้ผลสำหรับฉัน Ubuntu 16.04-machine: apt list -a --installed bashแสดง bash / xenial-updates และ bash / xenial แต่apt list --installed bash*แสดง bash, bash- complete และ bash-doc ซึ่งเป็นแพ็คเกจ bash-three ทั้งสามที่ติดตั้งบนเครื่อง
Exostor

@Exor หรือสิ่งที่จริง ๆ แล้วทำอย่างไร
ysth

@ysth แสดงรายการแพ็คเกจทั้งหมด หากไม่มี - จะแสดงรายการรีลีสล่าสุดเท่านั้น
Exostor

6

dpkg-query --list | grep '^.i\s*PKG'

หรือ:

dpkg-query --list PKG\* | grep '^.i'

โดยที่PKGเป็นชื่อแพ็คเกจที่ต้องการ / a reg-ex


2

หากใครสงสัยว่าจะทำยังไงฉันก็ใช้วิธีต่อไปนี้

apt list --installed | grep [XYZ]

วิธีนี้ยังแสดงแพคเกจต่าง ๆ ที่ติดตั้งซึ่งประกอบด้วยสตริงที่คุณค้นหา ตัวอย่างเช่นหากฉันกำลังค้นหา vlc ฉันจะแสดงแพ็คเกจอื่น ๆ ซึ่งมี 'vlc' อยู่ในชื่อด้วย นี่คืออินพุตและเอาต์พุต:

apt list --installed | grep vlc

WARNING: apt.divert does not have a stable CLI interface. Use with caution in scripts.

browser-plugin-vlc/stable,now 2.0.6-4 amd64 [installed]
libvlc-bin/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
libvlc5/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
libvlccore8/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
phonon4qt5-backend-vlc/stable,now 0.9.0-2 amd64 [installed,automatic]
vlc/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-bin/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-data/stable,stable,stable,stable,now 2.2.7-1~deb9u1 all [installed]
vlc-l10n/stable,stable,stable,stable,now 2.2.7-1~deb9u1 all [installed]
vlc-plugin-base/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-notify/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-qt/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-samba/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-skins2/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-video-output/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-video-splitter/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-visualization/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]

หากปรากฎว่าคุณไม่ได้ติดตั้งแพคเกจคำสั่งก็จะจบการทำงาน


จากทุกสิ่งที่กล่าวมาข้างต้นนี้เป็นสิ่งเดียวที่ทำงานให้ฉันในโรงกษาปณ์ 18.3
JoeManiaci
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.