Làm thế nào tôi có thể biết lệnh nào đã được cài đặt với một gói?


11

Làm thế nào tôi có thể nhận được một danh sách các lệnh đã được cài đặt với một gói cụ thể?

Ví dụ: nếu tôi cài đặt Chromium, nên gõ gì bây giờ? Hoặc nếu tôi cài đặt moreutils, làm thế nào để tôi biết lệnh nào đã được cài đặt?

Câu trả lời:


14

Câu trả lời ngắn:

dpkg -L packagename | grep 'bin/'

Câu trả lời dài:

Để có danh sách tất cả các tệp được cài đặt trong một gói (giả sử moreutils), hãy chạy lệnh này:

dpkg -L moreutils

Bây giờ, tất cả những gì chúng ta cần làm là lọc ra những tệp có khả năng thực thi trong đường dẫn. Nói chung, các lệnh được cài đặt để /bin, /sbin, /usr/bin/usr/sbin, vì vậy chúng tôi chỉ có thể phù hợp với những mô hình:

dpkg -L moreutils | grep -e '^/bin/' -e '^/sbin/' -e '^/usr/bin/' -e '^/usr/sbin/'

Nếu bạn muốn một cái gì đó dễ dàng hơn để ghi nhớ, nhưng không hoàn toàn chính xác, chỉ cần lọc ra các dòng bin/thay thế:

$ 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

Vì vậy, trong ví dụ này, tôi đã phát hiện ra các lệnh: isutf8, pee, errnovv


Một số gói không cài đặt lệnh vào đường dẫn, nhưng cài đặt biểu tượng cho ứng dụng GUI. Nếu bạn muốn tìm lệnh khởi chạy ứng dụng, bạn sẽ cần tìm .desktoptệp đã cài đặt và xem dòng bắt đầu bằng Exec=. Ví dụ:

$ dpkg -L worldofgoo | grep '\.desktop$'
/usr/share/applications/WorldOfGoo.desktop

$ grep '^Exec=' /usr/share/applications/WorldOfGoo.desktop 
Exec=/opt/WorldOfGoo/WorldOfGoo

Vì vậy, trong ví dụ này, tôi đã phát hiện ra rằng tôi nên chạy /opt/WorldOfGoo/WorldOfGoođể khởi chạy World Of Goo từ thiết bị đầu cuối.


1
Phần grepcó thể được hợp nhất một chút dựa trên ý tưởng rằng tất cả các mẫu kết thúc với bin/. (Và tôi không thể cưỡng lại việc cắt bớt tên đường dẫn.)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'
lgarzo

@lgarzo, bạn có thể đã học được điều này trong 6 năm qua nhưng bạn có thể phân phối với grep và cũng dpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'như -npchỉ gây ra các dòng thay đổi được in. Tiết kiệm cho bạn 60/1000 giây!
pbhj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.