"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  

매뉴얼을 포함하는 하위 디렉토리가 두 개(또는 그 이상) 있습니다. 이 디렉터리의 모든 파일은심볼릭 링크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의 일부 차이점으로 인해 이는 효과적으로 비활성화됩니다(따라서 쓸모없게 만듭니다) gupdatedb.glocate

저는 가끔 기본 버전을 사용하는데 locateGNU 버전에 더 많은 시간을 낭비하지 않으려고 합니다. 이에 대한 "수정"은 에 대한 unlink심볼릭 링크 glocategupdate의 관련 설명서 입니다 /opt/local/libexec/gnubin.

➤ 그런데 한 가지가 더 있어요얽힌정렬하면"재단사"그누빈:

나는 MacPorts가 주기적으로 작동한다는 것을 이해합니다.고쳐 쓰다 /opt/local/libexec/gnubin, 관리자로부터 이러한 업데이트가"수리하다"내 수정 사항! 이렇게 하면 솔루션에 한 단계만 추가됩니다. gnubin원본 폴더를 다른 위치에 복사하고 해당 대체 위치를 모두 편집한 unlink다음 PATH에서 사용하세요. 수행 방법은 다음과 같습니다.

% 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"

관련 정보