export=/bin:/usr/bin:/usr/local/bin:${PATH}를 파헤쳐보자

김현재·2022년 5월 29일
2
post-thumbnail

zsh: command not found

zsh를 사용해서 이것저것 패키지를 받은 뒤 실행하려고 했는데, 분명 5분전 받은 패키지를 zsh가 실행하지 못하는 일이 발생했다.
해결 방법은 되게 심플했는데,
zsh의 path설정을 PATH=/bin:/usr/bin:/usr/local/bin:${PATH}로 설정하니 잘 돌아갔다.

물론 이 방법은 stackoverflow를 통해 알아낸거인데..
문득 들었던 생각이, 이사람들은 어떻게 저 path를 알아내가지고 이렇게 알려줄까?싶었다.
(리눅스 초보로서 저렇게 긴 path를 다들 어디서 알아내는건지 궁굼해졌다)

그래서 찾아봤다.

다들PATH=/bin:/usr/bin:/usr/local/bin:${PATH} 라는 경로는 어찌 아는건가

다들 아는데는 역시 이유가 있었다.
위의 경로들은 리눅스 내에서 설치된 명령어를 검색하는 경로였다.
:는 해당 경로들을 분류해놓는 것으로, 위의 경우에는 총 4개의 path를 연결한 경우이다.

이러한 검색 명령 경로는 총 6개가 있어, 이들로 path를 설정해두어야 설치된 패키지 확인이 잘 되는 것!

아마도 맨 처음에 zsh 설정할때 path설정이 잘못되어있었거나, 설정을 아예 안해놓아서(?) 패키지 확인이 잘 안됐었던거 같다

역시 리눅스를 잘 알아야 이런 상황에서 당황하지 않겠구나 느꼈다..ㅎㅎ

참고 - 리눅스 사용자라면 알아두면 좋은 것들

리눅스 명령 경로 종류

  1. /usr/local/bin
  2. /usr/bin
  3. /bin
  4. /usr/sbin
  5. /sbin
  6. /usr/local/sbin

리눅스 주요 디렉토리

/ : root directory

/bin : binary 약자로 실행파일 모음

/boot: 부팅과 관련된 파일들이 모여있음

/dev : device의 약자로 물리적인 장치들이 파일화 되어 있다.

/etc : 각종 환경 설정 파일들이 모여 있음

/home : 개인사용자들 디렉토리

/lib : 각종 라이브러리 저장 디렉토리

/mnt : CD-ROM, 네트워크 파일 시스템 등을 마운트 할때 사용되는 디렉토리

/proc : 현재 실행되고 있는 프로세스들이 파일화 되어서 저장되는 디렉토리

/root : root계정의 홈 디렉토리

/sbin : System-binary의 약자로, 주로 시스템 관리자가 쓰는 시스템 관련 명령어 프로그램들이 모여있다

/tmp : 임시 저장 디렉토리. 일반적으로 모든 사용자들에게 열려 있음

/usr : 주로 새로 설치되는 프로그램들이 저장된다. '명령어' 보다는 '프로그램'이라고 부르는게 더 익숙한 놈들이 저장된다. 윈도우의 Program Files같은 폴더

/var : 시스템 로그, 스풀링 파일 들이 저장된다. 메일 서버로 운영될 경우 메일이 여기 저장된다

profile
쉽게만 살아가면 재미없어 빙고!

0개의 댓글