차이 무엇 which
과 whereis
?
type
우수 하다고 생각 합니다. 또한 정의 된 별칭, 함수 등에 대해서도 알고 있습니다.
차이 무엇 which
과 whereis
?
type
우수 하다고 생각 합니다. 또한 정의 된 별칭, 함수 등에 대해서도 알고 있습니다.
답변:
학습 whereis
하고 which
사용하는 것은 whatis
어떻습니까?
$ whatis which
which (1) - shows the full path of (shell) commands
$ whatis whereis
whereis (1) - locate the binary, source, and manual page files for a command
기본적으로 whereis
"유용한 파일"을 which
검색하고 실행 파일 만 검색합니다.
나는 거의 사용하지 않습니다 whereis
. 반면에 which
특히 스크립트에서 매우 유용합니다. which
이 질문에 대한 답은 다음과 같습니다. 이 명령의 출처는 어디입니까?
$ which ls
/bin/ls
$ whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.bz2 /usr/share/man/man1/ls.1.bz2
whereis
,하지의 하나 which
.
which
실제 경로를 보여줍니다. 가리키는 경로가 가리키는 경로에 which
대한 심볼릭 링크가 whereis
아닙니까? 셸 별칭 일 수 있습니다. bash에서을 실행하십시오 type your_cmd_here
.
환경 변수 PATH로 지정된 디렉토리에서 실행 파일 을 검색합니다. 그리고 발견되면이 실행 파일의 전체 경로 이름이 인쇄됩니다.
$ which ls
/ bin / ls
$ which ifconfig
$ # ifconfig는 루트의 PATH에만 존재하므로 출력이 없습니다.
여기서 시스템이 자동으로 구축 한 데이터베이스를 사용하여 실행 파일, 소스 파일 및 매뉴얼 페이지를 검색합니다.
$는 덜
적습니다 : / bin / less / usr / bin / less / usr / bin / X11 / less /usr/share/man/man1/less.1.gz
그러나 whereis 와 locate 는 동일한 데이터베이스를 사용하지 않는 것 같습니다 . 나는 다음 소프트웨어를 설치하면 사용 whereis를 하고 찾아 본 소프트웨어를 검색 할 수 즉시. 결과적으로 whereis 는 찾을 수 없지만 이 소프트웨어와 관련된 일부 파일을 찾을 수 있습니다. 그들은 실제로 다른 데이터베이스를 사용합니까? 데이터베이스는 어떻게 작동합니까? -그럼, pedant가되기를 거부하는 것은 어떻습니까? :)