「man find」と入力すると、「man gfind」をどのように取得できますか?

「man find」と入力すると、「man gfind」をどのように取得できますか?

私の新しいMac OS / Darwinシステムでは、私のfindツールは11年前のBSDバージョンです。 MacPortsを使用して最新バージョンをインストールしました。findMacPortsで名前を付けgfindて配置されたGNUの/opt/local/bin/古いApple提供デバイスfindは残ります/usr/bin/find

findシステムで引き続き使用する場合に備えて、以前のバージョンを維持する必要がありますが、find代わりにコマンドラインに入力することをお勧めしますgfind

私はcreate in(私のパスの前に来る)またはcreate inで実行できることを知っていますgfind。どちらも非常にうまく機能します。私の質問は、入力したときにどのように取得できるかということです。いくつかのバージョンのinを試してみましたが、そのうち何も動作しませんでした。findlink/opt/local/bin//usr/binalias.zshrcman gfindman findalias.zshrc

どのように機能させますか?コマンドラインに入力すると、ポケットベルのman gfind画面にどのように行きますか?man find

答え1

元の検索ページが必要ない場合 - 次のfind.1.gzリンクを作成してください。gfind.1.gz

より良いアプローチは、MANPATH環境変数を編集し、その中に独自のツリー(man1、man2など)を置き、マニュアルページを置き換えることです。

答え2

すべてのGNUを変換する簡単で一般的な方法があります(「g-プレフィックス」)MacPortsインストールツール、そして$PATH関連マニュアルは基本ツールの前にあります。

➤MacPortsパッケージマネージャはシンボリックリンクを含むディレクトリを作成(および更新)します。みんなMacOSにインストールされているGNUツールとマニュアル。「g-プレフィックス」ツール:
/opt/local/libexec/gnubin  

マニュアルを含むサブディレクトリが2つ(またはそれ以上)あります。このディレクトリのすべてのファイルはシンボリックリンクGNUツールとマニュアル。たとえば、

lrwxr-xr-x  1 root  admin  20 Dec 26 17:21 find -> /opt/local/bin/gfind 

# under gnubin/man/man1 : 

lrwxr-xr-x  1 root  admin   36 Dec 26 17:21 find.1.gz -> /opt/local/share/man/man1/gfind.1.gz

私たちが確認した場合manpath

% manpath
/opt/local/share/man:/usr/local/share/man: /* etc. etc */ 
➤ したがって、$ PATHに追加すると、コマンドを入力すると実行され、/opt/local/libexec/gnubin入力すると表示されることがわかります。 PATHは、既存のPATHの前に追加することで変更できます。gfindfindman gfindman findgnubin
export PATH="/opt/local/libexec/gnubin:$PATH" 

満足すれば、export自分の項目に追加するだけです~/.zprofile。これ以上指を再教育してタイプgfindする必要はありませんfind

➤あなたもできますテーラーそれは簡単です:

多くのGNUツールは「コレクション」としてパッケージ化されています。これは、次gfindのようなさまざまなツールと一緒にパッケージ化されていることを意味します。ユーティリティパッケージを探す- 含むglocate。そこにいることが分かるまでは大丈夫でした。頑固な間違いDarwinとLinuxのいくつかの違いにより、これは効果的に無効になります(したがって役に立たなくなります)gupdatedbglocate

私は時々基本バージョンを使用していますが、locateGNUバージョンにもっと時間を無駄にしたくないと思います。これに関する「修正」は、へのunlinkシンボリックリンクglocategupdateの関連ドキュメントです/opt/local/libexec/gnubin

➤しかしもう一つのことがあります。もつれた並べ替えると「仕立て屋」グヌビン:

私はMacPortsが定期的に動作することを理解しています。修正する /opt/local/libexec/gnubin、管理者からのこれらの更新「修理する」私の修正!これにより、ソリューションに1つのステップしか追加されません。gnubin元のフォルダを別の場所にコピーし、その代替場所をすべて編集してから、unlinkPATHで使用してください。実行方法は次のとおりです。

% sudo cp -RPp /opt/local/libexec/gnubin/ /opt/local/libexec/gnubin-m

これは国の、BSDバージョンcp

➤最終的な解決策 - gnubin-mを編集/リンク解除してPATHに追加する

% sudo unlink /opt/local/libexec/gnubin-m/locate
% sudo unlink /opt/local/libexec/gnubin-m/man/man1/locate.1.gz 
...
export PATH="/opt/local/libexec/gnubin-m:$PATH"

関連情報