Ubuntu için mevcut tüm komutların bir listesini nasıl alabilirim?


22

Terminali daha sık kullanmaya başlamak istiyorum ancak benim için farklı komutların neler olduğunu bilmiyorum. Kullanabileceğim tüm farklı komutları listelemenin bir yolu var mı?

Yanıtlar:


25

İlk yöntem

Not : @Rmano'ya teşekkürler. Bu yöntem zshkabuk ile çalışmaz .

Basit bir komut:

ls ${PATH//:/ }

Bu, $PATHortam değişkeninizdeki tüm komutları listeler .

Sonucu bir dosyada saklamak için çıktıyı bir dosyaya yönlendirebilirsiniz.

ls ${PATH//:/ } > mycommands.txt

Sizin $PATHdizinizdeki herhangi bir dizin adı boşluk içeriyorsa bunun bir hata vereceğini unutmayın . Bu durumda, bunu kullanın:

while read -d ':' dir; do echo "$dir"; done <<<$PATH

İkinci yöntem

Ayrıca şunları da kullanabilirsiniz:

compgen -c | sort -u > commands && less commands

Üçüncü yöntem

Başka bir yöntem çift Tabtıklamaktır.

Dördüncü Yöntem

findKomutu kullanan başka bir yöntem :

find {,/usr}/{,s}bin -printf '%f\n\0'

İlk komutun çalıştığına dikkat edin, bashancak zshsözcük split varsayılan olarak devre dışı bırakılmıştır. refining-linux.org/archives/38/...
Rmano

11

Tüm resmi Ubuntu tatlarında varsayılan kabuk olan bash kullanıyorsanız, compgen -ctakma adlar dahil mevcut komutları görmek için koşun .


Bu sadece bash mı?
Braiam

1
GUI tabanlı programların komutları bile dahil edilmiştir. Eğer compgen -c | grep thunarkurarsanız ve Thunar dosya yöneticisine sahipseniz, Thunar ile ilgili komutları da görürsünüz.

1
Mmm ... Debian'da çalışmıyor. Hangi paket bunu sağlar?
Braiam

2
@Rinzwind açıklayan, ben zsh kullanıyorum.
Braiam

1
@ vasa1: Bu cevap daha genel olabilir mi? Yani sadece bash için bir çözüm sunuyor, ama Braiam'ın zsh için işe yaramadığını belirttiği gibi ... Mümkünse, lütfen cevabı daha büyük bir kitleye hitap etmek için genişletebilirsiniz - açıkçası sadece cevabı biliyorsanız :-)
Aditya

4

Terminal Ctrl+ Alt+ ' yı açın tve şu komutu çalıştırın:

whatis `compgen -c` | more 

Bu, tüm komutları ve her bir komutun basit bir tanımını listeler.

Listeyi kaydetmek istiyorsanız sonucu bir çıktı dosyasına yönlendirebilirsiniz.

whatis `compgen -c` > listOfCommands.txt

Peki neden whatis komutunu kullandım. Komut man whatisverir:

Her kılavuz sayfasının içinde kısa bir açıklaması vardır.
whatis, manuel sayfa adlarını arar ve eşleşen herhangi bir adın manuel sayfa açıklamalarını görüntüler.

bu yüzden kolay sözleriyle whatisbir genel verin. Her komutun açıklaması


Ek bilgi için +1. whatis `compgen -c` | sort> listOfCommands.txt , sıralama listesine girmenize yardımcı olur.
Saurav Kumar

Başka bir yararlı komut: apropos <keyword>tüm komutları ve kısa açıklamalarını arar ve sonuçları görüntüler
Aloso

3

Bir terminal açın ve tuşuna Tabiki kez basın .


1
-1, çünkü bu standart değil.
Lorenzo Ancora

@ LorenzoAncora neden standart değil? Tüm Ubuntu'ların otomatik tamamlama özelliği standart davranış olarak çift Tab ile değil mi?
dadexix86

2
Varsayılan! = Standart: ileride belki de bu mekanizmayı desteklemeyen bir konsola sahip olacağız, çünkü standart değil; dahası, TAB standardı farklı bir fonksiyona hizmet edebilir. Standart bir prosedür 'bin' içeriğinin listelenmesidir, çünkü resmi FHS standardının bir parçasıdır ve herhangi bir Linux / Unix sistemi bu dizine sahiptir. Ubuntu'nun doğru işlevselliği (ve topluluğun kullanıcılara yardım etme yeteneği) standartlara uygun olarak sağlanır.
Lorenzo Ancora

Tamam, açıklama için teşekkürler :) Ubuntu'daki çift
Tab'ın

@LorenzoAncora Herhangi bir dizinin içeriğini listelemek, tüm çalıştırılabilir komutlara yakın hiçbir yerde gösterilmez. Tüm PATH dizinlerinin içeriğini listelemek, karşılık gelen yürütülebilir (örneğin cd) olmayan kabuk yerleşiklerini göstermez . Tab'e iki kez basmak, bu ciddi sınırlamaların her ikisinin de üstesinden gelir. Birisi bütün komutların keyfi bir GNU / Linux sisteminde nasıl gösterileceğini sormuşsa, Sekme tamamlamanın uygun bir çözüm olmadığı söylenebilir. Elbette gelecekte Ubuntu'da her şey değişebilir, ancak varsayılan etkileşimli kabukta sekme tamamlama olasılığı çok küçüktür.
Eliah Kagan

2

Bir komut listesi, yüklediklerinize büyük ölçüde bağlıdır, ancak tüm komutları listelemek için hileler vardır. Çoğu bourne benzeri kabuk üzerinde çalışıyor:

  1. Tabİki kez basın .
  2. findTüm çalıştırılabilir dosyaları bulmak için kullanın :

    find / -perm +x
    
  3. İkili dizinlerdeki tüm dosyaları listeleyin (eksik olabilir):

    ls /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
    

1

Bir terminal penceresi açın (GNOME terminali tamam, ayrıca konfigüre edilmiş bir xTerm).
Seçenekleriniz:

  • TABTuşa ("-> <-") iki kez basarak, konsoldaki herhangi bir komutu tamamlayacak ve satır boşsa, mevcut tüm komutların numarasını ve adlarını alacaksınız . Lütfen biraz zaman gerektirebileceğini ve yarı idari hizmetleri listeleyebileceğini unutmayın. NOT: bu bir standart değildir, "çapraz kabuk" yöntemi için diğer seçeneklere bakın.

  • Kullan man -k NAMEbir komuta aramak için (veya bir kısmını) ve man COMMANDbu komut için manuel elde etmek. Tüm komutların bir sistem el kitabı yoktur; Herhangi bir idari yardımcı programı kullanmadan önce adamı okumak her zaman iyi bir fikirdir; güven Bana.

  • mcSistemi ve dosya sistemini yönetmek için hoş bir konsol (küfürler) GUI'si oluşturmak için Midnight Commander ( ) kullanın . Paket yöneticinizden yüklemeniz gerekebilir. Endişelenme; güvenli ve son derece yaygın bir yazılımdır.
    NOT: Dosya sistemini kullanırken kafa karışıklığınız veya zorluk çekmeniz durumunda yapılır.

  • ls /bin | moreTüm mevcut idari çalıştırılabilir dosyaları bilmek için kullanın ; ortak idari çalıştırılabilir uygulamalarls /sbin | more için .

  • ls /usr/sbin | moreTüm kullanıcı çalıştırılabilirlerini bilmek için kullanın ; ls /usr/sbin | moreÇok sayıda kullanıcı çalıştırılabilir ve kitaplık listesi verecektir .
    NOT: Çıktı morebir sayfayı geçerse (ekrandan), "Sayfa Yukarı" ve "Sayfa Aşağı" ya da boşluk tuşuna basarak py kaydırmanız gerekir. Çıktıyı filtrelemek için
    kullanabilirsiniz COMMAND | grep TEXT.

Buraya altında daha fazla sorunuz varsa ve size yardım edersem cevabın yanındaki onay işaretini kontrol etmeyi unutmayın.
İyi bir deneyim yaşa.


Genellikle, çoğu çalıştırılabilir, /usr/binburada belirtmediniz. Ayrıca /sbin, usermodve gibi sistem yönetimi için sıkça kullanılan çalıştırılabilir dosyaları içerir ifconfig. Ve birçok sistem gibi, hem de diğer ikili dizinleri vardır /usr/gamesve /usr/local/bin. Bkz. Dosya sistemi hiyerarşisi standardı ve man 7 hier. Bunu, ayrıca /binve dışındaki yürütülebilir dosyalar için önemli dizinlerden bahsedecek şekilde genişletmek isteyebilirsiniz /usr/sbin.
Eliah Kagan

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.