エイリアスを見つけるには、検索を使用します。

エイリアスを見つけるには、検索を使用します。

エイリアスをインストールせずにlocate小規模システムで検索するのと同じ結果を得るにはどうすればよいですか?

find同じ出力を生成できると想像できるため、エイリアスは次のようになります。

alias locate="find / -name"

しかし、これは検索と同じように機能しないようです。

locate test

その名前のファイルのみが検索されます。正確に検索時に呼び出されると、そのファイルをtest含むすべてのファイルが検索されます。

解決策

使用:

locate *test*

ベストアンサー1

ルックアップ速度への大きな影響を改善するには、位置決めなどをシミュレートできます。

alias locate="if [ ! -e /tmp/locate.db -a ! -e /tmp/locate.lockdb ]
then touch /tmp/locate.lockdb
trap \"rm /tmp/locate.lockdb; rm /tmp/locate.db; exit\" SIGHUP SIGINT SIGTERM
find /|tee /tmp/locate.db
chmod 666 /tmp/locate.db
rm /tmp/locate.lockdb
elif [ -e /tmp/locate.lockdb ]
then find /
else cat /tmp/locate.db
fi|grep "

もちろん権限の問題です!ただし、データベースに対していくつかのsetuidコマンドを作成し、teeスーパーcatユーザーモードとより良い場所でデータベースに書き込む方が良いでしょう/tmp

locate.dbほとんどのシングルユーザーまたは少数のユーザーシステムでは、手頃な価格の選択肢は各ユーザーをプログラミングすることです$HOME

別の良いエイリアスは、更新/検索が可能であることです。まあ、結局私はこのニックネームがオリジナルよりも良い位置にあると思います。)

alias relocate="if [ ! -e /tmp/locate.lockdb ]
then rm /tmp/locate.db
fi
locate "

編集する 実際、リターゲティングも上記のターゲティングエイリアスのように使用する必要があると思います。パラメータなしで再配置を使用すると、エラーが発生します。relocate "no file to search for"検索したくなくデータベースのみを更新したい場合に使用することをお勧めします。

いいですね。その照会も設定する必要があります。しかし、その後、場所パックを捨てることができます。引数は参照点grepに渡されなければなりません。sed.

初心者の注意点: ここで setuid について話すとき同様のツールにSETUIDフラグを設定しないでください teecatまたはfind。これはシステムのセキュリティ抜け穴になります!私の言葉は、このエイリアスに適したツールを提供するために、setuidモードで制限された方法で動作するこれらの単純なコマンドの安全な代替策を書くことです。

おすすめ記事