Ubuntuで利用可能なすべてのコマンドのリストを取得する方法は?


22

ターミナルをもっと頻繁に使い始めたいのですが、私が利用できるさまざまなコマンドが何なのかわかりません。私が利用できるすべての異なるコマンドをリストする方法はありますか?

回答:


25

最初の方法

NB:@Rmanoに感謝します。このメソッドはzshシェルでは機能しません 。

簡単なコマンド:

ls ${PATH//:/ }

これにより、$PATH環境変数内のすべてのコマンドがリストされます。

結果をファイルに保存するには、出力をファイルにリダイレクトできます。

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

ディレクトリ名に$PATHスペースが含まれていると、エラーが返されることに注意してください。その場合、代わりにこれを使用してください:

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

第二の方法

また、使用することができます:

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

第三の方法

別の方法はダブルTabクリックです。

第四の方法

findコマンドを使用する別の方法:

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

最初のコマンドはで動作することに注意してくださいbashではなく、中にzshデフォルトで無効に単語分割を持っています、。refining-linux.org/archives/38/...
Rmano

11

すべての公式Ubuntuフレーバーのデフォルトシェルであるbashを使用している場合は、実行compgen -cしてエイリアスを含む使用可能なコマンドを確認します。


そのbashだけですか?
Braiam 14年

1
GUIベースのプログラム用のコマンドも含まれています。そのcompgen -c | grep thunarため、Thunarファイルマネージャーをインストールしている場合は、Thunarに関連するコマンドも表示されます。

1
Mmm ...はDebianでは機能しません。どのパッケージがそれを提供しますか?
Braiam 14年

2
それを説明する@Rinzwind、私はzshを使用しています。
Braiam

1
@ vasa1:この答えはもっと一般的でしょうか?私はそれがbashの解決策を提供するだけであることを意味しますが、Braiamはzshではうまくいかないと述べたように...可能であれば、より多くの聴衆に応えるために答えを拡大してください-明らかに答えを知っている場合にのみ:
アディティア14年

4

ターミナルCtrl+ Alt+ tを開き、次のコマンドを実行します。

whatis `compgen -c` | more 

これにより、すべてのコマンドと各コマンドの簡単な説明がリストされます。

リストを保存したい場合は、結果を出力ファイルにリダイレクトできます

whatis `compgen -c` > listOfCommands.txt

それで、なぜwhatisコマンドを使用したのでしょう。コマンド man whatisは以下を提供します:

各マニュアルページには、短い説明があります。
whatisはマニュアルページの名前を検索し、一致した名前のマニュアルページの説明を表示します。

だから簡単な言葉whatisで一般を与えます。各コマンドの説明


追加情報については+1。whatis `compgen -c` | sort> listOfCommands.txtは、ソートリストに入るのに役立ちます。
Sauravクマー

別の有用なコマンド:apropos <keyword>検索すべてのコマンドとその簡単な説明や表示結果
Aloso

3

ターミナルを開き、Tabキーを2回押します。


1
-1。これは標準ではないためです。
ロレンツォアンコラ

@LorenzoAncoraなぜ標準ではないのですか?すべてのUbuntuに標準の動作としてダブルタブのオートコンプリートがありませんか?
dadexix86 14年

2
デフォルト!=標準:将来的には、標準ではないため、このメカニズムをサポートしないコンソールが提供される予定です。さらに、TAB標準は異なる機能を提供する場合があります。公式のFHS標準の一部であり、すべてのLinux / Unixシステムにそのディレクトリがあるため、標準的な手順では「bin」の内容を一覧表示しています。Ubuntuの正しい機能(およびユーザーを支援するコミュニティの能力)は、標準の尊重によって保証されています。
ロレンツォアンコラ14年

わかりました、説明に感謝:) Ubuntuの
ダブルタブ

@LorenzoAncora 1つのディレクトリの内容を一覧表示しても、すべての実行可能コマンドに近い場所は表示されません。すべての PATHディレクトリの内容を一覧表示しても、対応する実行可能ファイル(などcd)がないシェルビルトインは表示されません。Tabキーを2回押すと、これら両方の厳しい制限が克服されます。任意のGNU / Linuxシステムですべてのコマンドを表示する方法を誰かが尋ねた場合、タブ補完は適切な解決策ではないと主張するかもしれません。もちろん、Ubuntuでは将来、か変更される可能性がありますが、デフォルトのインタラクティブシェルでタブ補完がなくなる可能性はごくわずかです。
エリアケイガン14年

2

コマンドのリストはインストールしたものに大きく依存しますが、すべてのコマンドをリストするチートがあります。以下は、ほとんどのボーンのようなシェルで動作します。

  1. Tab2回押します。
  2. を使用findしてすべての実行可能ファイルを検索します。

    find / -perm +x
    
  3. バイナリディレクトリ内のすべてのファイルをリストします(不完全な場合があります)。

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

1

ターミナルウィンドウを開きます(GNOMEターミナルはOKです。構成済みのxTermも同様です)。
オプションは次のとおりです。

  • TABキー( "-> <-")を2回押すと、コンソールのコマンドが完了し、行が空の場合は、使用可能なすべてのコマンドの番号と名前が表示されます。時間がかかる場合があり、半管理ユーティリティがリストされる場合があることに注意してください。注:これは標準ではありません。「クロスシェル」の方法については、他のオプションを参照してください。

  • を使用man -k NAMEしてコマンド(またはその一部)を検索し、man COMMANDそのコマンドのマニュアルを取得します。すべてのコマンドにはシステムマニュアルがありません。管理ユーティリティを使用するに男性を読むことは常に良い考えです。私を信じて。

  • Midnight Commander(mc)を使用して、システムとファイルシステムを管理するための素敵なコンソール(呪い)GUIを使用します。パッケージマネージャーからインストールする必要がある場合があります。心配しないでください。安全で非常に一般的なソフトウェアです。
    注:ファイルシステムの使用に混乱または困難がある場合に使用します。

  • ls /bin | moreすべての外部管理実行可能ファイルを知るために使用しますls /sbin | more以下のための一般的な管理の実行可能ファイル

  • 使用するls /usr/sbin | moreすべて知っているユーザーの実行可能ファイルをユーザーの実行可能ファイルとライブラリのls /usr/sbin | more非常に膨大なリストを提供します
    注:からの出力moreが1ページ(画面)を超える場合、「Page Up」と「Page Down」またはスペースバーを押してスクロールする必要があります。出力のフィルタリングに
    使用できますCOMMAND | grep TEXT

さらに質問がある場合はここにコメントしてください。私が助けてくれたなら、答えの横にあるチェックマークを忘れずにチェックしてください。
いい経験をしてください。


通常、ほとんどの実行可能ファイルはに/usr/binありますが、ここでは言及していません。また/sbin、やなど、システム管理によく使用される実行可能ファイルが含まれusermodていifconfigます。また、多くのシステムには、などの他のバイナリディレクトリも/usr/gamesあり/usr/local/binます。ファイルシステム階層標準およびを参照してくださいman 7 hier。これを展開して、/binおよび以外の実行可能ファイルの重要なディレクトリを指定することもでき/usr/sbinます。
エリアケイガン14年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.