Debian Squeezeにプログラム(iftop
)をインストールしましたが、数日前に名前を忘れました。私がこのプログラムについて知っていることは次のとおりです。
1) という*top
2)を使用して見つけることができますbash-completions
。
私が望んでいたgrep
すべてのオプションbash-completion
。私が何をすべきか知っていますか?
答え1
compgen
可能な完成リストを得るには、組み込み関数を使用してください。
compgen -c | grep top
コマンド、エイリアス、関数など、さまざまな種類の完成を要求できます。詳細についてはを参照-c
してください。-A commands
man bash
答え2
確かに使いやすいと思いますcompgen
。または、POSIXシェルで動作し、次のコマンドを使用してコマンドを確認できます$PATH
。
(IFS=:; set -f; ls -- $PATH | grep top$)
そしてzsh
:
type -m '*top'
whatisデータベースを照会することもできます。
man -ks1:8 top$
答え3
でもできますが、完成システムで学ぶ、これは最も確実なアプローチではありません。
/usr/bin
packgesによってインストールされたほとんどすべてのプログラムが含まれているので、名前が次に終わるプログラムを一覧表示できます。/usr/bin
top
echo /usr/bin/*top
inode 変更時間ごとにファイルを一覧表示できます。インストールされたプログラムの修正時間は通常コンパイル時間です。なぜなら、アーカイブとインストールツールは変更時間をデータと共にコピーするからです。ただし、ファイルのinode変更時間は、インポートまたはコピーを含む最後に発生した時間です。実際に修正時間が変更されると、inode変更時間がリセットされます。このプログラムは最近インストールしたため、次のコマンドで表示される最後のプログラムの1つです。
ls -lctr /usr/bin/*top
r
下からではなく上から見るには、このオプションを削除してください。
インストールされているプログラムのログも表示できます。彼らは位置しています/var/log/history.log
。
答え4
シェル機能を使用して、PATHとバイナリを含むがPATHには存在しない既知のディレクトリを検索できます。例:
findprogram() {
ls $(echo $PATH:/sbin:/usr/sbin | sed "s/:/\ /g") | grep "$1" | sort --unique
}
使用法:
findprogram top
これにより、ソートされた候補者のリストが出力されます。