우리는 해결해야 할 문제가 많다절대 경로, 때로는 파일용, 때로는 명령용입니다. 정확히 무엇인지에 대한 핵심 지식 기반 질문을 원합니다.절대 경로 하다파일뿐만 아니라 명령과 관련이 있기 때문입니다.
무슨 뜻이야?절대 경로명령 구현 및 이것이 Unix 및 Linux 작업에 어떤 영향을 미칩니까?
- 어떻게절대 경로행동은 다음과 다릅니다상대 경로?
- ~이든절대 경로환경
$PATH
설정을 재정의하시겠습니까? - 명령 대체에서 다른 일이 발생합니까?
$(/bin/echo Hello world)
- 는절대 경로더 나은 스크립팅?
- 왜 가끔은 많지?절대 경로주문을 위해?
/usr/bin/echo
/bin/echo
- 둘 다 동일한 시스템에서 작동합니다.
- 배포판 전체에서 더 일관성이 있습니까, 아니면 POSIX가 선호됩니까?
cd
명령이 없는 것처럼 일부 명령을 수행하는 이유는 무엇입니까?절대 경로?- 왜인지 아닌지아니면 해야 한다우리는절대 경로스크립팅에서?
- 절대 경로예스크립트 관련
- 쉘 인터프리터가 신경 쓰나요?절대 경로,
bash
vszsh
?
명확성
- 이는 특정 명령을 요청합니다.
- 절대 경로(
/usr/bin/echo
) - 비교하면 그상대 경로(
echo
)
- 절대 경로(
- 나는 묻는 것이 아니다정식 경로심볼릭 링크와 관련되어 있기 때문입니다.
- 나는 묻는 것이 아니다절대 vs 상대 vs 규범경로 또는 기본 정의(예:슬래시가 있는 POSIX 파일 이름은
/
디렉토리 트리를 나타냅니다., 등)
답변1
- 절대 경로는 상대 경로와 어떻게 다르게 동작합니까?
- 절대 경로가 환경 $PATH 설정을 재정의합니까?
- 명령 대체 시 다른 일이 발생합니까? $(/bin/echo Hello world)
절대 경로와 상대 경로가 모두 다루어집니다 $PATH
. 중요한 것은 a가 /
존재하는지 여부입니다. /some/command
또는 인 경우 ./some/command
해당 some/command
위치(절대 또는 상대)의 명령이 에서 검색되는 대신 실행됩니다 $PATH
. 슬래시가 없으면 some-command
에서 검색됩니다 $PATH
. 명령 대체는 이에 영향을 미치지 않습니다.
- 때때로 명령에 절대 경로가 많은 이유는 무엇입니까?
시스템에 따라 다릅니다. 존재하다UsrMerge를 사용하는 Linux 시스템(페이지에 Fedora가 언급되어 있지만 여기에는 최신 Ubuntu, Debian, Arch Linux 등이 포함됩니다.) /bin
예 /usr/bin
, 그렇습니다 /bin/echo
. 및 /usr/bin/echo
동일합니다. Solaris에서는 XPG 섹션에서 더 많은 표준 호환 유틸리티를 사용할 수 있습니다.XPG* 버전의 명령은 언제 사용해야 합니까?다른 시스템에는 다른 원인이 있을 수 있습니다.
- 예를 들어 일부 명령에
cd
절대 경로가 없는 이유는 무엇입니까?
때때로 그들은:"cd" 외부 명령의 의미는 무엇입니까?, 때로는 그렇지 않은 경우도 있습니다.CD는 왜 프로그램이 아닌가?
모든 "해야 할 것"과 "하지 말아야 할 것"은 당신이 무엇을 하고 싶은지에 달려 있습니다. 때때로 사람들이 절대 경로를 사용하는 것을 봅니다. 왜냐하면 그것이 사용자가 설치했을 수 있는 도구의 대체 버전으로부터 자신을 보호한다고 생각하기 때문입니다. 때때로 나는 이것이 소프트웨어를 다른 시스템으로 포팅하려는 사람들에게 문제를 일으키는 것을 보았습니다. 왜냐하면 이러한 절대 경로의 도구는 의도된 도구가 아니지만 사용자가 설치한 대체 버전이 제대로 작동하기 때문입니다.